DeepSeek Harness极简入门:为什么大家都在问“Why Not Pi?”

什么是 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 微内核热插拔的潜力,但对动态生成插件的代码质量与权限边界也有更高的控制要求。

实用的社区扩展插件

除了官方第一方插件外,社区近期也涌现了一批补足交互体验的扩展:

图像

  1. dsh-at-file
    https://github.com/omdsh-dev/dsh-at-file
    在输入框中支持通过 @ 快速模糊匹配并引用项目文件。

  2. DSH-better-sidebar
    https://github.com/omdsh-dev/DSH-better-sidebar
    在侧边栏集成文件树、代码编辑器、内嵌终端、Git Diff 等模块,提供类似 IDE 的工作区体验。

  3. ModLens
    https://github.com/liustack/modlens
    为文本模型接入视觉通道,支持直接在对话框粘贴截图进行 OCR、UI 布局分析与错误排查。

  4. dsh-web-ui
    https://github.com/zhu1090093659/dsh-web-ui
    扩展 Web 界面,整合了任务看板、Git 图谱、变更面板与 Token 统计等可视化组件。

  5. dsh-TUI
    https://github.com/ccch1mneyyy/dsh-TUI
    为偏好终端操作的开发者提供类 Claude Code 的命令行 TUI 界面,支持快捷键回退与上下文状态监控。

  6. dsh-agent-teams
    https://github.com/NanmiCoder/dsh-agent-teams
    支持在单一会话内动态拉起多个子 Agent,进行任务拆解、依赖协同与消息传递。

提示:由于社区插件具备执行 Shell 与读写文件的权限,安装时建议先确认其源码与权限请求范围。

总结与选型建议

如果从日常工程实用角度来看:

  1. 主力生产开发:暂不建议作为首选。目前在开箱即用体验(如原生 @ 文件补全、内嵌终端与视觉交互)上仍需大量依赖社区插件修补,成熟的 Claude Code、Codex 或 Pi 依然更加稳定顺手。
  2. Agent 架构研究与二次开发:值得重点关注。Cordis 展现的微内核生命周期管理、时空可组合性以及编程式工具调用(PTC),为解决多插件 Agent 系统的资源泄露与依赖冲突提供了非常好的工程范式。

DeepSeek Harness 现阶段更像是一个展示微内核架构与技术野心的“原型系统”。底层架构的完整性走在了前面,而上层交互体验的打磨仍需时间。

相关资料