近几年「AI Agent」火得一塌糊涂,但光看名字容易一头雾水:Claude Code、AutoGPT、LangGraph、OpenHands……这些叫法到底是不是一回事?就在这堆工具里,DeepSeek 开源了一个叫 DeepSeek Harness 的框架,命令行工具叫 dsh,GitHub 上 star 已经接近 20 万。它的官方主页挂了一句很硬气的话:Everything is a Plugin(一切皆插件)

这篇文章不堆专业术语,用大白话讲清楚三件事:它是什么、它和业界其它 agent 到底差在哪、以及小白怎么一条命令跑起来玩一把。文末附上我本地跑通的 Web UI 截图,看完你就能自己动手。

先搞懂:agent 框架到底在解决什么

大模型本身只会「想」,不会「做」——它不能读你的文件、不能跑命令、更不能自己打开浏览器。所谓 agent 框架,就是给大模型「装上手脚」的底座:由框架负责组织提示词、下发工具调用、管理对话上下文、控制沙箱、再驱动一个循环让模型一步步把活干完。

DeepSeek Harness 干的就是这件事,而且它是 MIT 开源的。理解了这层,再往下看它和别家的区别就轻松多了。

它的招牌:一切皆插件,是真的「一切」

很多框架也标榜自己「插件化」,但它们的内核往往是写死的,插件只能往里面添东西。DeepSeek Harness 不一样——按官方架构文档的说法,它产品的每一部分都是插件,包括:

  • 模型适配器(接 DeepSeek、还是接别的模型,是插件)
  • 工具注册表(能调哪些工具,是插件)
  • 会话日志(记录了哪些内容,是插件)
  • 甚至 agent 循环本身(模型「想一步、做一步」的驱动器,也是插件)

也就是说,不存在一个需要打补丁的特权内核。你想扩展它,就是把你的插件挂到其它插件旁边;插件被卸载时它的副作用会自动撤销,装上就生效、卸了就恢复原样。

拿手机打个比方:传统框架换个核心组件,得像刷系统一样打补丁;而在这里,所有组件本来就在一张插件列表里排队,你换哪一个都不算「越界」。

它和业界主流 Agent 到底差在哪

这才是重点。市面上的「agent 类工具」其实分好几个物种,把它们摊开对比,DeepSeek Harness 的位置就清楚了。

工具 本质定位 架构范式 内核能不能换 上手难度 开源 成熟度
DeepSeek Harness 通用 agent 框架 插件树 + Cordis 组合 能,连 agent 循环都能换 中(源码构建有坑,npx 快速体验) MIT 开发者预览
Claude Code 编码助手「产品」 封闭工具集 + MCP 扩展 不能 闭源 成熟
OpenHands(原 OpenDevin) 软件工程 agent Agent + Docker 沙箱 不能 低(有 Web UI) MIT 较成熟
LangGraph 编排「框架」 图编排(节点/边/状态) 部分 中高(要自己画图) MIT 成熟
AutoGPT 自主 agent(鼻祖) 「目标 → 循环调模型 → 执行」 不能 低但结果不稳 Apache 热度回落
CrewAI 多 agent 协作 角色/目标/任务定义团队 不能 MIT 较成熟

逐个说它们和 DeepSeek Harness 的差在哪:

对比 Claude Code:Claude Code 更像一个「开箱即用的成品」,体验很顺,但它是一个封闭的编码助手,你想改它的核心逻辑是没门的,扩展只能靠 MCP 外接工具。DeepSeek Harness 则是一套「给你造助手的零件」,自由度更高,代价是你要自己搭。

对比 OpenHands:两者都开源、都有 Web UI,但 OpenHands 的定位是「AI 软件工程师」,把 agent 关进 Docker 沙箱里改代码、跑测试。DeepSeek Harness 更泛,是一个可以拿去造各种 agent 的底座,而不仅仅是做软件工程这一件事。

对比 LangGraph:这是最微妙的一组。LangGraph 用「图」来描述 agent 工作流,你想让 agent 先做什么、再做什么、什么条件下回退,都得自己画节点和边。DeepSeek Harness 的答案是另一套范式:靠 Cordis 的「时空可组合」把堆叠的插件组装成树,用事件去扩展。一句话概括——LangGraph 是「手绘流程图」,DeepSeek Harness 是「拼乐高」。

对比 AutoGPT:AutoGPT 是 2023 年把「让 AI 自己干活」带火的自主 agent,可惜后来证明不稳定、还特别烧 token。DeepSeek Harness 吸取了这类教训,把「模型可见即已记录」当成一条铁律:凡是模型能看到的东西,都必须能从日志里原样重建——这让会话可以放心地 fork、恢复、审查,不会越跑越偏。

优劣势,说直白点

优势:

  1. 架构最干净。别的框架最多做到「开放扩展点」,它做到了「内核也能换」,这是它和所有竞品最本质的分水岭。
  2. seam(可替换接缝)设计漂亮。一项能力被拆成「接口、实现、消费方」三个角色,换一个 provider 就能改变整个产品——典型例子是把文件系统和子进程一起指向远程沙箱,Bash、编辑器、LSP 会一起搬过去。
  3. 透明。Web UI 里每一步用了多少 token、缓存命中多少、工具调用耗时多少都明明白白(见后面截图),对排查问题非常友好。
  4. MIT 开源 + 活跃。star 增长极快,文档里专门写了 architecture 架构说明。

劣势(不回避):

  1. 还是开发者预览。官方原话是「正在快速迭代,未来会出现破坏性变更」,生产环境先别急着上。
  2. 概念有门槛。Cordis、seam、turn/step 这些名词,对没接触过的人需要一点消化时间。
  3. Windows 源码构建不顺畅pnpm run build 一把过的概率不高,至少要手动 clean 一次、理清 host/client 构建顺序。
  4. 生态还年轻。插件数量、社区案例,跟 LangChain 那种庞然大物还有差距。

轻松上手:一条命令跑起 Web UI

说了这么多,不如动手玩一把。官方给的最快路径就一条命令:

npx @deepseek-ai/dsh web

启动成功后,浏览器访问 http://127.0.0.1:3080,就能看到下面这个界面:

DeepSeek Harness Web UI 主界面

界面很清爽:左上角是「新会话」和「工作区」,中间是一个大输入框,提示语是「描述你想要构建的内容」,右下角还能选模型和访问权限。到这里,你就能像聊天一样给它派活了。

我随手输入了一句:「用 Python 写一个生成随机密码的函数,并解释每个参数的含义」。它没有只回一段代码了事,而是真的进入 agent 工作流:生成了 random_password.py 文件,还逐条解释了参数和设计点——为什么用 secrets 而不是 random、为什么要做 Fisher-Yates 洗牌、参数互相冲突时怎么抛异常。

输入需求后,dsh 生成代码、解释参数并给出性能统计

更值得注意的,是底部那排小的性能统计:「1 轮 · 3 步」「工具调用 0.6s」「缓存命中 61%」「输出 2.5K tok」。别人的聊天框大多只给你结果,它把 agent 每一步的内部动作和开销都摊开给你看——这就是前面说的「透明」,也是它作为框架留给开发者的一种信任感。

小提示:如果你更想深入看源码、改插件、跑测试,那就走源码路线:git clone 仓库后 pnpm install,再按 clean → tsc host → tsdown host → tsc client → build:web 的顺序构建,最后 pnpm dsh web 启动。只想体验,用 npx 预构建包最快。

总结:它适合谁

DeepSeek Harness 最值得记住的就两条:一切皆插件,以及驱动它的 Cordis 框架。它对普通开发者是个能快速起一个 Web UI 的智能体框架;对框架研究者和进阶开发者,「换一个 provider 就换整个产品」和「模型可见即已记录」这两条设计,可能比框架本身更值得借鉴。

一句话给结论:如果你想要一个开箱即用、体验丝滑的编码助手,Claude Code 是更省心的选择;如果你想要一套「内核都能换」、可以按自己想法造 agent 的底座,并且愿意一起吃它的预览期苦头,那 DeepSeek Harness 是当下最独特的那个。 等它从开发者预览毕业,这套架构在 agent 领域的影响,值得继续盯着。

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐