从模型到Agent:DeepSeek补齐最后一块拼图
2026年8月13日,DeepSeek发布了开源Agent框架Harness v0.1开发者预览版。该项目采用MIT许可证,基于Cordis元框架构建,核心理念是"一切皆插件"(Everything is a Plugin)。DeepSeek将这一关系简洁地概括为:Agent = Model + Harness——模型是Agent的灵魂,Harness让Agent能够感知环境、调用工具、在真实场景中持续工作。
DeepSeek的V4系列模型已经以开放权重和极低API价格闻名,但Agent可靠性一直是其短板,而这本质上是一个Harness问题。Harness的发布填补了这一空白,为开发者提供了一个开放、可构建的Agent运行时,直接对标Anthropic的Claude Code。
Cordis元框架:插件化架构的核心
什么是Cordis
Cordis是Harness底层的插件系统元框架。其内核负责插件的挂载、卸载和依赖管理,而Agent的所有实际能力都存在于插件中。这种设计意味着:
插件覆盖范围
在Harness中,以下所有组件都是插件:
| 插件类型 | 功能说明 | 可替换示例 |
|---------|---------|-----------|
| Models | LLM后端 | DeepSeek V4、GPT、本地模型 |
| Tools | 文件编辑、Shell、搜索 | 自定义工具链 |
| Skills | 可复用的Agent能力 | 代码审查、测试生成 |
| Sessions | 对话和运行状态 | 持久化存储后端 |
| Sandboxes | 隔离执行环境 | Docker、Firecracker、本地进程 |
| Storage | 状态和产物存储 | 本地文件系统、S3 |
| Loops | Agent控制流 | 自定义编排逻辑 |
| UI | 用户界面 | Web UI、CLI、API |
# Harness 配置文件示例 (dsh.config.yaml)
model:
plugin: "@deepseek-ai/plugin-model-v4-flash"
config:
api_key: "${DEEPSEEK_API_KEY}"
temperature: 0.3
sandbox:
plugin: "@deepseek-ai/plugin-sandbox-docker"
config:
image: "node:20-slim"
memory: "2g"
tools:
- plugin: "@deepseek-ai/plugin-tool-file-editor"
- plugin: "@deepseek-ai/plugin-tool-shell"
- plugin: "@deepseek-ai/plugin-tool-web-search"
config:
engine: "google"
session:
plugin: "@deepseek-ai/plugin-session-sqlite"
config:
path: "./.dsh/sessions.db"四种运行模式
Harness预置了四种运行模式,通过重组相同的插件来适应不同任务:
Standard模式
完整的编程Agent,包含文件编辑、Shell、文件搜索、网络搜索、技能、规划、目标设定、子代理和工作流。这是日常开发中最常用的模式。
Code模式
在Standard模式所有能力的基础上,工具通过Code Mode SDK暴露,使模型能够在单个TypeScript程序中组合多步操作,而不是通过多次独立的工具调用。这大幅减少了Agent的往返次数。
// Code Mode SDK 示例:模型生成TypeScript代码来编排多步操作
import { tools } from '@deepseek-ai/dsh-code-sdk';
async function refactorComponent(filePath: string) {
// 读取文件
const content = await tools.file.read(filePath);
// 分析依赖
const deps = await tools.shell.exec(`grep -r "import.*from" ${filePath}`);
// 搜索相关测试
const tests = await tools.search.find(`**/*${filePath.split('/').pop().split('.')[0]}*test*`);
// 重构代码
const refactored = await tools.file.edit(filePath, {
find: "class Component",
replace: "function Component"
});
// 运行测试验证
const result = await tools.shell.exec('npm test');
return { refactored, testResult: result };
}Minimal模式
精简到只有两个工具:持久化bash和str_replace_editor。这是DeepSeek用于官方模型基准测试的模式,也是一个用最小脚手架评估模型的干净环境。
这个模式特别值得关注:DeepSeek公布的Code Agent基准分数是在"Harness minimal mode"下产生的。这意味着你在生产环境中的实际表现很大程度上取决于你使用的Harness和脚手架配置。
Creator模式
用于构建自定义预设:检查实时运行时、在内存中测试Cordis插件、将它们组合成新的模式。这为高级用户提供了完全定制Agent行为的能力。
可观测性:每次运行都可追溯
Harness的第二个核心设计原则是可观测性。模型看到的一切都被记录在只追加的会话日志中:
Trajectory视图
Trajectory视图允许按来源检查这些记录。由于日志是单一事件流,你可以对任何运行进行恢复、分叉、搜索和重放。
# 概念示例:分析Agent运行轨迹
# Harness记录的完整事件流可用于调试和优化
trajectory = {
"run_id": "run_20260816_001",
"events": [
{"type": "system_prompt", "content": "你是代码审查Agent..."},
{"type": "tool_call", "tool": "file.read", "args": {"path": "src/app.ts"}},
{"type": "tool_result", "result": "import express from 'express'..."},
{"type": "reasoning", "content": "分析到使用了express框架,需要检查路由定义..."},
{"type": "tool_call", "tool": "shell.exec", "args": {"cmd": "grep -r 'app.get' src/"}},
{"type": "tool_result", "result": "src/routes/user.ts: app.get('/users'..."},
{"type": "subagent_schedule", "task": "审查src/routes/user.ts", "agent": "code-reviewer"},
# ... 完整的执行轨迹
]
}
# 可以从任何事件点恢复或分叉
# replay_from(trajectory, event_index=3)
# fork_from(trajectory, event_index=5, new_config={...})这种可追溯性对于调试Agent"为什么偏离轨道"至关重要——一个可检查、可重放的事件日志,让调试从猜测变为确知。
快速上手
通过npx启动
# 最快的方式:通过npx启动Web UI
npx @deepseek-ai/dsh web
# 默认在 http://127.0.0.1:3080 启动Web界面从源码构建
git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
pnpm install
pnpm run build
pnpm dsh web开发自定义插件
// 自定义工具插件示例
import { definePlugin } from '@deepseek-ai/cordis';
export default definePlugin({
name: 'my-custom-tool',
type: 'tool',
setup(ctx) {
ctx.registerTool({
name: 'database_query',
description: '查询数据库并返回结果',
parameters: {
type: 'object',
properties: {
query: { type: 'string', description: 'SQL查询语句' }
},
required: ['query']
},
async execute({ query }) {
const result = await db.execute(query);
return JSON.stringify(result);
}
});
}
});DeepSeek鼓励插件生态发展:将插件仓库标记dsh-plugin主题即可被发现,反馈通过GitHub Discussions和Discord社区进行。
MIT许可证的战略意义
Harness选择MIT许可证是深思熟虑的战略决策。MIT是最宽松的开源许可证之一,允许任何人使用、修改和构建商业产品——与React和Node.js使用的许可证相同。
这延续了DeepSeek的一贯模式:以有竞争力的模型性能配合激进的开源发布,在OpenAI远离开源、Anthropic从未拥抱开源、Meta的Llama使用受限许可证的背景下,MIT许可的Harness加上MIT许可的开放权重,意味着团队可以完全在不依赖任何专有供应商的情况下运行端到端的Agent栈。
与Claude Code和Codex的对比
| 特性 | DeepSeek Harness | Claude Code | Codex |
|------|-----------------|-------------|-------|
| 许可证 | MIT开源 | 闭源 | 闭源 |
| 架构 | 插件化内核 | 单体式 | 单体式 |
| 模型支持 | 任意模型 | 仅Claude | 仅GPT |
| 自定义程度 | 极高(配置驱动) | 有限 | 有限 |
| 可观测性 | 完整事件流+Trajectory | 基础日志 | 基础日志 |
| 沙箱 | 可替换插件 | 内置 | 内置 |
| UI | 可替换插件 | 固定 | 固定 |
适用人群
注意事项
Harness目前处于开发者预览阶段,迭代迅速。DeepSeek明确警告将会有破坏性兼容性变更,核心插件和API会持续演进。v0.1适合实验和构建插件,但尚不适合固定到生产系统中。
总结
DeepSeek Harness代表了Agent框架设计的一次重要范式转变——从单体式、封闭式的Agent工具转向插件化、开放式的Agent运行时。"一切皆插件"的理念不仅赋予了开发者前所未有的定制自由,更通过MIT许可证确保了这种自由是持久的。随着Agent生态的成熟,这种可组合、可替换、可观测的架构设计很可能成为行业标准。
💬 评论区 (0)
暂无评论,快来抢沙发吧!