DeepSeek 把模型的“马具“开源了:拆解 Harness

文章目录

DeepSeek 把模型的"马具"开源了:拆解 Harness

2026 年 8 月 12 日深夜,DeepSeek 发了 V4 Pro 正式版。十几个小时后,又开源了一个东西------不是模型,也不是一个能直接聊天的 App,而是一套叫 DeepSeek Harness (命令行叫 dsh)的 Agent 底座。MIT 协议,随便用随便改。

这事有个背景:过去一年大家发现,同一个模型,配上不同的工具、不同的调度逻辑,做出来的 Agent 表现能差一大截。Claude Code 和 Codex CLI 好用,不只因为背后的模型强,还因为模型外面那层"壳"做得好。这层壳有个正式名字,就是 Harness(驾驭框架)。

先说清楚:Harness 是什么

Harness 这个词本义是"马具"------套在马身上、让人能驾驭马的那套缰绳和鞍具。放到 AI 这里,意思很形象:模型是马,Harness 是那套马具。光有马跑不了车,光有模型也干不了活。

模型自己只会一件事:接收文字,输出文字。它不能读文件、不能跑命令、不能上网、记不住昨天聊了什么。让它变成能干活的 Agent,中间需要一整套东西:

  • 工具:让它能读写文件、跑终端命令、联网搜索
  • 循环:干完一步看结果、决定下一步干什么,直到任务完成
  • 上下文管理:对话太长怎么压缩、怎么记住关键信息
  • 权限和安全:删文件之前要不要拦一道、要不要人批准
  • 记录:出了问题能不能回放、能不能从断点恢复

这一整套"马具",合起来就叫 Harness。官方给的等式很直白:Agent = 模型 + Harness。模型决定能力上限,Harness 决定上限能兑现多少、花多少钱。

Claude Code、Codex CLI 这些产品,本质都是"Claude/GPT 模型 + Anthropic/OpenAI 自家的 Harness"。它们的马具和模型捆在一起卖,你只能整套用。DeepSeek 这次干的事:把马具单独开源出来 ,MIT 协议,地址在 github.com/deepseek-ai/deepseek-harness,目前快 10 万多 star。

它到底是什么

dsh 不是一个做好给你用的 Agent,而是一套"造 Agent 的零件底座"。官方口号是 一切皆插件(Everything is a Plugin):

  • 调哪个模型?插件,可换。
  • 有哪些工具(终端、文件、搜索)?插件,可换。
  • 在哪执行(本机还是远程沙箱)?插件,可换。
  • 出事了要不要人工审批?插件,可换。
  • 界面长什么样?也是插件。
  • 连"Agent 怎么一步步干活"的循环逻辑本身,都是插件,可以整个拔下来换掉。

跟 Claude Code 的区别一句话说清:Claude Code 是成品车,dsh 是底盘加一堆可换零件,自己组装。

十分钟上手

装好 Node.js,一行命令:

bash 复制代码
npx @deepseek-ai/dsh web

浏览器打开 http://127.0.0.1:3080,就能用了。想看它到底加载了哪些插件:

bash 复制代码
dsh --profile web --dump-config

从源码跑:

bash 复制代码
git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
pnpm install && pnpm run build && pnpm dsh web

框架自带四种模式,其实就是四组配好的零件组合:

模式 装了什么 干什么用
标准模式 文件读写、终端执行、联网搜索全套工具 日常开发、长任务
PTC 模式 让模型写代码批量调工具 流水线、批量清洗、自动化测试
极简模式 只有一个 shell 工具 + 一个文件编辑工具 跑分、测试(V4 Pro 的官方成绩就是这模式跑的)
创造模式 可以当场拆装插件 开发插件、自己攒新模式

四种模式不是死开关,是"预设"。在创造模式里可以把零件拆了重组,攒出官方没有的新模式------已经有人让 dsh 给自己加装了一个官方界面里没有的"三栏模式"。Agent 给自己改装,原理就这么朴素:它的能力清单也是运行时里的一段配置。

它怎么跑任务:turn 和 step

两个词就够用了。**turn(轮)**是你交给它的一整个任务;**step(步)**是它干的一次活:请求一次模型、调用一批工具。一个 turn 里有很多个 step,模型觉得活干完了,turn 结束。

每一步都会发出一串事件:请求模型 → 模型回复 → 调工具 → 工具返回 → 这一步结束,进入下一步。插件想管事,就在事件上挂钩子:

  • 这一步要不要人工批准才能跑?挂在 step 开始前。
  • 工具要删文件、要联网?执行前拦一道。
  • 想记录每一步花了多少 Token?挂在事件流上。

还有一条硬规矩:模型看到的一切,都必须能从日志里重建。所有事件写进一份只追加、不修改的日志,中途崩了能从日志恢复,跑完能回放检查,还能从中间某一步分叉出一条新会话重来。不会出现"实际跑的和记录的对不上"这种鬼问题。

换零件不用改代码:叠被子式配置

dsh 的配置是一层层叠上去的,像叠被子,后一层盖住前一层:

最底下是空白;往上装别人打包好的插件包(Bundle);再盖上你存的预设组合(Profile,官方自带 web 和 headless 两个模板);再盖你自己机器上的个人设置;最顶上是命令行里的临时改动。

想换模型、换工具、换沙箱,不动代码,改任何一层的配置就行。比如把"文件系统"和"子进程"这两个零件指向远程沙箱,Bash、终端、代码分析这些依赖它们的能力会自动跟着搬过去,不用一个一个改。

省 Token 的 PTC 模式

标准模式有个毛病:模型每调一次工具,结果都要塞回上下文。任务一长,Token 账单跟着轮数往上涨。

PTC 模式换了个思路:模型不再一轮一轮地调工具,而是一次性写一段 TypeScript 代码,把要调的工具全编进程序里,交给运行环境去执行。中间数据留在运行环境里,只有最终结果回到模型眼前。

工具调得越密、任务越长,这个模式省得越多,适合 CI/CD 流水线、批量数据清洗、自动化测试这类活。代价是模型得把代码写对------写错了不好中途纠偏,好在可以整体重试。

现在该不该用

几句实在话。

想马上干活:Claude Code 这类成品仍然更顺手,dsh 目前是开发者预览版(v0.1),官方 README 用大写字母写了"会有破坏兼容的变更"------今天写的插件,下个月可能就得重写。别往生产环境上。

想造自己的 Agent 产品:值得认真研究。权限、恢复、长任务、远程执行这些容易被演示产品糊弄过去的地方,它在架构层提前拆好了边界。技术栈是 TypeScript,支持 OpenAI 兼容端点和 MCP 协议,也有 Python SDK。

想学"模型外面这层壳怎么造":源码可以直接读。三个月一万两千多次提交,代码量大但结构切得干净。

生态:开源当天就有第三方插件冒头,做上下文压缩、跨会话记忆这些官方留白的硬骨头。插件多到什么程度、治理得好不好,决定了这套东西的长期价值------这个只能等时间给答案。

相关推荐
全栈弄潮儿²⁰²⁴4 天前
AI Agent 开发实战(30):限流、缓存与成本控制
人工智能·gpt·缓存·agent·限流·agi·成本控制
墨心@4 天前
user-memory 运行分析报告
自然语言处理·agent·harness
LorryJovens4 天前
【LAAP科研】双系统具身AGI范式研究——基于LAAP认知架构与Jev概率决策模型的系统性技术调研与范式验证
人工智能·gpt·安全·架构
徐健峰4 天前
Windows 安装 Codex CLI 教程:npm 安装、首次登录与常见报错排查【无图精华版】
人工智能·gpt
CODER03044 天前
ubuntu22.04部署完整deepseek局域网web服务全过程(RTX5090安装黑屏+web端多人并发)
pytorch·webui·ubuntu22.04·ollama·deepseek·rtx5090·自然语言模型
华科大胡子4 天前
DeepSeek Harness 开源贡献手记:从入门到合入主线
deepseek
Together_CZ5 天前
DeepSeek-V4.1-Flash:Pushing the Limits of KV Cache Compression——推动 KV 缓存压缩的极限
缓存·llm·compression·kv cache·deepseek·v4.1-flash·推动 kv 缓存压缩的极限
Blockbuater_drug5 天前
写个 SKILL.md,还是配个 MCP server? Agent 能力扩展的两条路线——原理、操作、效果与四大架构配置选型
mcp server·agent skills·渐进式披露·skill.md·token 优化·dsh·功能选型
roamingcode5 天前
DeepSeek Harness 记忆召回插件的“PRD”设计拆解
agent·memory·deepseek·harness·dsh·dsh-plugin