DeepSeek Harness极简入门:为什么大家都在问“Why Not Pi?”
DeepSeek Harness极简入门:为什么大家都在问“Why Not Pi?”
GnaixEuy什么是 DeepSeek Harness?
如果你只是想找一个开箱即用的日常代码助手,目前成熟工具(如 Claude Code、Codex 或 Pi)依然更省心;DeepSeek Harness 的核心探索,在于将 Agent 的每一个内部组件都彻底解耦为可动态装卸的微内核插件。
简单来说,它是 DeepSeek 推出的开源本地代码 Agent 运行环境。指定项目工作区后,它能自主读取文件、修改代码、执行终端命令并根据报错闭环修复。
在社区讨论中,很多人常把它和同样主打扩展性的轻量开源 Agent Pi 进行对比:既然已有轻巧顺手的方案,为什么 DeepSeek 还要重新做一套 Harness?
实际体验下来,如果只看基础编码体验,现阶段的 Harness 还很早期。它真正独特且激进的设计,在于其底层的插件生命周期体系。
它与轻量 Agent(如 Pi)的核心差异
两者都支持通过插件扩展能力(例如文件检索、网页渲染或内部工单查询):
- Pi 的思路:保持轻量与极简。插件即插即用,扩展逻辑直接明了,资源清理与依赖主要交由扩展自身维护。
- DeepSeek Harness 的思路:引入了微内核框架 Cordis,接管了插件装载、依赖解析到卸载清理的完整生命周期。
举个典型场景:当一个带有文件监听和定时轮询的监控插件被动态卸载时,传统架构容易残留后台句柄或失效监听。Cordis 的目标是在 Agent 长期驻留、动态热插拔扩展的场景下,由底层框架统一完成资源的确定性回收与依赖重连。
这次DeepSeek发的到底是什么?
DeepSeek V4 Pro正式发布的第二天,预告了很久的Agent产品也跟着来了。它没叫DeepSeek Code,也没叫DeepSeek Agent,名字很工程:DeepSeek Harness。
官方给它定的理念是:一切皆插件。
我写这篇时,它在GitHub已经有6.24万Star。
Harness不是工具箱
官网直接给了一条公式。
Agent = Model + Harness。
智能体 = 模型 + 一套让模型真正干活的运行系统。
Harness 在这里指代模型执行具体任务时的支撑系统与运行时(Runtime)。
同一个模型在普通对话框中只能返回文本建议;但在工程化的 Agent 体系中,它需要读取文件、修改代码、调用 Shell、执行测试并根据报错迭代修复。这一整套驱动模型干活的基础设施(工具调用、会话管理、权限控制、上下文压缩与 Agent Loop)即为 Harness。
Codex 和 Claude Code 将这些能力打包为高度内聚的一体化产品;而 DeepSeek Harness 则将模型适配器、工具集、会话存储乃至 Web 界面全部拆解为独立插件,由底层的 Cordis 框架统一调度。
论文中将这套微内核架构的核心能力归纳为两个维度的可组合性:
- 时间可组合性(Temporal Composability):关注插件动态装卸时的生命周期与资源回收。例如一个注册了定时器与文件监听的插件在被卸载时,系统能自动追踪并销毁对应句柄,杜绝后台隐蔽泄漏。
- 空间可组合性(Spatial Composability):关注插件之间的依赖拓扑与动态重连。例如当底层依赖的视觉模型被替换或移除时,上层插件能自动感知依赖变化并完成重构或优雅降级。
这种在运行时由 Agent 动态加载、卸载插件的机制,构成了其可扩展性的基础。不过在工程落地层面,动态生成的扩展模块在权限控制和执行稳定性上仍需充分验证。
官方目前将其定位为 Developer Preview,并明确提示后续版本会存在破坏性更新(Breaking Changes),更适合尝鲜与架构研究。
部署与上手
官方项目主页:
https://www.deepseek.com/harness/
启动命令(需 Node.js 运行环境):
1 | npx @deepseek-ai/dsh web |
打开终端给出的本地网址,再填入DeepSeek API Key,账号里需要有余额。
目前只有WebUI,不过界面本身也能换。模型可选Flash或Pro,思考强度也能调。
模型支持与定价考量
随着 V4 Pro 的发布,其 API 定价也有所调整(缓存命中与高峰期输出单价均有所上升)。不过 DeepSeek Harness 并不绑定单一厂商,Base URL、API Key 与模型映射均可自由配置,能够无缝接入各类兼容 OpenAI / Anthropic 协议的模型后端。
配置好模型与 API Key 后,添加本地项目目录即可进入工作区。
四种运行模式
四种预设模式主要在于启用的默认插件组合不同:
1. 标准模式
预置了文件编辑、Shell 执行、代码检索、任务规划、上下文压缩等常用插件,功能最为完备,对标常规的本地代码 Agent 交互体验。
2. PTC 模式
PTC(Programmatic Tool Calling,编程式工具调用):传统模式下模型每执行一次工具调用都需要等待一轮 LLM 往返;而在 PTC 模式下,模型会编写 TypeScript 脚本将多步工具操作(例如批量筛选日志、解析结构化数据并聚合结果)通过单次 run_code 串联执行,大幅减少多轮交互的通信延迟与 Token 消耗。
3. 极简模式
剥离了任务规划与上下文压缩等高级插件,仅保留基础的持久化 Bash 与文件读写工具,并将系统提示词精简至单句。常用于作为评测基准(Benchmark),考察模型在无额外工程脚手架辅助下的纯原生 Agent 能力。
4. 创造模式
在具备完整能力的同时,赋予了 Agent 运行时动态探查环境、编写并动态加载/卸载新插件的权限。这种设计充分展示了 Cordis 微内核热插拔的潜力,但对动态生成插件的代码质量与权限边界也有更高的控制要求。
实用的社区扩展插件
除了官方第一方插件外,社区近期也涌现了一批补足交互体验的扩展:
dsh-at-file
https://github.com/omdsh-dev/dsh-at-file
在输入框中支持通过@快速模糊匹配并引用项目文件。DSH-better-sidebar
https://github.com/omdsh-dev/DSH-better-sidebar
在侧边栏集成文件树、代码编辑器、内嵌终端、Git Diff 等模块,提供类似 IDE 的工作区体验。ModLens
https://github.com/liustack/modlens
为文本模型接入视觉通道,支持直接在对话框粘贴截图进行 OCR、UI 布局分析与错误排查。dsh-web-ui
https://github.com/zhu1090093659/dsh-web-ui
扩展 Web 界面,整合了任务看板、Git 图谱、变更面板与 Token 统计等可视化组件。dsh-TUI
https://github.com/ccch1mneyyy/dsh-TUI
为偏好终端操作的开发者提供类 Claude Code 的命令行 TUI 界面,支持快捷键回退与上下文状态监控。dsh-agent-teams
https://github.com/NanmiCoder/dsh-agent-teams
支持在单一会话内动态拉起多个子 Agent,进行任务拆解、依赖协同与消息传递。
提示:由于社区插件具备执行 Shell 与读写文件的权限,安装时建议先确认其源码与权限请求范围。
总结与选型建议
如果从日常工程实用角度来看:
- 主力生产开发:暂不建议作为首选。目前在开箱即用体验(如原生
@文件补全、内嵌终端与视觉交互)上仍需大量依赖社区插件修补,成熟的 Claude Code、Codex 或 Pi 依然更加稳定顺手。 - Agent 架构研究与二次开发:值得重点关注。Cordis 展现的微内核生命周期管理、时空可组合性以及编程式工具调用(PTC),为解决多插件 Agent 系统的资源泄露与依赖冲突提供了非常好的工程范式。
DeepSeek Harness 现阶段更像是一个展示微内核架构与技术野心的“原型系统”。底层架构的完整性走在了前面,而上层交互体验的打磨仍需时间。
相关资料
- Pi 官网:https://pi.dev/
- Pi 开源仓库:https://github.com/badlogic/pi-mono
- DeepSeek Harness 架构文档:https://github.com/deepseek-ai/deepseek-harness/blob/master/docs/architecture.md
- Cordis 论文:https://github.com/cordiverse/paper
- 梁文锋与幻方量化背景(AP):https://apnews.com/article/0673d5c39d90108189cc31b88d85b9f8
















