← 返回AI教程
🌐 其他

DeepSeek Harness 深度调研报告

来源:掘金 · 发布于 2026-08-21 10:48:26
DeepSeek Harnes
0. 结论先行(太长不看版) DeepSeek Harness(dsh)是什么:DeepSeek 于 2026-08-13 开源的 Agent 运行时框架(MIT 协议,GitHub: deepsee

DeepSeek Harness 深度调研报告

于宏儒 2026-08-21 0 阅读38分钟

0. 结论先行(太长不看版)

  1. DeepSeek Harness(dsh)是什么:DeepSeek 于 2026-08-13 开源的 Agent 运行时框架(MIT 协议,GitHub: deepseek-ai/deepseek-harness),核心理念是"一切皆插件(Everything is a Plugin)"。它的定位不是又一个"编程助手成品",而是一套可自由组装 Agent 的运行时底座。官方公式:Agent = Model + Harness。【VERIFIED - 官方仓库/README】

  2. 它说的"插件"是什么:插件是 dsh 的能力单元,通过底层 Cordis 框架加载。模型适配器、工具注册表、会话存储、沙箱、甚至 Agent 主循环本身,全都是插件。扩展 dsh = 挂一个插件,不存在需要 patch 的"特权核心"。【VERIFIED - 官方仓库/README + The New Stack】

  3. 与 Claude Code 的 Skills/MCP/Subagent/Agent Team 的区别(一句话):Claude Code 是一个成品产品 + 外部扩展点(Skills/MCP/Subagent/Agent Team/Hooks 都是挂在固定核心外的接口);dsh 是把产品本身拆成插件——扩展粒度深入到 Agent Loop 内部。Claude Code 你不能换它的主循环,dsh 可以。【VERIFIED - 多来源交叉一致】

  4. 怎么创建插件:写一个 TypeScript 文件,导出 apply(ctx) 函数,在函数里用 ctx.tools.register(defineTool({...})) 注册工具,再用 dsh web --patch ./cordis.yml 挂载。约 20 行代码即可跑通一个工具插件。【VERIFIED - CSDN DeepSeek 技术社区 + Datawhale 教程 + 掘金实测】

  5. 用 dsh 做项目代码开发需不需要创建插件:基础使用不需要。装好 dsh → 配模型 Key → 选工作区 → 直接对话即可,Standard 预设自带文件、Shell、搜索、计划、子代理、工作流全套能力。需要自定义工具、自定义 UI、换模型适配器时才需要写插件;轻量级的"指令/工作流"用 Skill 就够了,也不用写插件。【VERIFIED - 官方 Web UI 指南 + 多篇实测】

  6. "0.8 版本提到的使用 Claude Code、Codex"是什么意思:RC.8 把 Claude Code 和 Codex 做成了可按需安装的 Profile Bundle,让 dsh 能把它们当子代理调用。也就是:dsh 当调度层,负责拆任务;Claude Code / Codex 当执行层,各自干专业活。前提是你本机装好了这两个 CLI 并已登录(dsh 从 PATH 找二进制)。注意这是"dsh 调用 Claude Code",和另一条路(把 DeepSeek 模型塞进 Claude Code 用)是两回事,别混。【VERIFIED - GitHub Release v0.1.0-rc.8 原文 + 机器之心/新浪科技 + The New Stack】

  7. 重要风险提示:dsh 是 Developer Preview,官方用大写警告"THERE WILL BE COMPATIBILITY-BREAKING CHANGES"(会有破坏性变更)。生产环境使用需谨慎。【VERIFIED - 官方 README】


1. DeepSeek Harness 是什么:定位与工作模式

1.1 基本事实(已核实)

  • 发布时间:2026-08-13,与 DeepSeek-V4-Pro-0813 正式版同日发布。【VERIFIED - VentureBeat / The New Stack】

  • 开源协议:MIT。【VERIFIED - 官方仓库】

  • 技术栈:TypeScript monorepo(约 57 个包组、约 50 万行代码,底层含约 300 行 C11 用于 Linux 沙箱)。【VERIFIED - ArceApps 深度解析文章(基于 GitHub API 数据)】

  • 发布背景:DeepSeek 此前发布 DeepSWE 基准成绩时被社区批评"厂商自报、不可复现",团队承诺开源评测用的 harness——dsh 就是这个承诺的兑现。【VERIFIED - ArceApps,标注为行业解读】

  • 生态热度(引用第三方快照,非官方数据):发布 12 小时约 5 万星(记者 Justin3Go 计时统计);GitHub API 快照显示 8 月 15 日约 95,386 星、8,826 fork(Flowtivity 抓取);另有报道称数日内破 16 万星。【UNVERIFIED - 星数是第三方快照,各来源数字不一致,仅作热度参考】

  • 贡献政策:官方暂不接受外部 PR,引导开发者用 GitHub Discussions 和"写插件"来参与;仓库实行零 Issue 政策。【VERIFIED - 官方仓库 + The New Stack】

1.2 核心定位:Agent = Model + Harness

官方定义很直白:模型是 Agent 的"灵魂",Harness 是让它干活的"身体"——上下文管理、工具调用、任务规划、文件读写、代码执行、权限控制、记忆、重试机制等全在这里。【VERIFIED - 官方 README + 官方 API 文档】

大白话翻译:大模型是一匹千里马,跑得快但不认路、不会拿东西;Harness 就是马鞍、缰绳、骑手。2026 年的行业共识是模型能力趋同,真正拉开差距的是这个"工程外壳"。

1.3 工作模式:四种预设(Preset)

dsh 自带四种"出厂组合",体现"一切皆插件"的组装思想:【VERIFIED - 官方文档 + The New Stack + Prompt Genius】

  • Standard(标准模式):完整编程 Agent。文件系统工具、Shell、文件/网页搜索、Skills、计划、目标、子代理、工作流全都有。日常开发选这个。

  • Code / PTC 模式(编程式工具调用):不把工具一个个暴露给模型,而是生成一个 TypeScript SDK,让模型写一段程序来批量调用工具——原本要 5 轮往返的工具调用压缩成 1 次执行。省 token、省延迟。PTC 模式在 rc.7 中由 "Code mode" 更名而来。

  • Minimal(极简模式):只留 bash + 文件编辑器两个工具,专门用于模型基准测试和受控评测。官方跑 DeepSWE 等基准就是用这个模式。

  • Creator(创造模式):Standard 全家桶 + 运行时检查 + 内存中试验插件 + 预设编写指引。给"造 Agent 的人"用——可以现场组合一套自己的新模式(比如 Code Review 模式、PPT 模式)。

1.4 三种使用入口

  • Web UI:npx @deepseek-ai/dsh web,默认 http://127.0.0.1:3080,浏览器即外壳,会话和日志全在本机。【VERIFIED - 官方文档】

  • Headless CLI:dsh --profile headless "任务",跑一次持久化任务、打印最终答案退出,适合脚本和 CI。【VERIFIED - 官方文档】

  • Python SDK:pip install deepseek-harness-sdk(0.1.0rc6,要求 Python 3.10+),可嵌入 Python 应用,自带运行时(跑它的机器不需要装 Node.js)。【VERIFIED - 官方 + 社区实测】

1.5 模型无关(Model-Agnostic)

模型适配器本身也是插件。官方提供商目录覆盖 DeepSeek、OpenAI、Anthropic、AWS Bedrock、Azure、Google Gemini(文档仍称 Vertex)、Kimi,以及任意 OpenAI 兼容端点(含本地 Ollama、OpenRouter)。换模型 = 换配置,不用重新编译。【VERIFIED - The New Stack + Prompt Genius + 官方文档】

1.6 会话日志:只追加的事件流(Trajectory)

模型看到的一切——系统提示词、推理过程、工具调用、子代理调度、每一次上下文注入——都写入一条只追加(append-only)的会话日志。恢复、分叉、检索、回放、审计全部基于这条事件流。官方把这条原则叫 "model-visible means logged"(凡是进入模型的内容必须能从日志重建)。【VERIFIED - 官方架构文档 + The New Stack】

1.7 安全与沙箱

  • 文件操作分只读 / 工作区写入 / 完全访问三级权限,敏感操作可配置人工审批。【VERIFIED - 官方 + VentureBeat 对比表】

  • 沙箱:Linux 用 Landlock(自研 Node addon,约 300 行 C11),macOS 用 Seatbelt,Windows 用 ACL restricted-token runner。【VERIFIED - The New Stack】

  • 未选工作区时输入框禁用——这是刻意的入口级防护。【VERIFIED - 官方 Web UI 指南 + 实战指南】


2. "插件"到底是什么:插件机制详解

2.1 底层:Cordis 框架

dsh 跑在 Cordis 上——一个插件元框架,作者崔天一(Koishi 聊天机器人框架作者,前 Jane Street 工程师),配套论文《A Programming Paradigm for Spatiotemporal Composability》(时空可组合编程范式,北大与 DeepSeek 研究者合著,88 页)。Cordis 源码被拷进 dsh 仓库的 vendor/ 目录并重命名到 @deepseek-ai scope。【VERIFIED - ArceApps + 官方仓库 + CSDN 技术社区】

Cordis 只做三件事:插件的加载、卸载、依赖管理。核心是"可逆副作用":插件注册工具、监听事件、挂网页路由时同时登记清理动作;插件卸载/重载时把这些注册全部撤掉——热插拔不会留下"旧工具还挂着、监听器越叠越多"的残留。【VERIFIED - ArceApps + 微信技术文章(橙子的AI咖啡馆)】

2.2 写插件只需要懂 5 个概念

【VERIFIED - CSDN DeepSeek 技术社区《DeepSeek Harness 初体验:入门、安装与自定义插件》】

  • 插件(Plugin):一个带 apply(ctx) 的函数,或 Service 子类。框架启动时调用 apply。

  • ctx(上下文):插件唯一入口,一个带作用域的服务容器。插件从里面拿 tools、llm、sessions 等服务,也把自己提供的能力注册进去。每个能力占一个固定 key(ctx.tools、ctx.llm、ctx.sessions)。

  • inject(依赖注入):插件声明"我需要哪些服务",框架等这些服务就绪才挂载它。加载顺序由依赖决定,不由配置顺序决定。

  • 事件(Event):插件间通信。ctx.on('事件名', 回调) 订阅,用 emit / waterfall / parallel / serial 四种方式派发(普通广播、依次改写同一份数据、并行、按序找第一个愿意处理的)。

  • 可逆 effect:一切注册走 ctx.effect() / ctx.on(),插件卸载时自动撤销。

2.3 三种角色:能力缝(Capability Seam)

一个可替换能力拆成三个解耦角色:【VERIFIED - 官方 ADR-0009 + ArceApps + dev.to】

  • 服务定义(Service Definition):约定能力叫什么、数据长什么样(如 dsh-shell)。

  • Provider:真正实现能力(如 dsh-bash-local / dsh-bash-sandbox)。

  • Consumer:使用能力的模型侧工具(如 dsh-tool-bash)。

三部分解耦后,换 Provider 不影响 Consumer 看到的工具 Schema。比如把 Shell 从本地换成远程沙箱,模型无感知。

2.4 两类插件:宿主插件 vs 客户端插件

【VERIFIED - TreeRouter 博客《Build DeepSeek Harness Plugins with Cordis Tutorial》+ 官方包结构】

  • 宿主插件(Host Plugin):Node.js 后端运行,可注册工具函数、读写本地文件、执行 Shell、注入系统提示词。例:自定义文件操作工具、Git 交互插件。

  • 客户端插件(Client Plugin):浏览器前端运行,扩展 Web UI、加侧边栏标签、渲染新界面组件。例:dsh-workspace-enhance(加文件树侧栏)。

硬约束:宿主插件不能操作 DOM;客户端插件不能直接访问本地文件系统;跨环境通信走 dsh 内部事件总线。

2.5 插件的分发格式:Bundle

插件打包成 npm 包,多两样东西:【VERIFIED - TreeRouter + ArceApps + CSDN】

  • package.json 里声明 dsh.bundle 字段(host/client 入口路径)。

  • 附带一份 cordis.patch.yml,告诉 Harness 把插件插到插件树的哪一行。

安装命令:dsh plugin --profile web add <插件包名>,装完必须重启 Harness 服务(插件宿主代码和浏览器代码都在启动时加载,只刷新页面不够)。【VERIFIED - 多篇实测一致】

2.6 "一切皆插件"到底到什么程度

官方列出的可替换清单(官方原文):模型、工具、Skills、会话、沙箱、文件系统、存储、Agent 循环、调度、UI。ArceApps 的评论一针见血:Agent Loop 是插件意味着 dsh 不是"又一个 Claude Code",而是"关于 Agent 运行时该如何结构化以支持自我修改 Agent 的宣言"。【VERIFIED - 官方 README + ArceApps】


3. 如何创建一个插件(完整实操)

以下代码与命令均来自公开教程实测(CSDN DeepSeek 技术社区、Datawhale 教程、掘金、微信公众平台《DeepSeek Harness 插件开发全指南》),以官方包 API 为准。【VERIFIED - 多来源交叉一致】

3.1 环境准备(写 TS 插件需要源码仓库)

日常使用只需 npx @deepseek-ai/dsh web;开发原始 TS 插件需要克隆源码(官方入门文档方式):

 git clone https://github.com/deepseek-ai/deepseek-harness.git
 cd deepseek-harness
 corepack enable
 pnpm install
 pnpm run build        # 不能省略,否则 Web 端缺构建产物、插件不生效

Node.js 版本要求:^22.19.0 || >=24.0.0,实测建议直接用 Node 24(社区实测 v24.19.0)。【VERIFIED - 官方 + 社区实测】

3.2 极简插件:什么都不注册

一个最简插件只有三样东西:

 import type { Context } from '@deepseek-ai/cordis'
 ​
 export const name = 'hello'        // 插件名,仅诊断用,可省略
 export function apply(ctx: Context) {
   console.log('hello from my first plugin')
 }

3.3 工具插件:greet 示例(推荐参考)

 import type { Context } from '@deepseek-ai/cordis'
 import { defineTool } from '@deepseek-ai/dsh-tools'
 ​
 export const name = 'greet-tool'
 export const inject = ['tools']    // 声明依赖工具注册服务
 ​
 export function apply(ctx: Context) {
   ctx.tools.register(defineTool({
     name: 'greet',
     description: 'Greet someone by name.',
     parameters: {
       name: { type: 'string', required: true, description: 'The name to greet' }
     },
     async execute(args) {
       return `你好,${args.name}!`
     }
   }))
 }

模型通过 description 知道工具存在,通过 parameters 的 JSON Schema 知道怎么调用。【VERIFIED - Datawhale 教程 + 掘金】

3.4 挂载到 Web 服务

新建 cordis.yml(或 cordis.patch.yml):

 - insert:
     - id: greet-tool
       name: "/你的绝对路径/deepseek-harness/scratch-plugin/src/greet-tool.ts"

启动:

 pnpm dsh web --patch ./scratch-plugin/cordis.yml
 # 端口冲突时:pnpm dsh web --patch ... --port 3082

验证:设置 → 插件列表确认"已启用",然后在会话里让 Agent 调用 greet 工具,能看到工具调用的输入输出完整展开,插件闭环跑通。【VERIFIED - 掘金 + CSDN 实测】

3.5 生产级插件的硬规则

【VERIFIED - 微信公众平台《DeepSeek Harness 插件开发全指南》(基于 0.1.0-rc.6 源码实测)+ CSDN】

  • 必须用具名导出 name / inject / Config / apply,禁止 default export(出现 default 整个命名空间被折叠,inject 丢失)。

  • inject 只声明硬依赖,可选服务用 ctx.get(name)。

  • Config 必须是 Standard Schema。

  • 工具必须走 defineTool,参数校验、输出 Schema、execute 返回规范 JSON。

  • 密钥永远不要写进 patch——--dump-config 会把配置整份打出来。

  • 排错第一手段:dsh --profile web --dump-config 查看叠加后的生效配置。

3.6 用现成插件(日常更常见)

 dsh plugin --profile web add @dsh-external/dsh-git-workflow   # 示例:Git 工作流插件
 dsh plugin --profile web update                                # 更新全部
 dsh plugin --profile web remove <插件名>                       # 卸载
 dsh restart web                                                # 重启生效

社区插件发现渠道:GitHub topic dsh-plugin;第三方目录 deepseek-harness-plugin.com。注意:装第三方插件前必须审查源码——插件运行在宿主进程里,属于可信代码,能调用工具、运行程序、读工作区。【VERIFIED - 社区共识 + 效率君评测】


4. 与 Claude Code / Codex 扩展机制的对比

4.1 先厘清一个前提

Claude Code、OpenAI Codex 是面向终端用户的成品编程 Agent;DeepSeek Harness 是面向 Agent 构建者的运行时底座。这决定了扩展哲学的差异。【VERIFIED - VentureBeat + The New Stack + 多篇对比文章一致】

4.2 Claude Code 的扩展机制(官方文档口径)

Claude Code 官方文档列出的扩展点:【VERIFIED - Claude Code 官方文档 features-overview】

  • CLAUDE.md:每次会话都加载的持久项目上下文(约定、规则)。

  • Skills:可复用的指令/知识/工作流,Markdown 文件(SKILL.md),可被 /命令 调用或模型自动加载。加载进当前上下文,占用主窗口。2026 年起自定义 slash commands 已并入 Skills。

  • MCP:连接外部服务和工具的开放协议(数据库、Slack、浏览器等),MCP server 提供工具。

  • Subagents:独立上下文窗口的隔离执行者,只把摘要返回主会话,不污染主上下文。

  • Agent Teams(实验性,默认禁用,2026-02 发布):多个相互通信的独立 Claude Code 会话,共享任务列表自我协调,token 成本显著更高。

  • Hooks:生命周期事件(PreToolUse 等)触发的确定性自动化。

  • Plugins:打包层——把 Skills/Hooks/Subagents/MCP servers 打包成一个可安装单元,支持命名空间和 marketplace 分发。

4.3 核心差异:扩展粒度不在一个层级

Claude Code 的扩展 = 在成品外面加接口;dsh 的插件 = 把成品本身拆开。

  • Claude Code 的 Skills/MCP/Subagents/Agent Teams 全部是"绕着一个固定 Agent Loop 打补丁"。你不能换 Claude Code 的主循环、不能换它的会话模型、不能改它的上下文压缩算法——这些是厂商锁死的核心。

  • dsh 的插件可以替换任何一层:模型适配器、工具集、会话存储、沙箱、Agent Loop、调度、UI。ArceApps 的原话:"你可以用自己实现多 Agent 架构的插件替换主循环;在 Claude Code 里这只能靠 fork 仓库"。【VERIFIED - ArceApps】

4.4 dsh 的插件 vs Claude Code 的 Skills/MCP/Subagent/Agent Team

逐项对照(用大白话):

  • dsh 插件 vs Claude Code Skills:Skills 是"教模型怎么干活"的文档(知识/工作流);dsh 插件是"改变系统能力"的代码(注册工具、换适配器、注入系统提示词)。dsh 自己也有 Skill 能力(从项目 .dsh/skills、.agents/skills、用户目录发现 SKILL.md,模型按需加载),它作为插件家族的一员存在,定位与 Claude Code Skills 类似。【VERIFIED - MoClaw + CSDN 技术解析】

  • dsh 插件 vs Claude Code MCP:MCP 是一个跨产品的工具连接协议。dsh 本身就是 MCP 客户端(还支持把 dsh 暴露成 MCP server / ACP),能接同一套 MCP 生态。MCP 是"接外部服务"的一层,插件是"整个运行时的组装单元"——两者不是竞争关系,dsh 用插件把 MCP 客户端能力装进来。【VERIFIED - The New Stack + Prompt Genius】

  • dsh 插件 vs Claude Code Subagent:Subagent 是一种执行模式(隔离上下文干活),dsh 也有 subagent 能力(in-process / fork / ACP / Codex / Claude Code 五种 provider)。dsh 的独特之处是 subagent provider 本身也是插件——这是 RC.8 把 Claude Code/Codex 做成 Profile Bundle 的架构基础。【VERIFIED - CSDN 技术解析 + 官方包结构】

  • dsh 插件 vs Claude Code Agent Team:Agent Team 是多会话协调的执行模式;dsh 的对应物是 Workflow 能力(模型生成受限 JavaScript 编排脚本,在 Worker Thread VM 里跑,可并行启动子代理)。注意:dsh 仓库里也有 "Agent Teams" 包正在孵化(2026-08-18 提交 "incubate Agent Teams packages")。【VERIFIED - 官方仓库提交记录 + CSDN 技术解析】

4.5 一句话总结差异

Claude Code 是一台精密瑞士手表:齿轮不能换,但表盘、表带、表冠给了标准接口(Skills/MCP/Hooks/Subagents/Agent Teams)。 Codex 是硬核工程车:Rust 内核 + 双形态(本地 CLI/云端),扩展走 MCP + AGENTS.md + 配置。 DeepSeek Harness 是一箱乐高:没有成品,全是积木,连"组装方式"本身都可以换。【VERIFIED - 行业对比文章共识】

4.6 已知短板对比(诚实清单)

维度DeepSeek HarnessClaude Code / Codex
成熟度开发者预览版,破坏性变更警告成熟商业产品
托管后台 Agent未提供(官方未文档化)提供
GitHub 原生 PR 工作流未完成集成Claude Code 有 GitHub Actions;Codex 有 Cloud 任务/自动 PR
扩展上手成本高(Profile/Bundle/Patch 概念多)低(一次安装开箱即用)
配置复杂度cordis.yml 组装,patch 整行替换易踩坑配置文件相对简单

【VERIFIED - VentureBeat 对比表 + Prompt Genius + 社区批评("面向造 Agent 的人"而非普通用户)】


5. RC.8("0.8 版本")中的 Claude Code / Codex:含义与操作

5.1 版本澄清

  • 用户所说的"0.8 版本" = v0.1.0-rc.8(2026-08-19 发布,预发布版)。【VERIFIED - GitHub Release 原文】

  • 相关版本时间线:v0.1.0-rc.5(8 月 13 日开源首发)→ RC.7(8 月 17 日,Codex/Claude Code 子代理任务接入 Job Panel)→ RC.8(8 月 19 日,两者升级为可按需安装的 Profile Bundle)。【VERIFIED - 腾讯云开发者社区 + 新浪科技/机器之心】

5.2 RC.8 官方原文(关键一条)

GitHub Release v0.1.0-rc.8 原文(New Features):

Make Claude Code and Codex subagents installable on demand as Profile Bundles, with non-interactive permission modes and named instances for Codex

中文官方发布说明:

Claude Code 与 Codex 子代理均可作为 Profile Bundle 按需安装,Codex 同时支持非交互权限模式和多个命名实例

【VERIFIED - GitHub Release 原文】

5.3 这是什么意思:dsh 把 Claude Code/Codex 变成"可调度的队友"

核心含义(多来源解读一致)【VERIFIED - 机器之心/新浪科技 + KAD + 网易/AppSo + CSDN】:

  1. dsh 变成统一调度层:上层(dsh + 主模型,比如 DeepSeek V4 Pro)负责拆解任务、编排工作流;底层根据任务需要,把 Claude Code 或 Codex 拉进来当子代理干活。架构演进路线:RC.7 先让两者的子代理任务出现在 Job Panel(任务面板),RC.8 再升级为独立 Profile Bundle 按需安装。

  2. 为什么要这么做:不同编码 Agent 各有专长——Claude Code 在复杂推理/大代码库探索上强(SWE-Bench Verified 80.8%,但 token 消耗约为 Codex 4 倍);Codex 执行直接、token 效率高、适合验收标准明确的实现类任务。一个任务里可以"前端样式交给 Claude Code,后端 API 重构交给 Codex,整体编排用 DeepSeek V4 Pro"。

  3. Codex 的两个新能力:

    • 非交互权限模式(non-interactive permission mode):无需人工确认跑完整个流程,适合 CI/CD 和 Harness 批处理。

    • 多个命名实例(named instances):同一台机器可并行配置多个不同用途的 Codex 子代理(不同权限、不同工作目录)。

  4. 配套机制:reportDelivery 让子代理完成任务后主动回报并唤醒父任务;web_search 支持并发查询。

5.4 前置条件(必须满足)

【VERIFIED - The New Stack + Prompt Genius + 社区实测】

  • 本机已安装 Claude Code CLI(npm install -g @anthropic-ai/claude-code)和/或 Codex CLI,并已完成各自的登录认证。

  • dsh 通过解析 PATH 里的二进制实现委托——你自带安装和登录,dsh 只负责调用。

  • 两个子代理 provider 默认禁用,需要在设置/配置里显式启用。

  • 官方还提供 bridges,可把用户现有的 hooks.json(Claude Code/Codex 的)映射到 dsh 的拦截点——官方明说这是"兼容路径,不是更优设计"。

5.5 如何操作(社区已验证路径 + 官方发布说明)

由于 RC.8 的官方 Profile Bundle 安装命令细节在公开资料中尚未统一成文,以下分两条路径说明:

路径 A:官方内置子代理 provider(RC.7/RC.8 已有,需显式启用)

  1. 安装并登录 Claude Code / Codex CLI(PATH 可解析)。

  2. 在 dsh 的 settings.yaml 里找到标准预设中的 codex 和 claude-code 两个 provider 行(默认 disabled: true),去掉 disabled 启用。【VERIFIED - CSDN 用户实测(fating__):"标准预设里赫然躺着 codex 和 claude-code 两个 provider 行,默认 disabled"】

  3. 在会话中让主 Agent 拆解任务并委派给子代理;子代理执行过程可在 Job Panel 查看(RC.7 起支持)。

路径 B:社区插件 dsh-plugin-product-subagents(有完整文档的成熟方案)

这个社区插件把 Codex、Claude Code 和任意 ACP CLI 接到 dsh 的子代理通道,支持"可续聊"子代理(保留远程会话 ID,多轮追加消息):【VERIFIED - 夜雨飘零博客 + GitHub shaokeyibb/dsh-plugin-product-subagents】

 # 要求:PATH 上有至少一个已登录的产品 CLI(claude、codex 或 ACP CLI)
 dsh plugin --profile web add dsh-plugin-product-subagents
 dsh restart web   # 重启后插件才加载

典型用法:会话里让模型调用 product_roles 列出角色库,product_agents 看哪些 Provider 在 PATH 上可用,然后按审查/探索/排障/落地分工派活。持久注册表默认在 ~/.dsh/product-subagents-registry.json(运行时状态,勿提交 git)。注意手动装包要用 pnpm(npm 会覆盖 @deepseek-ai/dsh-tools 符号链接导致工具调用报错)。

5.6 千万别混淆的另一条路:把 DeepSeek 模型接入 Claude Code

官方 DeepSeek API 文档(api-docs.deepseek.com/guides/coding_agents)记载的是相反方向:通过 DeepSeek 提供的 Anthropic 兼容端点(api.deepseek.com/anthropic),把 DeepSeek 模型(deepseek-v4-pro[1m] 等)跑进 Claude Code 客户端里。配置方式是设置 ANTHROPIC_BASE_URL / ANTHROPIC_AUTH_TOKEN 等环境变量。【VERIFIED - DeepSeek 官方 API 文档】

两条路的本质区别:

  • Harness 调 Claude Code(RC.8 的能力):Claude Code 用自己的 Claude 模型/登录,dsh 只调度它。

  • DeepSeek 模型跑在 Claude Code 里:Claude Code 客户端 + DeepSeek 模型 + DeepSeek Key,与 dsh 无关。


6. 用 dsh 做项目代码开发:实践路径

6.1 结论:基础开发不需要创建插件

官方 Web UI 指南和大量实测都确认:日常项目开发走"装 → 配 → 选 → 聊"四步即可,Standard 预设自带完整编程 Agent 能力,无需写任何插件。【VERIFIED - 官方 Web UI 指南 + 阿里云开发者社区 + 效率君评测】

6.2 完整流程(官方推荐路径 + 实测补充)

第一步:安装

 # 要求 Node.js ≥ 22(推荐 24 LTS)
 npx @deepseek-ai/dsh web
 # 或全局安装
 npm install -g @deepseek-ai/dsh
 dsh web

首次运行会从 npm 拉整个运行时(不是轻量脚本),良好网络也要几分钟,期间进程占满一个 CPU 核心、不打印输出属正常现象——别在 60 秒时杀掉。启动后浏览器自动打开 http://127.0.0.1:3080(rc.8 起自动打开,不想自动打开用 dsh web --no-open)。【VERIFIED - 官方 + 社区实测 + 腾讯云解读】

第二步:配置模型

设置 → 模型(Models)→ 填入 DeepSeek API Key(sk- 开头)→ 保存即生效,无需重启。Key 只写进本地凭据文件 $DSH_HOME/.credentials.yaml(默认 ~/.dsh/),界面只显示脱敏描述符。也可以添加 Anthropic、OpenAI、Bedrock、Vertex、Azure、Codex 或自定义 OpenAI 兼容网关。【VERIFIED - 官方 Web UI 指南】

第三步:选择工作区

点击 Choose workspace 添加项目目录并选中。工作区是安全边界——Agent 只能操作你显式添加的目录,未选工作区前输入框禁用。强烈建议项目先用 Git 版本管理,Agent 真的会改文件和删文件,Git 是最后保险。【VERIFIED - 官方指南 + 实战教程】

第四步:发起任务

新建会话直接对话即可,比如"总结这个仓库的结构,找出主要模块"。Agent 能读文件、改代码、跑命令、拆子任务;敏感操作(删文件、危险命令)Web UI 会弹人工审批。界面语言可在设置里切中文。【VERIFIED - 官方指南】

6.3 什么时候才需要插件 / Skill

  • 需要自定义工具(内部工单系统、专有 API、公司网关)→ 写工具插件(见第 3 节)。

  • 需要自定义 UI(侧栏文件树、专属面板)→ 写客户端插件。

  • 需要换模型适配器 / 换沙箱 / 换 Agent Loop → 写插件替换对应能力缝。

  • 只是想把公司规范、代码审查清单、部署流程固化成可复用指令 → 用 Skill(Markdown 文件放进项目 .dsh/skills 或 .agents/skills),不用写插件。【VERIFIED - MoClaw 插件 vs Skill 辨析 + CSDN 技术解析】

  • 想做一个固定能力组合的专用 Agent(如 Code Review 模式、PPT 模式、API 文档助手)→ 用 Creator 模式 + cordis.patch.yml 组合 Preset,团队成员直接用。示例(来自 CSDN 实测):

 # api-doc-agent.cordis.patch.yml
 - id: model-override
   config:
     model: z-ai/glm-5.2
     provider: qiniu
 - id: tool-whitelist
   config:
     allowed: [read_file, bash]
     bash_whitelist: ["node scripts/parse-openapi.js"]
 - id: system-prompt-override
   config:
     sections:
       - id: role
         content: "You are an API documentation specialist. Only read files and run the OpenAPI parser script."

启动:dsh --profile web --patch api-doc-agent.cordis.patch.yml

6.4 效率实测参考(第三方,非官方)

  • 腾讯新闻实测(2026-08-20):简单任务 dsh 能正常完成;复杂任务纠错后完成度也不错。与 Codex、WorkBuddy 对比做 3D 游戏,dsh 交付最快(约 13 分钟)但初期有错误(角色未受绳索约束),指出后修复。【UNVERIFIED - 第三方对比测试,样本小,仅作参考】

  • 搜狐转载的早期尝鲜反馈:单次 Agent 循环平均 3.8 秒(称 Codex 同类任务 1.2 秒)、token 消耗高 35%、新手配置 Skills 需手写 YAML/JSON 双模态配置。【UNVERIFIED - 第三方转述,数字无法核实,谨慎引用】

  • 官方 V4-Pro 定价(2026-08-16 起峰谷定价):V4-Flash 缓存未命中输入 0.14 美元/百万 token、输出 0.28;V4-Pro 输入 0.435、输出 0.87;缓存命中低至 0.0028/0.003625。峰谷窗口 UTC 01:00-04:00 和 06:00-10:00(北京时间 9:00-12:00、14:00-18:00),非峰值半价。【VERIFIED - 官方 API 文档;但注意有独立分析指出相对旧平价体系实际是涨价,见第 7 节】


7. 风险、限制与选型建议

7.1 必须知道的限制(全部有出处)

  1. 开发者预览版:官方 README 大写警告 "THERE WILL BE COMPATIBILITY-BREAKING CHANGES";VentureBeat 明确提示"企业开发者不应把它当作稳定生产平台"。【VERIFIED】

  2. RC.8 存储不兼容:SQLite 后端重构(Schema 升级),旧会话数据无法读取,官方未提供迁移工具;升级前务必备份 ~/.dsh。【VERIFIED - GitHub Release + 腾讯云解读】

  3. npm 版本滞后:截至多篇解读发布时,npm latest 仍是 rc.7,rc.8 走 @next 标签(npm install -g @deepseek-ai/dsh@next)或源码构建(git checkout dsh-v0.1.0-rc.8)。【VERIFIED - 腾讯云解读;另一篇 CSDN 实测 npm install @0.1.0-rc.8 成功,两者并存,建议以官方 Release 为准】

  4. 无托管后台 Agent:官方未文档化 DeepSeek 管理的托管服务(Claude Code/Codex 有)。【VERIFIED - VentureBeat/Prompt Genius】

  5. GitHub PR 工作流未完成。【VERIFIED - Prompt Genius】

  6. 插件安全:第三方插件运行在宿主进程内,属可信代码,能读写工作区、执行命令。安装前必须审查源码、许可证、更新频率。官方立场:不认为官方仓库的包比社区包更权威。【VERIFIED - 官方 + 社区共识】

  7. 配置复杂度:社区精准批评——"一切皆插件"对开发者是卖点,对普通用户意味着配置复杂度;patch 按 id 整行替换而非深度合并,覆盖一行要重述所有键,新手易踩坑。【VERIFIED - 社区对比文章 + CSDN 技术解析】

  8. 价格变化:DeepSeek V4-Pro 2026-08-16 起从平价改为峰谷定价。有独立分析(aitoolsreview)指出:即便"非峰"价,输出价格也是旧平价体系的约 2.28 倍,峰值约 4.55 倍——是实际涨价而非降价。选用 dsh + DeepSeek API 需按实际用量建模。【VERIFIED - aitoolsreview 独立分析,标注为第三方测算】

7.2 选型建议(基于以上事实的判断)

  • 想"装完就干活":选 Claude