什么是 DeepSeek Harness
2026年8月13日,DeepSeek 在发布 V4 Pro 正式版的同一晚,突然以 MIT 协议开源了一个名为 DeepSeek Harness(简称 DSH,命令行工具名 dsh)的项目。上线不到24小时,GitHub Star 数突破8万,成为2026年开源社区最受关注的 AI 基础设施项目之一。
DeepSeek 在招聘时提出过一个公式:
Agent = Model + Harness光有模型,它只会跟你聊天;加上 Harness,它才能读你的代码、跑你的命令、改你的文件、搜索网页、调度子任务——直到把一整件事办完。模型是灵魂,Harness 是让灵魂能在你电脑上动手的那具身体。
简单来说,DeepSeek Harness 是一个让大语言模型变成真正可用 Agent 的运行框架。它替模型记住上下文、调用工具、在文件和终端之间跑腿,把模型从一个「只能对话的聊天机器人」变成一个「能干活的智能体」。
与传统评测框架的区别
需要特别澄清一个概念混淆:在 AI 领域,"Harness" 一词有两种含义。一种是评测框架(如 lm-eval-harness),用于在 MMLU、GSM8K、HumanEval 等基准上测试模型性能,不执行具体业务任务。另一种是 Agent 运行框架,如 DeepSeek Harness,它让模型能够在真实环境中执行任务。
DeepSeek Harness 属于后者——它不「出考卷打分」,而是让模型在真实开发环境中干活。
定位:对标 Claude Code 和 Codex
DeepSeek Harness 的直接竞品是 Anthropic 的 Claude Code 和 OpenAI 的 Codex。但 DSH 走了一条截然不同的路:
| 特性 | Claude Code | OpenAI Codex | DeepSeek Harness |
|------|------------|--------------|------------------|
| 开源协议 | 闭源 | 闭源 | MIT 开源 |
| 模型绑定 | Anthropic 模型 | OpenAI 模型 | 任意模型可替换 |
| 工具能力 | 固定工具集 | 固定工具集 | 一切皆插件 |
| 界面可改 | 不可改 | 不可改 | UI 也是插件 |
| 价格策略 | 模型+外壳一起卖 | 模型+外壳一起卖 | 外壳免费开源 |
DeepSeek 的策略很清晰:把 Agent 外壳这一层拉平为公共品,让竞争回到模型本身的能力和价格上——而那正是 DeepSeek 的主场。
核心架构:一切皆插件
DeepSeek Harness 最核心的设计理念只有一句话:Everything is a Plugin(一切皆插件)。
这意味着框架中的每一个能力模块都是可插拔、可替换的:
Cordis 微内核
这一切的基础是 Cordis——一个从 Koishi(国内老牌 QQ 机器人框架)中抽取的微内核,作者是 GitHub 上的 Shigma。Cordis 只管三件事:
Cordis 本身不提供任何 Agent 能力,它是主板上的插槽,具体能力全靠插上去的插件卡。它有一个关键特性叫可逆副作用——每个插件注册时产生的所有副作用都会被追踪,卸载时自动回收,不留垃圾、不漏内存。这意味着插件可以热插拔:装插件、卸插件、换整套 UI,都不用重启。
配置即组合
开发者无需改动 DeepSeek Harness 源码,仅通过配置文件就能选择、替换或扩展任意一项能力。这种设计让 DSH 的灵活性达到了前所未有的程度——你甚至可以同时挂载多个模型插件,在不同任务间自动切换。
Session Log:每次运行都可追溯
DeepSeek Harness 的另一个关键设计是 Session Log(会话日志)。
项目规定了一条铁律:凡是模型看到的内容,都必须能够从日志中重建。
具体来说,以下所有内容都会被写入只增不改(append-only)的事件流:
在 Web UI 的 Trajectory(轨迹) 视图中,你可以按来源逐条检查这些记录。恢复(Resume)、分叉(Fork)、搜索(Search)、重放(Replay)都基于同一个事件流操作。
这个设计解决了 Agent 系统中最难的问题:当 Agent 出了错,你能不能搞清楚它当时到底看到了什么、为什么这么做。 传统工具全程黑盒,最后只甩给你一个结果;DSH 把每一步都摊开在时间线上,出了问题可以逐条复盘。
前缀缓存与成本优化
Session Log 的只增不改特性还有一个重要的副作用:天然优化前缀缓存命中率。
每一回合请求中,系统提示词、工具定义、已注入的技能、会话历史这些内容全部排在消息序列最前面,只要你不中途切模型或切模式,它们字节级不变。这正是前缀缓存最理想的命中对象。
实测数据显示,在一次6轮、115步的 Agent 任务中,缓存命中率高达 99%——1540万输入 token 中只有不到1%是真正新发给模型的。DeepSeek 的缓存命中输入价比未命中价低一到两个数量级,99% 命中意味着实际输入成本只有全 miss 的零头。
四种运行模式
DeepSeek Harness 内置四种运行模式,本质是四份不同的插件配置清单。官方模式和社区做的整合包在地位上没有任何差别——都是插件组合。
标准模式(Standard Mode)
完整的编程 Agent,开箱即用工具包括:
适合日常开发场景,新手首选。
代码模式(Code Mode / PTC)
PTC(Programmatic Tool Calling,程序化工具调用)是 DSH 最有特色的模式。
传统模式下,模型每调用一次工具就需要跟客户端来回一次——十次工具调用就是十轮网络往返。PTC 模式换了个思路:让模型直接产出一段 TypeScript 脚本,把多步操作串起来一次执行完毕。
// PTC 模式示例:模型生成的工具编排脚本
import { tools } from '@deepseek-ai/dsh-code-sdk';
async function main() {
// 一次性读取多个文件,不需要逐轮往返
const files = await tools.readFiles(['src/index.ts', 'src/utils.ts', 'package.json']);
// 批量执行 Shell 命令
const lintResult = await tools.shell('npm run lint');
const testResult = await tools.shell('npm test');
// 根据结果决定下一步
if (lintResult.exitCode !== 0) {
await tools.fileEdit('src/index.ts', lintResult.fixes);
}
return { files, lint: lintResult, test: testResult };
}好处是快、省 token(十次来回合并成一次执行);坏处是这段代码跑起来你需要想清楚它在干什么——所以沙箱和权限策略要配好。
极简模式(Minimal Mode)
只保留两个工具:一个持久化 bash 和一个文件编辑器(str_replace_editor)。没有搜索、没有技能、没有子 Agent——干净利落,啥花活都没有。
适合两类场景:
创造模式(Creator Mode)
面向高阶玩家,支持:
属于"用框架改框架,自己套自己"的玩法。
模式选择建议
| 场景 | 推荐模式 | 原因 |
|------|---------|------|
| 第一次使用 | 极简模式 | 感受 DSH 节奏,小目录跑简单任务 |
| 日常开发 | 标准模式 | 全能工具集,开箱即用 |
| 高频工具调用 | 代码模式 | 省时省 token,批量操作 |
| 开发插件 | 创造模式 | 热加载测试,运行时检查 |
安装教程:四种方式任选
前置要求
node --version 确认,低版本会报错)方式一:npx 一键启动(推荐新手)
最快的方式,不需要全局安装:
# 确认 Node.js 版本
node --version
# 输出应为 v22.19.0 或更高
# 一键启动 Web UI
npx @deepseek-ai/dsh web执行后会自动下载最新版 DSH 并启动本地服务,终端会显示:
DeepSeek Harness is running at http://127.0.0.1:3080浏览器打开 http://127.0.0.1:3080 即可进入 Web UI。默认地址是本地回环,不对外暴露,不用担心别人连进来。
方式二:全局安装(适合日常使用)
如果你打算长期使用,全局安装更方便:
# 全局安装 DSH CLI
npm install -g @deepseek-ai/dsh
# 启动 Web UI
dsh web
# 查看帮助
dsh --help全局安装的好处是版本固定,不会每次 npx 都检查更新,启动更快。
方式三:源码编译安装(适合开发者)
想读源码、追最新提交或贡献代码的用户:
# 安装 pnpm(如果没有)
npm install -g pnpm
# 克隆仓库
git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
# 安装依赖
pnpm install
# 构建
pnpm run build
# 启动
pnpm dsh web源码安装后可以修改代码、调试插件、提交 PR。项目使用 TypeScript,架构分为 Host 和 Client 两个聚合,分别对应 tsconfig.host.json 和 tsconfig.client.json。
方式四:Python SDK(适合 CI/CD 集成)
DSH 还提供了 Python SDK,可以嵌入 CI/CD 管道或自动化脚本中:
pip install deepseek-harness-sdkfrom deepseek_harness import DSHClient
# 初始化客户端
client = DSHClient(
api_key="sk-your-deepseek-api-key",
workspace="./my-project"
)
# 创建 Agent 会话
session = client.create_session(mode="standard")
# 发送任务
result = session.run("分析这个项目的架构,列出主要模块和它们的依赖关系")
print(result.summary)
print(f"Steps: {result.steps}")
print(f"Cache hit rate: {result.cache_hit_rate}%")首次使用配置指南
第一步:配置 API Key
Web UI 加载完成后,输入框默认是灰色的,必须先配置 API Key。
sk-... API Key(在 DeepSeek 开放平台创建)Key 存储在本地配置目录中,界面只显示脱敏后的描述符,不会回显明文。第一次打开会直接弹出填 Key 的引导页面。
第二步:切换语言为中文
第三步:添加工作区
你在哪个目录启动的 dsh web,那个目录就是默认工作区,但需要手动点一下选中。
第四步:选择运行模式
根据前面的模式选择建议,初次使用建议选择极简模式或标准模式。
第五步:开始使用
在输入框输入任务,例如:
总结这个仓库,告诉我主要的包结构和模块依赖关系Agent 会自动读文件、跑命令、维护执行计划。涉及写操作时,UI 会按权限策略弹出审批确认。
模型切换:不限于 DeepSeek
DSH 最实用的特性之一是模型可替换——DeepSeek 自己的模型也只是又一个插件。
预设模型接入
设置中点 Models → 添加提供方,可以看到一长串预设列表:
| 模型厂商 | 提供方标识 | 说明 |
|---------|-----------|------|
| DeepSeek | deepseek | 默认,官方模型 |
| 智谱 GLM | zai-coding-cn | 国产,性价比高 |
| 阿里千问 | qwen-token-plan-cn | 通义千问系列 |
| 小米大模型 | xiaomi | 小米 MiMo 系列 |
| OpenAI | openai | GPT 系列 |
| Anthropic | anthropic | Claude 系列 |
选择对应提供方,填入 API Key 保存即可,回到首页就能在模型列表中切换。
自定义模型接入
不在预设列表中的厂商(如火山方舟),可以添加自定义提供方:
插件生态
DeepSeek Harness 开源后,社区反应极快。GitHub 上打 dsh-plugin 标签的仓库在发布一周内就超过 1000 个。
推荐插件
以下是一些高质量的社区插件:
dsh-vision-toolkit:给纯文本的 DeepSeek 模型加上视觉能力,支持带意图的图片问答、长截图 OCR、UI 还原、像素对比。
dsh-TUI:把整个交互换成 Claude Code 风格的全屏终端界面,包含像素鲸鱼顶栏、流式思考展开、上下文进度条和 TPS 表。
dsh-web-ui:Web UI 增强全家桶,包含任务看板、Git 图谱、右侧面板、手机端远程界面、实时 token 统计和皮肤中心。
DSH-better-sidebar:侧边栏改造为完整工作台,内置文件渲染编辑器、终端、Git 面板和子代理管理。
dsh-ui-whale:在会话标题栏养一只手绘像素鲸鱼桌宠,空闲时眨眼游来游去,思考时会动,回合结束时喷水。
插件安装方式
最 DSH 的安装方式是:把仓库地址丢给对话框里的 Agent,用自然语言说「帮我装这个插件」,它自己读完 README 就把活干了。遇到需要改配置或重启时会停下来等你批权限。
插件开发
开发者可以参考项目文档中的插件开发指南,为你的插件仓库添加 dsh-plugin 话题标签,便于社区发现。官方提供了完整的 Cordis 插件 API 文档和示例代码。
Session Log 实战分析
以下是一次真实 Agent 任务的 Trajectory 统计数据:
6 轮 · 115 步
LLM 思考时间: 16m20s
工具调用时间: 2m33s
首 token 平均延迟: 1.6s
输出速度: 145 tok/s
缓存命中率: 99%
输入 token: 15.4M
输出 token: 1.16M关键分析:
与竞品对比分析
| 维度 | DeepSeek Harness | Claude Code | Cursor | Aider |
|------|-----------------|-------------|--------|-------|
| 开源协议 | MIT | 闭源 | 闭源 | Apache 2.0 |
| 模型可替换 | 任意模型 | 仅 Claude | 多模型 | 多模型 |
| 插件系统 | 完整插件架构 | 无 | 有限扩展 | 无 |
| 运行模式 | 4种模式 | 1种 | 1种 | 1种 |
| 可追溯性 | 完整 Session Log | 部分 | 无 | 部分 |
| 热插拔 | 支持 | 不支持 | 不支持 | 不支持 |
| UI 可定制 | UI 也是插件 | 不可改 | 有限 | 不可改 |
| 部署方式 | 本地部署 | 云端+本地 | 本地应用 | CLI |
| 成本 | 框架免费,仅付模型 API | 订阅制 | 订阅制 | 免费+模型费 |
注意事项与常见坑
1. Node.js 版本必须够新
官方要求 Node.js v22.19 以上或 v24+。低版本 npx 会报一堆看不懂的错误,先 node --version 确认,不要拿 v18/v20 硬怼。
2. 目前是开发者预览版
官方 README 用全大写字母写了一句话:THERE WILL BE COMPATIBILITY-BREAKING CHANGES。一定会有破坏兼容性的变更,不要现在就把它接到生产关键路径上。
3. Bash 空转 Bug
某些情况下 Agent 会反复执行空的 Bash 命令不推进任务,这是已知 Bug。遇到就手动中断重新发起。
4. 安全攻击面较大
插件能接触你的 Shell 和文件系统,第三方插件安装前务必看一眼源码。已有安全团队发布了可复现的攻击链演示和验证工具。
5. Windows 用户优先用 Web UI
Windows 原生环境下 Python SDK 的兼容性可能有问题,建议直接使用 npx @deepseek-ai/dsh web,需要脚本化时考虑 WSL。
6. 装完插件记得重启
安装新插件后需要重启 DSH 并硬刷新浏览器页面(Ctrl+Shift+R 或 Cmd+Shift+R),否则缓存可能导致插件不生效。
总结
DeepSeek Harness 代表了 AI Agent 框架的一个新方向:不再把 Agent 外壳当作封闭的商业壁垒,而是将其开源为公共基础设施。
对于开发者来说,DSH 提供了几个独特价值:
npx @deepseek-ai/dsh web 一行命令启动无论你是想找一个更好的编码助手、研究 Agent 架构、还是开发自己的 AI 工具,DeepSeek Harness 都值得一试。开源第一天8万 Star 的热度已经说明了一切——这个项目正在重新定义 AI Agent 的构建方式。
项目地址:https://github.com/deepseek-ai/deepseek-harness
官方文档:https://deepseek-harness.github.io/deepseek-harness/en/guide/quickstart
社区插件目录:https://github.com/topics/dsh-plugin
💬 评论区 (0)
暂无评论,快来抢沙发吧!