跳到主内容

dsh-deep-research

18Star3Fork6Issue0Watching

为 DeepSeek Harness 注册深度研究工具,按控制论+信息论设计自适应闭环:先定义答案空间、再多轮并行研究、自动补充信息缺口,可选对抗性审查。

机审证据5/5方法论数据来源安装命令持续维护DSH 版本风险扫描
机审证据安装命令仓库已核验dsh-plugin Topic许可证READMEAI 百科
语言
TypeScript
License
MIT
分支
main
dsh-plugin

安装

命令web profile
$ dsh plugin --profile web add github:omdsh-dev/dsh-deep-research

在终端中运行以上命令,通过 dsh CLI 安装此插件。可在右上角切换 Profile。 第一次用 dsh?看这篇新手教程

对话式安装

帮我安装 DeepSeek Harness 插件 omdsh-dev/dsh-deep-research:先查看仓库 https://github.com/omdsh-dev/dsh-deep-research 确认安全性,然后执行安装命令并验证插件加载成功。

把这段指令粘贴给 DSH Web GUI 里的助手,由它代你完成安装与验证。

一句话定位

为 DeepSeek Harness 注册一个名为 deep_research 的工具,让模型在面对"调研/对比/文献搜集"类请求时,按控制论+信息论设计的多轮自适应流程自动拆题、并行研究、收尾成稿并可选对抗审查,整套跑在宿主官方 workflow 引擎上、复用内置 web 工具。

核心能力

  • 注册 deep_research 工具,由模型按工具描述自动触发,调用即启动一次完整研究流程(src/index.ts:401-413)
  • 自动定义答案空间与信息维度:先由规划代理声明这份研究要支撑什么判断,再按维度拆解子问题并声明覆盖盲区(src/index.ts:207-240)
  • 多轮自适应研究闭环:第一轮并行研究所有子问题,每轮把高优先级信息缺口自动派发下一轮补充研究,规划盲区会被定向侦察验证而非静默接受(src/index.ts:275-312)
  • 综合子代理按"率失真"原则压缩为带置信度与来源的最终报告,明确保留不确定性与已验证盲区(src/index.ts:335-351)
  • 可选对抗性审查:引用纠错(URL 是否可达/支撑结论)、覆盖度审计、矛盾与过度自信标注(src/index.ts:353-373)
  • 复用官方 workflow 引擎与内置 web_search/web_fetch:零自研编排、零自研网络逻辑,子代理继承宿主工具集(src/index.ts:483-516)

技术实现

  • 语言: TypeScript(ESM,原生 TS 源码,erasable-only 语法约束,无构建步骤即可被 Node 22+ 原生类型剥离加载;编译产物在 lib/types/,package.json#main 也指向那里)
  • 关键依赖: @deepseek-ai/dsh-tools(工具注册)、@deepseek-ai/dsh-workflow(WorkflowMeta 类型与官方引擎)、cordis ^4.0.0-rc.7(插件宿主框架)
  • 架构模式: cordis 插件,export const inject = ['tools', 'workflows'];在 apply 中通过 ctx.tools.register 注册 deep_research 工具,工具执行时通过 ctx.workflows.start 把一段静态工作流脚本(String.raw 字面量,含规划/研究/综合/审查四阶段)提交给官方引擎跑在 worker 线程上;并通过 cordis.patch.yml 把插件行插入 profile 的 bundles
  • 入口文件: src/index.ts(name/inject/apply 导出位于 67-70 / 386-539;运行时被宿主加载)

适用场景

需要就复杂主题写一份带引用、能经得起追问的研究报告的人——比如"调研一下 MCP 生态现状并对比几家主流实现"、"按这份问题清单做选型研究"、"给我一份带文献支撑的 XX 行业分析"。在对话里直接说需求即可,模型会自己判断要不要走 deep_research,并按"用途越明确,答案空间越准"的原则生成更聚焦的报告。

前置依赖与兼容性

依赖最低版本说明
DeepSeek Harness未声明通过 dsh.bundle.patch(cordis.patch.yml)注入到任何在 dsh.profile.bundles 列出本包的 profile;运行时要求宿主已加载 @deepseek-ai/dsh-workflow 提供的 ctx.workflows provider
Node^22.19.0 || >=24.0.0package.json#engines;erasable-only TS 依赖 Node 22.19+ 的原生类型剥离与稳定的 stripTypeScriptTypes
平台跨平台纯 TypeScript,无原生模块;搜索/抓取由宿主内置工具承担,不引入平台特定依赖
原生模块无仅依赖 cordis 与 DSH 官方包;不引入 native binding
官方 web 工具内置必须随宿主可用(web_search / web_fetch 由子代理继承);@deepseek-ai/dsh-tools / @deepseek-ai/dsh-workflow 由 profile 组合提供

安装方式

dsh plugin --profile web add github:omdsh-dev/dsh-deep-research

若 pnpm 把 https URL 重写成 git+ssh(本机全局 git insteadof 配置所致),显式用 git+https://... 形式;如 dsh plugin 提示需要 allowBuilds,按提示在 $DSH_HOME/profiles/<name>/pnpm-workspace.yaml 加一行即可。profile 必须在 dsh.profile.bundles 列出本包才会被注入。

配置项

配置类型说明默认值
subagentProvider字符串子代理 provider 覆盖,传给 workflow run引擎默认 spawn
maxParallel正整数每轮研究子问题并发上限4
maxTotalAgents正整数整次运行子代理总数上限;null/undefined 表示沿用引擎默认引擎上限
plannerModel字符串规划代理使用的模型(建议用强模型)继承父配置
researcherModel字符串研究代理使用的模型(可用便宜模型降本)继承父配置
synthesizerModel字符串综合代理使用的模型(建议用强模型)继承父配置
reviewerModel字符串审查代理使用的模型;未配置时回落到 synthesizerModel继承父配置(缺省回落到综合模型)

模型分级是按 OpenAI 指南设计的:规划/综合/审查吃模型能力,研究代理是"高频低价值"环节可换便宜模型;这是按角色配置而非单模型,覆盖原 profile 路由。

常见问题

Q: 这个插件和官方 .claude/skills/deep-research 是同一回事吗?

A: 不是。前者是 cordis 插件,挂在官方 workflow 引擎上跑,注册模型可见的 deep_research 工具;后者是 skill 体系,由模型按 skill 描述触发。README 与源码都明确两者独立、互不替代,按需选用。

Q: 安装后需要额外配置吗?

A: 不需要。Config 全部可选,按默认值也能跑。最常见的优化是按角色分层模型——规划/综合/审查用强模型、研究代理换便宜模型,能显著降本。

Q: depth 参数到底是几轮?

A: depth 等于研究阶段的最大轮次减一:1=初步(最多 2 轮),2=深入(默认,最多 3 轮),3=穷尽(最多 4 轮)。达到上限就停;更常见的停机条件是某一轮没有新增 high-priority 缺口(边际信息增益≈0)。

Q: 有些 Web Profile 装上后没生效怎么办?

A: 本插件运行时依赖官方 workflow provider(ctx.workflows)。如果 profile 没声明该 provider,loader 会保持 pending;此时要么在 DSH Hub 登记 workflows provider 关系,要么改用已经提供该服务的 profile 组合。

Q: 我已经列好问题了,怎么跳过自动拆解?

A: 把问题清单作为字符串传给 questions(每行一条,或 1./2./3. 编号均可),插件会跳过规划阶段直接进入并行研究;如果第一轮就拿到全部证据,一轮收敛。

Q: 怎么升级和卸载?

A: 升级 dsh plugin --profile <profile> update;卸载 dsh plugin --profile <profile> remove @dsh-external/dsh-deep-research,或者从 profile 的 package.json 移除依赖后再次 update。

上手难度

入门 — 安装一行命令即可使用,所有配置都有默认值;只有想把模型按角色分层降本、或把研究深度拉满到穷尽模式时才需要看 depth/模型配置。

已知问题与限制

  • 必须由 DSH 官方 workflow provider 与内置 web_search/web_fetch 提供运行时能力;若目标 profile 未声明 workflows provider(如部分 Web Profile 组合),loader 会保持 pending(README.md:117-122)
  • 工具入参 topic 不能为空、depth 仅接受 1/2/3,否则在进入 ctx.workflows.start 之前直接抛错(src/index.ts:464-472 / test/regression.test.mjs:516-569)
  • 工具内部判断 result.stopReason !== 'completed' 会抛错,maxTotalAgents 传 0 会被引擎直接判为 INVALID_ARGUMENT——所以 null/undefined 表示沿用引擎默认,绝不写入 0(src/index.ts:394-396 / 521-531)
  • 源码必须保持 erasable-only TS 语法(无 enum/namespace/参数属性),否则 Node 22 的原生类型剥离会响亮抛错(src/index.ts:53-58)

查看使用指南 →

该插件的安装步骤、关键要点、FAQ 与兼容性说明(基于已收录字段派生)。

收录徽章

Listed on deepseek-plugin.org
[![Listed on deepseek-plugin.org](https://img.shields.io/badge/listed_on-deepseek--plugin.org-007EC6)](https://deepseek-plugin.org/plugins/omdsh-dev/dsh-deep-research)

把这段 markdown 粘贴到你的 GitHub README,链接回本插件详情页。徽章只声明已被本站收录,不代表安全认证。

返回插件目录