DeepSeek 不只造模型了:开源 Agent 框架 Harness 上手,一行命令拉起 AI 编程工作台

8 月 13 日晚上,DeepSeek 干了一件出乎所有人意料的事——他们没有发新模型,而是开源了一个 Agent 执行框架。

这个框架叫 DeepSeek Harness(命令行简称 dsh),MIT 协议,TypeScript 编写,GitHub 仓库上线几个小时内星标就突破 3 万。不是又一个 Claude Code 的克隆,也不是又一个 Coding Agent CLI。它的核心理念只有一句话:一切皆插件

官方给出了一个很直白的公式:

模型(大脑)+ Harness(身体)= 智能体(Agent)

意思是:大模型负责推理,Harness 负责执行——读文件、改代码、跑命令、调 API,把模型的文字输出变成实际操作。这正好补上了 DeepSeek 之前只提供模型和 API、缺乏执行层的短板。就在同一天,DeepSeek V4 Pro 正式版也上线了(V4 Flash 上个月我们已经聊过),Agent 能力暴涨近 5 倍。模型 + 框架同日齐发,信号很明确:DeepSeek 要从模型公司变成基础设施公司。

一行命令启动:我实际装了一下

DeepSeek Harness 的上手门槛极低。官方推荐的最快路径是一条 npx 命令:

Bash
npx @deepseek-ai/dsh web

我实际测试了安装和启动流程。环境是 macOS + Node.js v22.22.2(框架要求 ^22.19.0 || >=24.0.0)。

Bash
# 检查 npm 包是否存在
$ npm view @deepseek-ai/dsh version
0.1.0-rc.6

<h1>启动 Web UI</h1>
$ npx @deepseek-ai/dsh web
dsh web: http://127.0.0.1:3080

确实是一行命令就拉起来了。Web UI 启动后默认监听 127.0.0.1:3080,浏览器打开就是配置界面。第一次使用需要做三件事:

  1. Settings → Models 里填入 DeepSeek API Key(或切换到 Anthropic / OpenAI 等其他模型)
  2. Choose workspace 选择一个工作目录(不选的话会话框是灰的,这个设计有点反直觉)
  3. 选好之后就可以开始对话了

如果你不想开浏览器,也可以用 headless 模式跑一次性任务:

Bash
dsh --profile headless "summarize this repo's package layout"

从源码跑也行,适合想改插件或者二次开发的开发者:

Bash
git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
pnpm install
pnpm run build
pnpm dsh web

踩坑提醒:源码安装千万别跳过 pnpm run build 这一步。官方教程里写了,但很多人 clone 完直接 pnpm dsh web 会报错。另外,pip install deepseek-harness 装的是另一个同名但无关的项目(一个 V4 协议适配器),别搞混了——官方路径只有 npx @deepseek-ai/dsh

四种运行模式:不是所有场景都需要全家桶

Harness 预设了四种模式,每种加载不同的插件组合。这个设计比”一个模式打天下”的产品聪明得多——不同任务需要不同工具量级。

模式工具集适合场景
Standard完整工具链(文件编辑/shell/搜索/技能/规划/子Agent/工作流)日常开发、项目重构
CodeStandard 全部能力 + TypeScript 驱动的多步工具编排复杂多步任务、可编程工作流
Minimal仅 Bash + str_replace_editor模型基准测试、轻量调试
CreatorStandard 全部 + 运行时检查/插件试验/预设编写插件开发者、自定义 Agent 预设

Minimal 模式特别值得一提。它故意砍掉所有脚手架,只留一个 shell 和一个文件编辑器,目的是让模型在同等条件下公平比较。大多数厂商巴不得让你在测试时用满全部工具(显得模型强),DeepSeek 反过来提供了一把”公平秤”。这个产品决策挺少见的,说明团队对 Agent 基准测试有自己的思考——工具多了模型可以”作弊”,用搜索找到答案而不是推理出来。

Code 模式也很有意思。传统 Agent 是一次一个工具调用(function call),来回多轮。Code 模式让模型写一段 TypeScript 程序,把多步操作打包成一次调用,减少了往返次数和 token 消耗。对于长链任务——比如”读十个文件、交叉比对、生成报告”——这种模式理论上能把往返次数从十几次压缩到两三次,token 开销显著降低。不过实际效果取决于模型写 TypeScript 的能力,V4 Pro 之前模型的编程水平参差不齐,建议拿到 API Key 后先用自己熟悉的任务场景对比一下 Standard 和 Code 模式的输出差异。

“一切皆插件”到底意味着什么

大多数 Agent 框架的架构是:核心引擎(不可变)+ 插件接口(你只能在这里扩展)。想换 Agent Loop 的实现?不行。想换会话日志的格式?不行。

DeepSeek Harness 把这个边界打破了。它的架构是:

  • 模型适配器 → 插件,可替换
  • 工具注册表 → 插件,可替换
  • 会话日志 → 插件,可替换
  • Agent Loop 本身 → 插件,可替换
  • 系统提示词 → 插件,可替换
  • 沙箱策略 → 插件,可替换
  • UI → 插件,可替换

没有”核心引擎”这个概念。整个 Harness 就是一堆插件的组合。

底层支撑这套架构的是 Cordis——一个由北京大学和 DeepSeek 联合研究的元框架,论文题目叫《A Programming Paradigm for Spatiotemporal Composability》(时空可组合性编程范式)。核心理念是:组件可以在系统运行过程中被加入、删除和替换,同时自动撤销副作用、处理依赖变化。说白了就是热插拔,不需要重启。

实际效果是什么?你可以用 DeepSeek 的框架、Claude 的模型、自定义的工具链,组合出一个完全属于自己的 Agent。甚至可以同时接入两个模型——一个处理简单步骤(省 token),一个处理复杂判断(保质量)。这种灵活度在开源 Agent 框架里目前没有第二家。

不只是 DeepSeek 的模型

这一点容易被忽略:Harness 不绑定 DeepSeek 模型

官方 Provider 目录覆盖了 DeepSeek、Anthropic、OpenAI、AWS Bedrock、Microsoft Azure、Google Gemini,还支持自定义 OpenAI 兼容端点。模型适配器只是另一个插件,换掉不需要改框架源码。如果你手头有 Ollama 或 LM Studio 部署的本地模型,通过自定义 OpenAI 兼容端点接入 Harness,就能搭一套完全离线、零 API 费用的 Agent 工作流。

更有意思的是,Harness 还内置了两个子 Agent 提供者,可以直接委托任务给 Claude Code 和 OpenAI Codex——它会从你的 PATH 里找到这两个工具的二进制文件来调用。默认关闭,需要手动开启。同时还支持读取 Claude Code 和 Codex 的 hooks.json 配置文件作为兼容路径。如果你之前在用 Claude Code 的 fork 工作流,迁移到 Harness 的成本并不高。

每一步都可追溯

Harness 的会话日志是 append-only 的(只追加不修改)。每轮对话中注入的系统提示词、完整的思维链输出、每个工具调用的参数和结果、子 Agent 调度信息、所有注入的上下文——全部记录在案。

这意味着什么?你可以:

  • Fork 一个跑歪的会话:从出问题的那一步分叉,换个参数重跑
  • Replay 一次执行:完整复现之前的结果
  • 按轮次过滤查看:只看工具调用,或只看思维链
  • 调试:出问题时精确定位是哪一步哪个工具的输出有问题

相比之下,很多闭源 Agent 工具把执行链藏在黑盒里,出了问题只能盲猜。Harness 这一点对开发者非常友好——尤其是调试自定义插件时,完整的调用日志能帮你快速定位是插件的输入参数有问题还是模型的理解有偏差。

安全沙箱:别让 Agent 乱来

Agent 能读写文件、执行命令,安全边界很重要。Harness 的沙箱策略根据平台自动选择:

  • Linux:Landlock(通过 Node.js 原生模块实现)
  • macOS:Seatbelt(sandbox-exec)
  • Windows:ACL restricted-token runner

权限策略下,需要审批的操作会在 Web UI 里弹窗确认。你可以配置哪些操作自动通过、哪些需要人工审批。沙箱级别可以从”只允许工作目录内操作”调到”允许读取系统目录但禁止写入”等不同档位。

踩坑提醒:Harness 目前拒绝 --host 0.0.0.0 绑定,只允许 127.0.0.1。这是故意的——它定位是本地工具,不是多用户服务。想远程访问的话,用 SSH 隧道别改绑定地址。另外,社区插件增长很快(内测几天就出了约 300 个),安装第三方插件前务必读源码,别在存有生产凭据的机器上裸跑。

和 Claude Code 比怎么样

这是大家最关心的问题。我的判断是:现阶段 Harness 不是 Claude Code 的替代品,而是一个可定制的底座

维度Claude CodeDeepSeek Harness
开源MIT 协议
模型绑定Anthropic 系列任意模型(DeepSeek/Claude/GPT/Gemini/自定义)
可定制性有限(hooks/配置)极高(一切皆插件)
稳定性生产级开发者预览(明确警告会有破坏性变更)
社区生态成熟起步阶段(300+ 插件,增长快)
会话可追溯部分完整 append-only 日志
上手门槛低(npx 一行启动)
适合人群想开箱即用的开发者想深度定制 Agent 工作流的开发者

如果你的需求是”装一个工具马上开始写代码”,Claude Code 仍然是更稳的选择。如果你想自己控制 Agent 的每一个环节——用哪个模型、怎么调度工具、怎么记录会话——Harness 给了你这个自由度。

结合 AI 编程工程化的趋势来看,Agent 框架正在从”封闭产品”走向”可组合基础设施”。DeepSeek 这次开源的不是一个模型,而是模型和真实工作环境之间的那层执行层——这层东西之前只有 Claude Code 和 Codex 有,现在开源了。

我的建议

适合现在上手的人:有 Agent 开发经验、想深度定制工作流、手里有多个模型 API Key 的开发者。Harness 的插件架构和会话日志对这类用户价值最大。

建议再等等的人:只想要一个开箱即用的编程助手的开发者。Harness 目前是 v0.1 开发者预览版,README 大写警告”会有破坏性变更”,API 还没稳定,每次更新可能要改配置。等它进入 v1.0 稳定版再上手也不迟。

不建议使用的场景:生产环境直接部署。本地工具定位 + 开发者预览版 = 别拿生产数据冒险。如果你的代码仓库有生产凭据,至少先把沙箱策略调到最严格档位。

另外提醒一句:DeepSeek V4 Pro 和 V4 Flash 的 API 价格 8 月 17 日 0 时起大幅上涨(采用峰谷定价),如果你打算用 Harness + DeepSeek 模型跑大量 Agent 任务,趁这几天价格还没涨先测一轮,记录下 token 消耗量,算清楚成本再决定是否长期使用。


参考来源

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

推荐阅读

  • DeepSeek 不只造模型了:开源 Agent 框架 Harness 上手,一行命令拉起 AI 编程工作台

    DeepSeek 8月13日开源 Agent 框架 Harness(dsh),MIT 协议,一切皆插件架构,一行 npx 命令启动本地 Web UI。本文实测安装启动流程,教你配置模型、选择四种运行模…

  • NVIDIA 终于下场做模型了:Nemotron 3.5 Lightning + NeMo Switchyard,Agent 账单砍掉七成怎么做到的

    NVIDIA 发布开源 Agent 模型 Nemotron 3.5 Lightning(30B MoE,3B 激活,OpenRouter 有免费层)和模型路由库 NeMo Switchyard(Apa…

  • Claude Code 的多个终端终于能互相发消息了:跨会话消息上手指南

    Claude Code v2.1.224 在 macOS 与 Linux 上新增跨会话消息:多个独立终端里的 Agent 可以互相发现、发送文本。本文带你升级 CLI、用 /list-agents 查…

  • 蚂蚁百灵 Ling-3.0-flash 开源了:124B/5.1B MoE,单台 DGX Spark 能跑,开发者怎么接?

    如果你最近已经被国产大模型的“八周五连发”轰炸得有点麻木,那蚂蚁集团 8 月 7 日这条消息还是值得单独拎出来说:旗下百灵大模型团队把新一代原生混合推理模型 Ling-3.0-flash 的权重正式放…