DeepSeek Harness 解读
大多数AI编码代理从外表看起来都差不多。
你给它们一个提示。它们读取你的代码库。它们编辑文件、运行命令、搜索内容,并尝试完成任务。
但在底层,远不止一个LLM那么简单。
还有一个运行时。
还有工具、会话、权限、沙箱、模型适配器、代理循环、存储、调度。
这一层就是harness(运行时框架)。
而DeepSeek刚刚开源了一个。
1、什么是DeepSeek Harness?
DeepSeek Harness(DSH)是DeepSeek AI开源的代理运行时框架。它目前以MIT许可证发布为开发者预览版。
DeepSeek的核心理念很简单:
一切皆是插件。
不仅仅是外部工具。
模型、工具、技能、会话、沙箱、存储、循环、调度甚至UI都可以作为插件提供。DeepSeek表示这些组件可以通过配置选择、替换或扩展,无需修改Harness源代码本身。
这就是DSH有趣的地方。
它不仅仅是另一个编码代理。
它试图让代理运行时本身变得可组合。
2、架构:模型 + Harness
DeepSeek将代理描述为:
代理 = 模型 + Harness
模型提供智能。
Harness提供该智能实际运行的环境。
DSH的简化视图如下:
│ Model │
└───────┬───────┘
│
▼
┌───────────────────┐
│ DeepSeek Harness │
│ Runtime │
└─────────┬─────────┘
│
┌─────────────┼─────────────┐
▼ ▼ ▼
┌────────┐ ┌────────┐ ┌─────────┐
│ Tools │ │ Skills │ │Sessions │
└────────┘ └────────┘ └─────────┘
│ │ │
└─────────────┼─────────────┘
▼
┌──────────────┐
│ Environment │
│ Files / Shell│
│ Web / Runtime│
└──────────────┘
有趣的部分在于中间层。
DSH构建在Cordis之上,这是一个管理插件挂载、卸载、依赖、服务和事件的插件框架。官方架构文档更进一步:模型适配器、工具注册表、会话日志和代理循环本身就是插件。故意没有开发者必须修补才能扩展系统的特权核心。
这改变了你对自定义化的思考方式。
3、一切皆是插件
这是我在DeepSeek Harness中发现最有趣的特性。
在传统的编码代理中,你通常只能在边缘进行自定义。
添加一个MCP服务器。
添加一个技能。
更改一些配置。
也许写一个扩展。
DSH采取了更激进的方法。
架构本身就是模块化的。
想改变模型层?
它是一个插件。
想替换一个工具?
插件。
想要不同的会话实现?
插件。
想改变代理循环?
插件。
想创建不同的运行时配置?
组合插件。
DeepSeek明确地将模型、工具、技能、会话、沙箱、存储、循环、调度和UI作为插件能力暴露出来。
对开发者来说,这很重要,因为这里的开源不仅仅意味着能够阅读源代码。
你实际上可以更改机制。
你可以分叉它。
你可以编写自己的插件。
你可以替换组件。
你可以尝试完全不同的代理配置。
而且由于项目是MIT许可证,许可障碍比封闭的商业代理运行时低得多。
插件:https://github.com/topics/dsh-plugin
4、四种代理模式
DeepSeek不只提供一种运行Harness的方式。
它目前提供多种运行时模式。
标准模式
这是完整的编码代理体验。
它包括文件编辑、Shell访问、文件和Web搜索、技能、规划、目标、子代理和工作流。
PTC模式
这个特别有趣。
DSH不将每个操作暴露为另一个顺序工具调用,而是可以通过PTC Mode SDK暴露其工具,允许模型生成一个组合多个操作的TypeScript程序。
概念上:
传统代理:
Model
↓
Tool call
↓
Result
↓
Model
↓
Tool call
↓
Result
↓
Model
代码模式转向:
Model
↓
生成TypeScript
↓
执行多个操作
↓
Result
这是一种完全不同的工具编排思维方式。
最小模式
最小模式将环境简化为一个持久化Bash工具和文件编辑器。
当你想用更小的工具集评估模型,而不是给它整个代理环境时,这很有用。
创造者模式
创造者模式直接面向构建代理的开发者。
你可以检查运行时,在内存中试验Cordis插件,并组合自定义代理预设。
这就是DSH开始看起来不那么像编码助手,而更像代理开发平台的地方。
5、你实际上可以自定义和添加自己的
这就是开源部分变得重要的地方。
DSH界面为以下内容暴露了独立区域:
模型 → 插件 → 代理预设
你可以检查已安装的插件及其状态、更改配置并创建自定义预设。
但更深层次的自定义发生在UI之下。
因为运行时是开源的且基于插件,你不受默认预设的限制。
你可以修改源代码。
编写你自己的插件。
替换现有功能。
创建不同的代理循环。
更改模型适配器。
构建你自己的工具。
创建自定义沙箱。
组合你自己的代理预设。
官方架构明确将模型适配器、工具注册表、会话日志和代理循环等核心组件视为插件。
这就是重要的区别。
你不仅仅是在自定义代理的行为。
你可以自定义使代理工作的机制。
6、轨迹视图是另一个重大特性
代理调试很难。
普通应用程序给你日志。
代理给你对话、工具调用、上下文更改、子代理、模型输出和不断变化的状态。
DSH通过仅追加的会话日志来解决这个问题。
根据DeepSeek的说法,该日志记录模型看到的内容,包括系统提示、推理、工具调用和结果、子代理调度和上下文注入。然后轨迹视图可以检查这些记录,而恢复、分叉、搜索和重放在同一事件流上操作。
对于代理开发者来说,这不仅仅是一个漂亮的UI特性。
它是一个可观测性原语。
如果代理做出了错误的决定,你想知道:
模型看到了什么?
↓
它选择了哪个工具?
↓
工具返回了什么?
↓
注入了什么上下文?
↓
运行了哪个子代理?
↓
接下来发生了什么?
可追溯的事件流使调查变得容易得多。
7、DSH vs Claude Code vs Codex
这就是DSH变得更容易理解的地方。
Claude Code和Codex主要是面向开发者的编码代理产品。
Claude Code在终端中运行,可以探索代码库、编辑文件、执行命令、使用MCP并自动化开发工作流。Anthropic还提供可配置的权限和CLI控制。
Codex是OpenAI的编码代理,具有本地CLI以及IDE、桌面和云端界面。其CLI在Apache-2.0下开源。
但DeepSeek Harness从不同的架构角度来看待这个问题。
重要的区别不仅仅是开源与闭源。
Codex也是开源的。
区别在于被开放的内容以及系统的结构方式。
使用DSH,插件架构延伸到核心运行时本身。DeepSeek的架构文档明确将代理循环、模型适配器、工具注册表和会话日志描述为可替换的插件。
这是一个更宏大的自定义化面。
8、为什么开源在这里很重要
这可能是DSH最有力的论点。
使用闭源编码代理,你使用供应商提供的运行时。
你可以配置它。
你可以连接外部工具。
但你通常无法重新设计底层的代理架构。
使用DeepSeek Harness,源代码就在那里。
你可以检查实现。
更改它。
分叉它。
构建插件。
替换组件。
创建你自己的运行时配置文件。
构建一个行为不同于默认DSH体验的代理。
该项目是MIT许可证,并明确鼓励插件生态系统。
对于研究者和代理框架开发者来说,这很重要。
你不仅仅是在测试一个代理。
你可以测试你自己对代理应该是什么样子的想法。
9、但有一个问题
DeepSeek Harness仍然是开发者预览版。
DeepSeek明确警告该项目正在快速演变,兼容性破坏性更改将会发生。
这意味着我不会把DSH视为Claude Code或Codex的成熟替代品。
架构是有趣的部分。
生态系统仍需围绕它成熟。
还有一个安全考量。
DSH可以在本地机器上执行操作,因此DeepSeek建议使用具有有限权限的专用虚拟机或容器,尤其是在与不受信任的互联网内容交互时。
这是**"代理可以做任何事"和"应该允许代理做任何事"**之间的重要区别。
10、我的看法
我认为DeepSeek Harness最有趣的地方不在于它是另一个AI编码代理。
有趣的是DeepSeek正在暴露代理背后的机制。
模型是可替换的。
工具是可替换的。
会话层是可替换的。
代理循环是可替换的。
运行时可以重新组合。
而整个东西都建立在开源插件架构之上。
这使得DSH感觉不那么像**"另一个Claude Code竞争者",而更像一种构建你自己的编码代理基础设施的尝试**。
这是一个更有趣的问题。
AI编码代理的下一步可能不仅仅是更好的模型。
可能是更好的harness。
而DeepSeek刚刚开源了一个更有趣的架构供实验。
11、本地运行DeepSeek Harness
DeepSeek Harness最棒的事情之一是你不必通过托管服务来交互。
你可以本地运行整个Web UI。
选项1:直接运行
如果你已经安装了Node.js:
npx @deepseek-ai/dsh web
就这样。
默认情况下,DSH在以下地址启动其Web UI:
http://127.0.0.1:3080
官方CLI还会在你的默认浏览器中打开本地UI。如果你不想自动打开,使用:
npx @deepseek-ai/dsh web --no-open
这是无需克隆仓库即可本地试用DeepSeek Harness的最快方式。
选项2:克隆并运行源代码
如果你有兴趣实际修改Harness,这是我推荐的路径。
git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
pnpm install
pnpm run build
pnpm dsh web
重要的区别是,你现在运行的是你自己签出的Harness源代码。
原文链接:DeepSeek Harness: The Future of AI Agents?
汇智网翻译整理,转载请标明出处