2026 年 8 月 13 日,DeepSeek 又上了一次热搜。
这次大家点进去,一边期待新模型、新跑分、新的"价格屠夫",一边已经准备好了骂美国 AI 公司的弹幕。结果翻了半天:没有新模型。 发布的是一个叫 DeepSeek Harness 的东西,简称 dsh,MIT 协议,npm 一行命令就能跑。
然后它就火了。媒体报道开源头 12 小时 GitHub star 涨到 5 万左右,社区插件仓库一天内冒出几百个。我的第一反应是:一个"脚手架"凭什么?
于是又一个"从入门到放弃"系列诞生了。
一、先搞清楚:它不是模型
很多人搜 "DeepSeek Harness",期待的是模型评测,看到的却是一堆 npm、Node.js、插件之类的词,当场懵掉。
DeepSeek 团队自己给了一个公式:
Model + Harness = Agent
模型只会生成文本。要让它真正干活,比如读写文件、跑 shell 命令、搜网页、维护计划、处理报错、判断任务做完没有,都需要一层"马具"把它套到真实世界里。这层马具就是 harness。
只负责推理"] --> H["🐴 Harness
负责其余一切"] H --> F[文件读写] H --> T[终端执行] H --> W[网页搜索] H --> C[上下文管理] H --> P[任务规划] H --> S[调用其他 Agent] F & T & W & C & P & S --> A["🤖 Agent
能干活的东西"]
你天天用的 Claude Code、Codex,本质上也是"模型 + harness",只是它们把 harness 做成了打磨好的闭源产品。DeepSeek 这次是把 harness 这一层单独拎出来开源了。
顺便说一句,它不绑定 DeepSeek 模型。默认跑 DeepSeek V4.1 Flash,也可以通过 OpenAI 兼容接口接别家的模型。
二、一切皆插件:连主循环都能拔
dsh 的核心主张写在 README 第一行:Everything is a plugin。
一般框架说"支持插件",意思是有个坚固的内核,外面留几个扩展点让你挂工具。dsh 不一样,它没有特权内核。下面这些全是插件:
- Agent 主循环(loop)
- 模型适配器
- 工具注册表
- 技能(skills)
- 会话存储
- 沙箱
- 调度
- 甚至 Web UI 本身
底层引擎叫 Cordis,设计来自北大和 DeepSeek 合作的论文《A Programming Paradigm for Spatiotemporal Composability》(时空可组合性的编程范式)。名字很学术,核心思想其实就两句话:
- 注册即副作用:插件往运行时里注册的任何东西,都会被记成一个"副作用"。
- 卸载即回滚:插件卸载时,它带来的所有副作用都会自动撤销,不留脏状态。
这里有个很漂亮的职责分离:插件负责"有什么能力",预设(preset)负责"这个 Agent 能看到哪些能力"。
做过权限系统的同学应该会心一笑:这就是把"能力注册"和"授权策略"拆成两层。以前我们在 prompt 里苦口婆心地写"请不要删除生产数据库",现在可以直接不给它这个能力。
三、四个预设:同一个内核,四种性格
dsh 自带四个 preset,每个加载的插件组合不同:
| 预设 | 能力 | 适合场景 |
|---|---|---|
| Standard | 完整编程 Agent:文件编辑、shell、搜索、技能、规划、子 Agent、工作流 | 日常默认 |
| Code(PTC) | Standard + Code Mode SDK,模型写 TypeScript 程序来组合多步工具调用 | 复杂编排,但副作用会成倍放大 |
| Minimal | 只有持久 bash + str_replace_editor | 复现跑分 |
| Creator | Standard + 运行时检视,Agent 能在对话中途装、换、删插件 | 开发插件、做实验 |
两个值得注意的点:
- Minimal 就是跑分用的那个考场。 DeepSeek V4 Flash 在 Terminal-Bench 2.1 上的 82.7 分,官方文档写明是在 dsh 的 minimal 模式下跑出来的。以前各家的 agentic 跑分,考场都是黑盒;现在考场开源了,谁都能复现,也谁都能打脸。
- Creator 模式下,Agent 能改装自己。 媒体说的"Agent 还能改装自己"就是指这个。听起来很赛博朋克,但请把它当实验环境,别当生产环境。
四、Trajectory:Agent 的 DevTools
如果只能挑一个功能来夸,评测圈几乎一致选 Trajectory。
dsh 的每次运行都会写入一份只追加(append-only)的会话日志,格式是 zstd 压缩的 JSONL,每条事件结构统一:type、seq、time、data。模型看到的所有东西都会被记下来:系统提示词、推理过程、工具调用和结果、子 Agent 调度、上下文注入。
更关键的是,这份日志能续跑、分叉、搜索、回放。
以前 Agent 做歪了,我们的操作是:叹气,清空上下文,换个说法重新问一遍,然后祈祷。现在可以精确定位到它从哪一步开始跑偏,只改那一处,再跟原来的运行并排对比。
调 Agent 终于从玄学变成了对照实验。
五、为什么呼声这么高
我总结了四个原因,叠在一起就成了爆款:
1. 品牌加跑分的信任背书。 DeepSeek 自家模型的 agentic 成绩就是在这个 harness 里跑出来的。开源 harness 等于开源了"考场",这是一种很硬气的姿态。
2. 戳中了 Agent 开发者的集体痛点。 2026 年做 Agent 的团队大概都经历过:换个模型,重写一遍工具注册;换个场景,重写一遍主循环;想加个断点续跑,发现状态散落在七个模块里,谁也不敢动。loop、工具调度、上下文、session、沙箱,每家都在重复造轮子,还造得各不相同。dsh 的回答是:全拆成标准件。
3. 透明度是刚需。 有篇分析总结得很到位:LangChain 那一代框架是为了降低开发 Agent 的复杂度,dsh 是为了降低调优 Agent 体验和成本的复杂度。插件拆得越细,黑盒越少,优化空间越大。
4. 极度开放。 MIT 协议,不绑模型,而且它的子 Agent 提供方里居然有 Codex 和 Claude Code。也就是说,dsh 可以把活派给它的直接竞品。这种"我当包工头,你们都来给我打工"的格局,确实很 DeepSeek。
六、冷水时间:入门之后,放弃之前
按照本系列的优良传统,夸完了就该泼冷水了。
1. Token 开销不小。 有人实测,只是让它回复一句"PONG",首次请求就吃掉了约 13,467 个输入 token。这些都是默认系统提示词、工具 schema、自动注入的仓库规则和技能摘要。一个简单的写文件任务产生了 61 条会话事件。全程可观测是有代价的,你能看清每一分钱花在哪,但钱确实花了。
2. 预发布到底。 截至 10 月初,npm 上最新的是 0.2.0-rc.2,所有版本都是 prerelease。README 用大写字母警告:会有破坏兼容性的变更。今天写的插件,下个月可能就跑不起来了。
3. 有"过度抽象"的争议。 有人批评,把 Agent Loop 和 Memory 这种性质完全不同的组件压平成可以随意装卸的插件,是一种过度抽象。这个争论我觉得两边都有道理:微内核架构从诞生起就伴随着"灵活性 vs 复杂度"的争论,Linux 和 Minix 当年也吵过。
4. 粗糙的边角还很多。 Windows MSYS2 下静默失败、热重载缓存不更新、GitHub Issues 被关闭(官方让大家去 Discussions 反馈),MCP 也还不是默认路径。开箱体验跟 Claude Code、Codex 这些打磨好的产品比,还有明显差距。
一句话:它现在更像一副好骨架,而不是一个成品。
七、范式变革:从"Agent 产品"到"Agent 运行时"
抛开热度,dsh 真正值得讨论的是它代表的方向。
我认为会有三个变化:
1. 竞争焦点从模型转向生态。 类比一下:VS Code 赢的不是编辑器本身,而是插件市场。dsh 的长期赌注也是让 harness 而不是模型成为生态中心。截至 10 月初,GitHub 上打了 dsh-plugin 标签的仓库已经过万。
2. 能力和授权分离会成为标配。 "装了什么"和"能用什么"分成两层配置,这对企业级 Agent 太重要了。对金融行业的人来说,能在配置层面审计一个 Agent 的能力边界,比在 prompt 里写一百条"禁止"靠谱得多。
3. 跑分必须标注 harness。 同一个模型,换个 harness、换个 preset,成绩就可能差一大截。以后看到任何 agentic 跑分,第一个问题应该是:"在哪个 harness 的哪个 preset 下跑的?"拿 A 模型的 Standard 成绩去比 B 模型的 Minimal 成绩,就是在比两个变量。
但请冷静:产品式 Agent 不会因此消失。 大多数人要的是开箱即用,而不是一副需要自己组装的骨架。两者更可能长期共存:成熟产品负责好用,运行时负责可控和可定制。
八、支付人的视角:这不就是 Saga 吗?
写支付系统的人看 Cordis 的设计,会有一种强烈的既视感。
Saga 的核心是每一步正向操作都自带补偿操作,所以长事务失败了也能回到一致状态。Cordis 的核心是每一次注册都是一个可撤销的副作用,所以插件卸载后运行时也不留脏状态。
两者是同一个思想在不同领域的投影:组合越复杂,越需要每个单元都能干净地撤销自己。
这也解释了为什么 dsh 敢让 Agent 在 Creator 模式下中途改装自己:换零件不会把整台机器搞坏。我们做支付系统时那句老话,"没有回滚方案的变更不准上线",在这里被做成了框架级的约束。
九、实战:怎么用 dsh 组织自己的工作
9.1 先跑起来
# 需要 Node.js 22.19+
npx @deepseek-ai/dsh web
# 默认打开 http://127.0.0.1:3080进去之后在 Settings → Models 填 API key,然后必须选一个工作区,否则输入框是锁着的。Mac 和 Windows 用户也可以直接装 10 月初发布的桌面版(0.2.0-rc.2);Linux 用户老老实实走 npm。
9.2 先划红线
做金融的同学请把这句话抄三遍:公司代码在没有确认合规之前,不要接任何会把数据发往外部 API 的 Agent。
dsh 在本地运行,但模型调用会出网。数据出境、供应商审批这些问题,先找安全和合规部门拿到明确口径。个人项目随便折腾,生产代码请克制。
9.3 把它当"内核",而不只是编程助手
这是 dsh 跟 Claude Code 最不一样的地方。它有五个入口:
日常交互"] DSH --- D["桌面 App
开箱即用"] DSH --- H["Headless
dsh --profile headless '任务'"] DSH --- PY["Python SDK
JSON-RPC stdio 驱动"] DSH --- DC["--dump-config
打印插件树"] H --> CRON[定时任务 / CI] PY --> APP[你自己的应用]
如果你正在写自己的任务自动化工具,与其从零造 loop、工具调度和会话持久化,不如认真评估一下:把 dsh 当执行内核,自己的应用只负责任务编排和触发。 headless 模式适合定时任务,Python SDK 适合嵌进已有的数据流水线。
9.4 用 Trajectory 沉淀工作规则
Agent 做歪了,别急着清空重来:
- 打开 Trajectory,找到它开始跑偏的那一步;
- 从那一步 fork;
- 只改一条规则或一个 skill;
- 并排回放,看效果。
坚持一段时间,你会积累出一套经过对照验证的规则和 skills。它们才是真正的资产,而且可以迁移到任何 harness 上。
9.5 写一个自己的插件
理解 Cordis 最快的方式就是写一个插件。从你每天重复最多的动作开始:按固定格式生成某类文档、查询某个本地数据源、调用某个内部脚本。社区已经有任务看板、移动端远程、SSH 运维之类的插件,照着抄,不丢人。
9.6 分工而不是替换
我推荐的组合:
Claude Code / Codex"] T -->|批量 / 定时 / 低成本| D1["dsh headless"] T -->|调优 / 对照实验| D2["dsh Minimal + Trajectory"] T -->|定制工作流| D3["dsh + 自研插件"] D1 & D2 & D3 -.需要时.-> P
dsh 能把 Claude Code、Codex 当子 Agent 调用,所以这不是二选一,而是排兵布阵。
十、总结:从入门到放弃
入门:DeepSeek Harness 是一个"一切皆插件"的 Agent 运行时。主循环能拔,能力和授权分离,每一步都能回放和分叉。它把 DeepSeek 跑分用的考场开源了,也把 Agent 工程的竞争焦点从模型推向了运行时和生态。
放弃:它现在是 0.2 的 RC 版,配置随时会变,token 开销不低,开箱体验不如成熟产品。把重要流程绑死在某个版本上,大概率会在某个周一早上体会到什么叫"破坏性变更"。
我的姿势:学它的设计,用它跑非关键任务,把在 Trajectory 里验证过的规则沉淀下来。等它 1.0 了,你已经是半个插件作者了。
至于我?已经在 Creator 模式里看着 Agent 把自己的 loop 插件卸了。
它停了。
我也该睡了。
参考资料
- GitHub 仓库:https://github.com/deepseek-ai/deepseek-harness
- 官方文档站:https://deepseek-harness.github.io/deepseek-harness/
- OrcaRouter《DeepSeek Harness, Explained》:https://www.orcarouter.ai/blog/deepseek-harness-explained
- HPCwire《DeepSeek Open-Sources the Missing Layer Between AI Models and Agents》:https://hpcwire.com/bigdatawire/2026/08/14/deepseek-open-sources-the-missing-layer-between-ai-models-and-agents
- 阿里云开发者社区《一切皆插件之后,Agent 工程的新范式》:https://developer.aliyun.com/article/1756597
- 论文:A Programming Paradigm for Spatiotemporal Composability