DeepSeek Harness 解读

深入解析DeepSeek的开源、插件优先的代理运行时——以及它为何与Claude Code和Codex有根本性的不同。

DeepSeek Harness 解读
梯形图转SCL | AI模型价格对比 | AI工具导航 | ONNX模型库 | Vibe Coding教程 | PLC在线仿真器 | Tripo 3D | Meshy AI | ElevenLabs | KlingAI | ArtSpace | Phot.AI | InVideo

大多数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、四种代理模式

None

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、你实际上可以自定义和添加自己的

None

这就是开源部分变得重要的地方。

DSH界面为以下内容暴露了独立区域:

模型 → 插件 → 代理预设

你可以检查已安装的插件及其状态、更改配置并创建自定义预设。

但更深层次的自定义发生在UI之下。

因为运行时是开源的且基于插件,你不受默认预设的限制。

你可以修改源代码。

编写你自己的插件。

替换现有功能。

创建不同的代理循环。

更改模型适配器。

构建你自己的工具。

创建自定义沙箱。

组合你自己的代理预设。

官方架构明确将模型适配器、工具注册表、会话日志和代理循环等核心组件视为插件。

这就是重要的区别。

你不仅仅是在自定义代理的行为。

你可以自定义使代理工作的机制。

6、轨迹视图是另一个重大特性

None

代理调试很难。

普通应用程序给你日志。

代理给你对话、工具调用、上下文更改、子代理、模型输出和不断变化的状态。

DSH通过仅追加的会话日志来解决这个问题。

根据DeepSeek的说法,该日志记录模型看到的内容,包括系统提示、推理、工具调用和结果、子代理调度和上下文注入。然后轨迹视图可以检查这些记录,而恢复、分叉、搜索和重放在同一事件流上操作。

对于代理开发者来说,这不仅仅是一个漂亮的UI特性。

它是一个可观测性原语。

如果代理做出了错误的决定,你想知道:

模型看到了什么?
        ↓
它选择了哪个工具?
        ↓
工具返回了什么?
        ↓
注入了什么上下文?
        ↓
运行了哪个子代理?
        ↓
接下来发生了什么?

可追溯的事件流使调查变得容易得多。

7、DSH vs Claude Code vs Codex

这就是DSH变得更容易理解的地方。

Claude CodeCodex主要是面向开发者的编码代理产品。

Claude Code在终端中运行,可以探索代码库、编辑文件、执行命令、使用MCP并自动化开发工作流。Anthropic还提供可配置的权限和CLI控制。

Codex是OpenAI的编码代理,具有本地CLI以及IDE、桌面和云端界面。其CLI在Apache-2.0下开源。

但DeepSeek Harness从不同的架构角度来看待这个问题。

None

重要的区别不仅仅是开源与闭源

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?

汇智网翻译整理,转载请标明出处