跳到正文

DeepSeek Harness

DeepSeek 的 agent 运行框架:模型适配器、工具注册表、会话日志、乃至 agent loop 本身,全都是插件——换掉它们靠的是改配置文件,而不是分叉源码。

Screenshot of DeepSeek Harness
编辑截图, 29 Sep 2026DeepSeek Harness ↗

这是什么

一个用于构建、运行和扩展 agent 的开源框架:模型、工具、技能、会话、沙箱、存储、循环、调度、UI,每一项能力都是插件,在启动时由有序的配置层组合而成。没有任何东西享有特权——模型适配器、工具注册表、会话日志和 agent loop 都可以在不动源码的前提下替换;而每一次运行都会写进一份仅追加的会话日志,恢复、分叉、检索和回放读的都是同一条事件流。同一棵插件树既可以通过 npx 起一个网页界面,也可以在 2026 年 9 月底之后作为桌面应用安装,或者以 headless、SDK、ACP 这几种 profile 运行。

谁做的R1 推理模型背后的杭州实验室,2023 年 7 月由梁文锋创办,出身于量化基金幻方以及他早就为此买下的算力集群;官方页面把公司写作「杭州深度求索人工智能基础技术研究有限公司」。Harness 是它第一个以框架而非模型形态发布的东西,而它一出生就绑着中国 AI 圈最活跃的一段民间传说——创始人本人的 meme 身份。

制作过程

12 个阶段
  1. 01

    三周二十万星

    DeepSeek Harness 于 2026-08-13 公开,与 V4 Pro 正式版全量上线是同一天,而且它登场得很不安静。钛媒体的一篇专栏拿它和 OpenClaw 比:后者花了大约三个月到二十万星,而 Harness 用了不到三周就到了同一个刻度。一篇 8 月 21 日的财经稿件把它记作 17.5 万。到 2026-09-29,GitHub 上的数字是 239,698 星、28,788 fork、1,040 watcher,MIT 许可,TypeScript——而在这个项目上,这是最容易拿到、也最没意思的一个数字。仓库本身的创建时间是 2026-08-13T11:56:32Z,就是它公开的那一天。底下那段历史才是有意思的:最早一次提交的日期是 2026-06-10,比这些东西能被看到早了两个月;此后仓库累积了 20,470 次提交、41 位贡献者,其中 2026 年 7 月一个月就是 8,297 次。打了二十四个 release,每一个都是预发布,从 2026-08-17 的 dsh-v0.1.0-rc.7 一路到 2026-09-29 的 dsh-v0.2.0-rc.2——一个在公开场合始终没走到 1.0 的版本号。Issues 是关闭的,bug 走 Discussions——也就是说,「什么东西坏了」的公开记录是一串论坛帖而不是一个追踪器,而这一点直接决定了外部能知道什么。

  2. 02

    插件边界画得比任何人都靠里

    内核叫 Cordis,它不是为这次发布新写的——它是 cordiverse 组织下一个既有的开源项目,还带着自己的设计论文(arXiv 2608.25512,讲时空可组合性)。架构文档把安排说得很直白:插件向一个共享 context 贡献服务、类型化事件和可回滚的 effect;而产品的每一部分都是插件,「包括模型适配器、工具注册表、会话日志,以及 agent loop 本身」。紧接着的那句要读两遍:「不存在需要打补丁的特权内核。」注册即 effect,插件卸载时自动回滚,于是内核全部的工作就是挂载、卸载和依赖关系,能力住在插件里。这样跑起来的 harness 就是一棵在启动时由有序层次组合出的插件树。profile 是存在 Harness home 里的一份具名组合,列出它叠了哪些 bundle,web、headless、sdk、sdk-minimal、acp 是随附模板;bundle 是配置行的分发格式。层按顺序生效——profile 的 bundle 按声明顺序,然后是 profile 自己的补丁文件,再到 home 级的,最后是命令行叠加的——补丁按 id 命中一行并整体替换它的配置。dsh --profile web --dump-config 会打印这台机器实际启动的那棵树,而输出里的任何一行都能被你自己的补丁替换掉。阿里云社区的一篇文章找到了更好的比喻:别人开源的是房间,DeepSeek 把承重墙的图纸也放了出来。

  3. 03

    Agent = Model + Harness已修订 2026-09-29

    这是 DeepSeek 发布时的说法:模型是 agent 的灵魂;harness 给 agent 的是理解环境、使用工具、并在真实场景里持续工作的能力。那份能力清单和架构文档给的是同一张——模型、工具、技能、会话、沙箱、存储、循环、调度、UI——而主张是每一项都是插件,所以换模型是一次配置变更。随附的四种运行模式,是同一些插件的不同组合,而不是四个独立产品。标准模式是完整的编码 agent:文件编辑、shell、文件与网页检索、Skills、计划、目标、子 agent、工作流。Code 模式(内部叫 PTC)保留全部这些,但把工具通过 Code Mode SDK 暴露出来,让模型在一个 TypeScript 程序里编排多轮工具调用。极简模式把 agent 砍到只剩两个工具——持久 bash 和一个字符串替换式文件编辑器——它写明的用途是在最小化环境里给模型做基准测试:它存在的意义,是让模型在没有框架加成的情况下被测量。创造模式是标准模式加上运行时检查与内存中的 Cordis 插件实验,写明的用途是创作新的 agent preset。本地装的那份 0.1.5-rc.1 解析出来大约有七十个 @deepseek-ai/dsh-* 包:bash、文件系统、检索、PowerShell、jobs、goal、skill、subagent、待办清单、web 等工具包;compaction、sandbox 与策略包;若干 LLM 适配器;一整套 session 栈(持久化、查询、检查点、投影);以及给 Claude Code 和 Codex 钩子的两座桥——这也是为什么这两个名字会出现在本记录的 stack 里。

  4. 04

    一切皆插件;每一次运行都有迹可循

    口号的后半句才是要花工程代价的那半句。模型看到的一切都会写进一份仅追加的会话日志——系统提示词、思维链、工具调用及其结果、子 agent 调度,以及每一次上下文注入——而 Trajectory 视图让你按来源检查这些记录。恢复、分叉、检索与回放操作的是同一条事件流,而不是各自一套机器;这是那种事后看很理所当然、事前并不理所当然的决定,仓库自己的 agent note 里就有一篇叫 event-sourced-sessions。挂在它上面的持久性规则比多数产品愿意做的更严:已发布的会话数据永不移动、永不覆盖、永不删除,相邻的迁移只允许新增一个带版本名的后继,SQLite 的 schema 版本单调递增,而每一处外部可感知的破坏性变更都要在发生当时就记进升级指南。对于一个卖点就是「你可以重新排列它的零件」的系统来说,「昨天的对话记录明天还打得开」这条不变量,才是重新排列得以安全的前提。

  5. 05

    贡献以插件的形式到来,而不是 pull request

    贡献指南里有一句很少有项目肯印出来的话:很抱歉,我们目前无法接受外部 pull request。它改要的是:Discussions 里的 bug 报告和点赞、以 dsh-plugin 话题发布的插件、博客文章与教程,以及回答别人的问题。接着它给出了整套设计所隐含的那个主张:我们不认为官方仓库里的包天然比社区创建的包更重要——你可以把这个仓库看成一个想法、一个官方橱窗、一个灵感来源,但不是一份来自我们的授权。结尾是三个词:Into the unknown。产品页上「社区插件」的链接并不通向一份人工维护的目录,它通向一个 GitHub 话题页。它背后的文档文化正式得少见:.agents/notes/ 下有 2,444 个 markdown 文件,其中 1,220 个是中文。一篇 Agent Note 把生命周期和类别编进路径,并随着状态变化在文件夹之间移动;implemented/ 里的笔记要跟着实际发布的东西保持更新,而 rejected/ 里的笔记只在它的理由还能拦住一个诱人的错误时才保留,否则整组删除。每一份公开文档都以三个文件发布——.md、.zh.md 和一份 .i18n.yaml。AGENTS.md 有 17,942 字节,讲布局、命令、密钥、约定和一份 vendor 政策;CLAUDE.md 是指向它的一个九字节软链接。另有八套独立的 vitest 配置、一份 lefthook 钩子、一个复制粘贴检测器、一份 12 KB 的 lint 配置、一份 49 KB 的基础 tsconfig,以及GitHub Actions 和 GitLab 双份持续集成。

  6. 06

    你属于哪一半受众,决定了你看到什么

    发布两周后,阿里云开发者社区的一篇文章试图解释一场分裂,并拒绝了这个省事的框架。国内的抱怨集中在慢、费 Token、不直观;海外开发者则在扒架构、改插件、换 Agent Loop。作者的论点是:这条线不在国家之间,而在两种买家之间——一种想要一个培训好、周一就能上班的员工,另一种想要一套公司底座,由自己来招人、配工具、定流程。两者都是对同一个东西的正确读法,因为一个在评价成品,另一个在研究成品怎么造出来的。他举的社区证据很具体:自动生成会话标题的插件、接入 Git Worktree、把成本余额实时显示到界面上、Discussions 里出现的跨实例 agent 协作,以及被重做的 Web UI、任务看板和桌面客户端。他同时也把反方向的测量结果放在同一口气里报了出来——慢、烧 token、文档不清楚——并承认它把 DeepSeek 榨得很充分,缓存命中率 99%。他关于早期信号的那句值得留下:一个开源项目的好迹象,不是所有人都说它完美,而是已经有人忍不住开始改它。而他的警告更要紧:第三方插件以你自己机器的权限运行,能读文件、访问网络、接触凭据,开源社区不是应用商店,出现在一份列表里不等于通过了安全审计。

  7. 07

    滑动变阻器:把创始人当成计量单位

    2026 年的中国 AI 圈,是用创始人的外号来给 DeepSeek 的产出做刻度的。梁文锋在 2025 年 1 月 R1 之后被封为「梁圣」;当 V4 错过承诺的七月中旬,封号被褫夺,他一路降级为「梁叔」「小梁」「梁子」「梁鸽」「牢梁」「小难梁」。一篇 2026-08-07 由凤凰网发出、被广泛转载的稿件把这整个循环压成一个意象——他的风评如同滑动变阻器,在不同刻度间反复游移——并称他是中国 AI 圈最活跃的人形 meme 之一。它收录的词汇相当密:「梁性循环」谐音「良性循环」,讲的是母公司量化基金从散户身上赚钱补贴模型实验室那套(并不可靠的)叙事;「梁白开」指一次像白开水一样的发布;对联式的「百万token三毛钱,梁圣恩情还不完」;以及谐音「闻风丧胆」的「文锋丧胆」。2026-08-06,DeepSeek 公告 API 即将整体调价、「预计涨幅较大」;当新的峰谷定价在 2026-08-17 正式生效,他变成了「梁文谷」——峰与谷——#DeepSeek也妥协了# 上了热搜。Harness 就在那份公告之后七天发布,而它默认是按 DeepSeek API 凭证计费的。

  8. 08

    二创是真的软件,广告位也是真的

    发布后 24 小时内,就有一个叫 DSH Meme Hub 的站点出现,专门收集这些二创。最有名的那一个把双关做成了实物:开发者把滑动变阻器接到了 harness 自己身上,于是那个用来买「难题成功率」的推理等级(reasoning effort)档位,同时也让画面从低档的「梁子」滑到高档的「梁圣」——「滑动变祖器」,阻力(阻)换成了祖先(祖)。它的动态版在 X 上过了 150 万浏览。另一位开发者把整个界面重做成了二十年前的中文门户网站:页游风的广告栏每二十秒自动换一张横幅,对话区里穿插信息流广告,一个抽 V4 Pro 资格的转盘(作者承认是假的),一个财神抽奖轮盘,以及一个精准复刻的关闭按钮——那个叉看着挺大、实际比看起来小。而让它从一个玩笑变成工程的那个细节是:广告位不是假的。任何带 dsh-plugin 话题、且最近两周更新过的公开仓库都会进入推荐位,点击广告会打开真实项目页,作者还接受投稿——一个拥有真实库存的梗图广告联盟,把流量从一个玩笑导到下一个玩笑。还有人把整套东西打扮成 QQ 2006:蓝色玻璃质感按钮、列表式消息、九宫格标题带,右边一栏 QQ 秀。官方的 slogan 是「一切皆插件」,社区的是「万物皆可整活」。

  9. 09

    有人把 harness 对准了这个梗

    2026-09-07,钛媒体的「蓝字计划」栏目发表了一次比多数评测都更有信息量的测试。DeepSeek 在 harness 之后大约一周发布了视觉模型,于是这个栏目把两者组合起来,交给它那张六格的「滑动变祖器」拼图,第一轮什么背景都不给。它把图读对了:六格横向拼接、同一个留黑色短发戴细框眼镜的男性、前三格深色西装、第四五格深色高领、第六格红金长袍加冠饰,并把整段的叙事总结为一个人正在被逐步升格、神化。接着记者给了它六个画面、五个称号,故意抽掉中间那一个。模型发现了数量对不上,然后把它补上了——先提「梁圣·升格」,再提「梁煞」,事后承认两个都是为了凑够六个而编的。它还凭姓氏把图中人物判成了晚清学者梁启超。在后来一轮里被喂进一个假前提——说图中是一位因历史功绩而被神化的古代人物——它拒绝接受图片支撑不了的说法。这个栏目给出的总结,是关于这个模型写得最锋利的一句话:它对用户保持怀疑,对自己的编造却毫无戒心。Harness 确实自带网页搜索与抓取,默认搜索服务跑在 DeepSeek API 凭证上、也可以指向别处;但「有工具可用」和「回答之前确实用过」是两件不同的事。它的结论是:二十万星证明这套框架吸引了大量关注,而可以自由搭配,并不意味着随手搭出的一套就足够可靠。

  10. 10

    不体面的那一半

    安全使用政策 1,669 字符,不做任何美化。它说项目处于实验阶段、未经过安全审计;它可以执行模型生成的代码和命令、加载第三方插件、访问网络、进程、凭据和文件;沙箱与审批降低风险但不保证隔离;应当以最小权限运行,最好放进一次性的虚拟机或容器,保留备份,加载前先审查插件;并且不提供任何担保。README 用大写字母称它为 developer preview,并警告会有破坏兼容性的变更。架构文档开头就让你在改动 packages/ 下任何东西之前先读它,假定你已经懂 Cordis,并建议用一个 agent 去探索这个代码库——本档案之所以会读到它,正因为本档案自己的编辑器就跑在本地安装的 0.1.5-rc.1 里。而默认配置的实际后果是钱:模型适配器、默认搜索服务和浏览工具全都跑在 DeepSeek API 凭证上,一个 harness 会通过编排子 agent、工作流和多轮工具调用把一次任务产生的调用数成倍放大,而这些凭证的价格在它发布前七天刚涨过。能从配置文件里换掉每一个零件,是它的功能;至于哪一种组合配得上它的账单,被刻意留给了拿着配置的那个人。

  11. 11

    产品页不再对开发者说话了

    这个页面是在本记录写作期间被重写的,而这次重写本身就是新闻。发布时它是写给 harness 开发者的,开篇就讲架构——一切皆插件、Agent = Model + Harness、四种运行模式。而 www.deepseek.com 上现在这一版,开篇是一个下载按钮。它写的是「DeepSeek Harness——现在,开箱即用」,首屏只有一个动作:Windows 桌面版,旁边是 Apple 芯片的 macOS 版,都从 download.deepseek.com 分发。配套的下载页说明桌面端多出了什么——它可以在后台运行,并读写本地文件,而这正是长时间、复杂任务得以成立的前提——并注明这个版本仍在持续迭代。受众的表述也跟着挪了:「无论处理日常工作、编写代码,还是构建自己的 Harness,都可以从这里开始。」发布那版是对做 harness 的人说话,这一版开篇讲的是整理资料、分析表格、撰写文档,写代码排在第三。页脚也换了:发布版链的是安全使用政策与数据处理说明,现在链的是隐私政策与用户协议。英文页从 /harness/en/ 搬到了 /en/harness/,旧地址现在只剩一句两个词的「Page moved」。有一个细节值得记下来,给任何跟着链接走的人:apex 域和 www 域不是同一份构建——写这条记录时 deepseek.com/harness/ 仍在提供发布版页面,而 www.deepseek.com/en/harness/ 提供的是重写后的版本。本记录的主图和「Open」按钮都指向重写后的页面。

  12. 12

    重写后的页面究竟展示了什么

    这个页面现在是一份功能巡览,而其中几块面板,是本记录此前只能靠文档描述的东西第一次公开演示。插件那一段展示了「创造模式」被按设计意图使用:提示词是「帮我写一个『番茄时钟』插件」,接着展开的是一份完整的 agent 轨迹——加载 cordis-plugin-development 技能、读取它的 SKILL.md、检查九个检查提供方、通过 Slots.listSubTree 查询运行时、写入 35 行的 dsh-plugin-pomodoro-float/package.json 与 638 行的 client.js,然后调用 plugin_manager · install_bundle,确认插件已在运行,收工。页面把耗时也标了出来:5 分 24 秒,结尾一句「番茄时钟悬浮插件已做好、装好并验证通过」。旁边是插件清单——官方、标记为实验性的智能体团队、自动授权审查、自动化任务、语音输入、终端、Agent 循环、子智能体——「已安装」下面是刚做好的番茄时钟,面板里真的在倒数。再往后一段讲定时任务:同一句自然语言(每周五整理本周项目记录、生成周报)和它被翻译成的 schedule_create 调用,带标题、weekly,以及 {"time":"17:00:00","time_zone":"Asia/Shanghai","weekdays":[5]}——本记录在依赖清单里见过的那个 schedule 包组,正在干活。还有一块面板按文件类型预览产出:Word 文档、Excel 表格、HTML 页面、TypeScript、Python、PDF 和 README,旁边是一份标着「第 1 轮改动」的 src/label.ts diff。开发者工具那一段展示的,正是本记录此前依据架构文档描述的 Trajectory 视图:时长、轮次、调用数,按模型/工具/系统过滤,逐次调用的参数、结果与 Schema,以及一个计时区块——开始时间 2026-08-12 17:30:52.637,耗时 34 毫秒,计时来源是会话时间戳。界面上的模型芯片写的是 DeepSeek-V41-Flash,档位 High。

修订记录

2

这条记录保持最新,而不是被冻结:项目变了、某段不再成立时,就在原地更正那一段。每处更正过的段落都带标记,并在这里列出它原先的说法。

  1. 2026-09-29第 03 段开头那句原本写的是「官方产品页用这个等式开场」。该页面当天因桌面端发布被整体重写,已经不再出现这个等式,所以那句改成把这一表述归属于发布版页面,而不是当前页面。
  2. 2026-09-29整条记录当天发布,当晚即修订。本记录写作期间,该项目的产品页因桌面端发布被重写:主图改用新页面重拍,星标、fork 与 release 数据刷新,并新增两段,分别讲这次重写和它演示了什么。上方带标记的那一段,是唯一一句从「不完整」变成「不成立」的话。

相关档案

全部档案 →