outnever/dsh-research-first ↗★ 0
dsh-research-first
Research-first assistant for DeepSeek Harness: gently nudge the agent to investigate docs / code / community before edits, detect blocked research, and record every hint in the session log.
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:outnever/dsh-research-first说明文档
阅读完整 README ↗dsh-research-first
开发前「调查优先」助手插件(DeepSeek Harness,简称 DSH)。
让 agent 在动手改代码前,先做一次低成本的确定性调查——但不硬拦,避免"查不到就卡死"(因噎废食)。
未调查就想 write/edit/bash
│
▼
软引导:放行 + 注入一条提醒(模型可见、写入会话日志)
│
查证受阻(web_search 失败 / GitHub 不可达)
│
▼
提醒用户受阻原因,可询问是否继续 —— 全程留痕,可追溯
为什么需要它
LLM 编程有三个真实顽疾,且互相叠加:
| 顽疾 | 表现 |
|---|---|
| 动手前靠猜 | 需求/API 没查清就 write,凭记忆而非事实改代码 |
| 边踩雷边改 | 连续失败不回头,反复瞎试,忽略社区已知的 workaround |
| 用过时知识 | 记忆里的版本/端点已失效,按旧写法改新项目 |
核心洞察:一次便宜的查询,换掉一次昂贵的返工。
设计理念
把「查证」做成优先尝试 + 无感引导 + 受阻提醒 + 全程留痕,而不是极端的必要条件。
为什么不硬拦? 现实中存在查证不可行的场景(如内网环境、网络受限、无官方文档)。如果"查不到就终止开发",就是因噎废食。所以默认软引导——提醒但不阻断,把选择权留给 agent 和用户。
| 行为 | 说明 |
|---|---|
软引导(默认 remind) | 未调查就想修改 → 不拦截,注入提醒(模型可见 + 进会话日志) |
| 查证受阻检测 | 调查工具(web_search 等)失败 → 提醒"查证受阻,可询问用户是否继续" |
| 调查规范注入 | 往 systemPrompt 加"黄金调查姿势":带版本查、先找官方途径、受阻时说明 |
| 踩雷提醒 | 连续失败后,提醒先查社区反馈(GitHub issues) |
| 全程留痕 | 所有提醒以 plugin-sourced 消息写入会话日志,可追溯、可回放 |
需要硬约束时,把 intensity 改成 warn(挂审批)或 block(拒绝)即可。
与同类插件的定位差异
| 插件 | 定位 | 与本插件的区别 |
|---|---|---|