引言:AI Agent领域的现象级开源项目
2026年8月13日,DeepSeek正式开源了其AI Agent运行框架DeepSeek Harness(简称DSH)。谁也没有想到,这个项目会在短短两周内引爆整个开发者社区:
DSH为什么这么火?答案藏在它的核心设计哲学里——"Everything is a plugin"(一切皆插件)。
与OpenAI Codex、Claude Code等"成品化"的编程智能体不同,DSH走了一条完全不同的路:它不试图替你决定Agent应该长什么样,而是提供一个高度模块化的插件框架,让开发者可以像搭乐高一样,自由组合出符合自己需求的AI智能体。
本文将带你深入了解DeepSeek Harness的架构设计、插件生态和实践方法,助你掌握这一AI Agent领域的革命性技术。
一、DSH的核心设计哲学:一切皆插件
1.1 为什么是插件化架构
在DSH出现之前,AI Agent框架大致可以分为两类:
第一类是"一体式"框架,比如早期的AutoGPT、BabyAGI。它们把Agent的所有能力都内置在一个代码库中——模型调用、工具管理、记忆系统、循环逻辑……全都揉在一起。这种方式上手快,但定制化非常困难,想改个Agent循环逻辑可能要动核心代码。
第二类是"半成品"框架,比如LangChain、CrewAI。它们提供了一些抽象和组件,但开发者仍然需要写大量胶水代码来把各个部分拼起来。而且框架本身有很强的"主见",如果你想做框架设计之外的事情,会很别扭。
DSH的插件化架构试图解决这些问题:
1.2 什么是"一切皆插件"
"一切皆插件"不是一句营销口号,而是DSH实实在在的架构选择。在DSH中,以下所有能力都通过插件实现:
| 能力模块 | 说明 | 代表性插件 |
|----------|------|------------|
| 模型适配器 | 对接不同的AI模型 | @dsh/model-openai, @dsh/model-deepseek, @dsh/model-anthropic |
| 工具注册 | 管理Agent可调用的工具 | @dsh/tool-core, @dsh/tool-browser, @dsh/tool-terminal |
| 技能系统 | Agent的高级能力封装 | @dsh/skill-coding, @dsh/skill-research, @dsh/skill-writing |
| 会话管理 | 对话历史和上下文管理 | @dsh/session-file, @dsh/session-database |
| 沙箱安全 | 代码执行的安全隔离 | @dsh/sandbox-docker, @dsh/sandbox-vm |
| 存储系统 | 文件和数据持久化 | @dsh/storage-local, @dsh/storage-s3 |
| Agent循环 | 智能体的核心运行逻辑 | @dsh/loop-reasoning, @dsh/loop-reactive, @dsh/loop-planner |
| 任务调度 | 多任务和子Agent管理 | @dsh/scheduler-pool, @dsh/scheduler-pipeline |
| UI界面 | 用户交互界面 | @dsh/ui-terminal, @dsh/ui-web, @dsh/ui-vscode |
也就是说,DSH的核心其实什么都不做——它只是一个插件运行时。所有具体功能都由插件提供。你想要什么样的Agent,就组装什么样的插件组合。
1.3 Cordis微内核
DSH的插件系统建立在Cordis微内核之上。Cordis的设计理念源于北京大学与DeepSeek联署的论文《A Programming Paradigm for Spatiotemporal Composability》(时空可组合性编程范式)。
Cordis的核心概念包括:
服务(Service):插件提供的功能单元。一个插件可以提供多个服务,也可以依赖其他插件的服务。
上下文(Context):插件之间共享的状态和事件总线。通过上下文,插件可以相互通信、响应事件。
生命周期钩子:插件有完整的生命周期——初始化、启动、停止、销毁。每个阶段都有对应的钩子函数。
依赖注入:插件声明自己依赖哪些服务,Cordis内核负责解析依赖关系,按正确的顺序加载插件。
这种设计的好处是,插件之间是松耦合的——你可以替换任何一个插件,只要它提供相同的服务接口,其他插件就不需要改。
二、DSH架构全景
为了更直观地理解DSH的架构,让我们通过一张分层架构图来展示:
如图所示,DSH的架构可以分为五层,从下到上依次是:
第一层:基础设施层(Infrastructure Layer)
最底层是基础设施插件,提供存储和沙箱等基础能力。这些是Agent运行的物理基础。
第二层:工具与模型层(Tools & Models Layer)
这一层包含两大类插件:工具插件(终端、浏览器、文件、搜索等)和模型适配器(对接各种AI模型)。工具是Agent的"手脚",模型是Agent的"大脑"。
第三层:Agent核心层(Agent Core Layer)
这是DSH最核心的一层,包含各种Agent循环(推理循环、规划循环、反应循环等)、记忆系统、任务调度、子Agent管理等。这些插件决定了Agent"怎么思考"。
第四层:技能层(Skills Layer)
技能是更高层次的能力封装。一个Skill可能包含多个工具调用、多步推理逻辑,用来完成一类特定任务——比如编程、研究、写作、安全审计等。
第五层:UI层(UI Layer)
最上层是用户界面插件,提供Web UI、终端UI、VS Code扩展等多种交互方式。用户通过UI与Agent交互。
而贯穿所有层的,是底部的Cordis微内核——它负责插件的加载、依赖注入、服务总线、生命周期管理等核心功能。
三、230+官方插件生态解析
DSH官方仓库已经包含了230+插件,形成了一个庞大的生态系统。让我们分类看看这些插件都能做什么。
3.1 模型适配器插件
模型适配器是最基础的插件类型,负责对接不同的AI模型服务。官方支持的模型包括:
值得一提的是,DSH支持多模型混合使用。你可以用一个强模型做推理规划,用一个快模型做简单回答,用一个本地模型处理敏感数据——这些都可以通过配置实现,不需要改代码。
# DSH 多模型配置示例
models:
planner:
plugin: "@dsh/model-deepseek"
model: "deepseek-v4-pro"
temperature: 0.7
coder:
plugin: "@dsh/model-openai"
model: "gpt-5.6"
temperature: 0.2
local:
plugin: "@dsh/model-ollama"
model: "qwen3.5-coder:14b"
baseUrl: "http://localhost:11434"3.2 工具插件
工具插件为Agent提供了与外部世界交互的能力。官方工具插件包括:
基础工具类:
@dsh/tool-terminal:终端命令执行(支持沙箱隔离)@dsh/tool-filesystem:文件系统读写@dsh/tool-browser:浏览器自动化(基于Playwright)@dsh/tool-search:网络搜索@dsh/tool-git:Git版本控制操作开发工具类:
@dsh/tool-database:数据库查询(支持MySQL、PostgreSQL、SQLite等)@dsh/tool-api:REST API调用@dsh/tool-docker:Docker容器管理@dsh/tool-kubernetes:K8s集群操作办公工具类:
@dsh/tool-gmail:Gmail邮件收发@dsh/tool-google-docs:Google文档操作@dsh/tool-notion:Notion知识库操作@dsh/tool-slack:Slack消息发送工具插件的数量是所有类型中增长最快的。社区贡献的第三方工具插件已经超过了200个,涵盖了从云服务到智能家居的各种领域。
3.3 Agent循环插件
Agent循环插件是DSH最有特色的一类插件。不同的循环决定了Agent不同的"思考方式":
@dsh/loop-reactive(反应式循环):
最简单的循环——接收用户输入,调用模型生成回复,调用工具执行,返回结果。适合简单的对话场景和快速响应任务。
@dsh/loop-reasoning(推理式循环):
基于思维链(Chain of Thought)的推理循环。Agent会先思考,制定计划,然后逐步执行。适合需要深度推理的复杂任务。
@dsh/loop-planner(规划式循环):
先制定详细计划,然后按计划执行,执行过程中可以动态调整计划。适合多步骤、长周期的任务。
@dsh/loop-reflexion(反思式循环):
在推理循环的基础上增加了"反思"步骤——Agent完成一个子任务后会自我检查,如果发现问题就修正后再继续。适合对准确性要求高的任务。
你甚至可以自己写一个Agent循环插件,完全自定义Agent的思考流程。这在其他框架中几乎是不可能的。
3.4 技能插件
技能(Skill)是DSH中最高级的能力封装。一个Skill可以理解为"Agent完成某类任务的专业能力"。
官方提供的技能插件包括:
@dsh/skill-coding(编程技能):
这是最强大的Skill之一。它封装了完整的软件开发能力——理解代码库、编写代码、运行测试、调试修复、重构优化。支持多种编程语言和框架。
@dsh/skill-research(研究技能):
科研调研能力。可以自动搜索信息、阅读文档、整理资料、生成调研报告。适合做市场调研、技术调研、学术研究等。
@dsh/skill-writing(写作技能):
内容创作能力。支持各种文体——博客文章、技术文档、营销文案、小说等。可以根据要求调整风格、结构和语气。
@dsh/skill-data-analysis(数据分析技能):
数据分析能力。可以读取数据文件、进行统计分析、生成可视化图表、撰写分析报告。支持Python(Pandas/Matplotlib)和SQL。
技能插件的设计非常巧妙——它本身也是一个插件,可以调用其他插件的服务。你可以基于基础工具和循环,组合出自己的专业技能。
四、DSH实践:从零构建一个定制化Agent
理论说了这么多,让我们通过一个实际例子,看看如何用DSH构建一个定制化的AI Agent。
4.1 安装和初始化
首先安装DSH CLI:
npm install -g @dsh/cli然后初始化一个新项目:
dsh init my-agent
cd my-agent初始化后的项目结构大致是这样的:
my-agent/
├── dsh.config.yaml # DSH配置文件
├── package.json
├── plugins/ # 自定义插件目录
│ └── .gitkeep
├── workspace/ # Agent工作空间
└── README.md4.2 配置插件
编辑dsh.config.yaml,选择你需要的插件:
# dsh.config.yaml
name: my-custom-agent
version: 1.0.0
plugins:
# 模型适配器 - 使用DeepSeek V4 Pro
- name: "@dsh/model-deepseek"
config:
apiKey: "${DEEPSEEK_API_KEY}"
model: "deepseek-v4-pro"
# 工具插件 - 文件系统和终端
- name: "@dsh/tool-filesystem"
config:
rootDir: "./workspace"
allowedOperations: ["read", "write", "create", "delete"]
- name: "@dsh/tool-terminal"
config:
sandbox: "docker"
image: "dsh/runtime-node:latest"
timeout: 60
- name: "@dsh/tool-browser"
config:
headless: true
- name: "@dsh/tool-search"
config:
provider: "tavily"
apiKey: "${TAVILY_API_KEY}"
# Agent循环 - 使用推理式循环
- name: "@dsh/loop-reasoning"
config:
maxSteps: 20
reflection: true
# 技能插件 - 编程技能
- name: "@dsh/skill-coding"
config:
languages: ["typescript", "python", "bash"]
testFramework: "jest"
# UI - Web界面
- name: "@dsh/ui-web"
config:
port: 3000
theme: "dark"这个配置组装了一个具备编程能力的Web Agent。你可以根据需要增减插件。
4.3 开发自定义插件
DSH最强大的地方在于你可以开发自己的插件。让我们创建一个简单的天气查询工具插件:
// plugins/weather-tool/index.ts
import { definePlugin, Tool } from '@dsh/core';
export default definePlugin({
name: 'weather-tool',
version: '1.0.0',
description: '天气查询工具插件',
// 声明依赖的服务
depends: ['model-context'],
// 提供的服务
provides: ['weather-tool'],
// 插件初始化
async setup(ctx) {
const weatherTool: Tool = {
name: 'get_weather',
description: '查询指定城市的天气信息',
parameters: {
type: 'object',
properties: {
city: {
type: 'string',
description: '城市名称,如北京、上海'
},
unit: {
type: 'string',
enum: ['celsius', 'fahrenheit'],
default: 'celsius',
description: '温度单位'
}
},
required: ['city']
},
async execute(params) {
const { city, unit } = params;
// 调用天气API(这里用模拟数据)
const result = await fetchWeatherAPI(city, unit);
return JSON.stringify(result);
}
};
// 注册工具到工具服务
ctx.service('tool-registry').register(weatherTool);
return {
weatherTool
};
}
});然后在配置文件中启用它:
plugins:
# ... 其他插件
- name: "./plugins/weather-tool"就这么简单。你的Agent现在就具备了查询天气的能力。
4.4 运行Agent
配置完成后,启动Agent:
dsh start然后在浏览器中打开 http://localhost:3000,你就可以和你的定制化Agent对话了。
五、社区生态与发展趋势
5.1 社区插件生态
DSH的开源社区发展极为迅猛。截至发布两周,社区贡献的第三方插件已经超过500个,涵盖了各种领域:
垂直行业插件:
开发工具插件:
趣味和效率插件:
5.2 企业采用情况
DSH的企业采用速度也超出了很多人的预期。据不完全统计,发布两周内已有超过200家企业宣布基于DSH构建内部Agent平台。
企业选择DSH的主要原因包括:
数据安全:可以完全自部署,数据不需要经过第三方服务器。对于金融、医疗等对数据敏感的行业,这一点至关重要。
定制化能力:每个企业的技术栈和工作流都不一样,DSH的插件化架构让企业可以根据自己的需求定制Agent,而不是迁就一个标准化产品。
成本可控:相比按席位收费的SaaS产品,自部署DSH的成本在大规模使用时更有优势。
避免供应商锁定:DSH是开源的,企业不用担心被某一家供应商绑定。
5.3 发展趋势与挑战
DSH虽然发展迅猛,但也面临一些挑战:
学习曲线:DSH的灵活性带来了复杂性。新手要理解插件系统、服务依赖、配置项等概念,需要一定的学习成本。
质量参差不齐:社区插件的质量参差不齐。有些插件可能存在安全隐患或功能bug,需要用户自己甄别。
标准化问题:随着插件数量的增长,缺乏统一的标准会导致兼容性问题。DSH团队正在推动插件标准的制定。
性能优化:插件数量多了之后,启动时间和运行时性能会受到影响。如何在保持灵活性的同时优化性能,是一个重要课题。
尽管有这些挑战,DSH代表的"插件化AI Agent"方向无疑是正确的。就像当年的Eclipse IDE、WordPress、Docker等生态系统一样,一个开放、可扩展的平台终将汇聚最强大的社区力量。
结语:AI Agent的"Linux时刻"
DeepSeek Harness的爆火不是偶然的。它恰逢其时地满足了开发者对AI Agent"可定制、可扩展、可控"的需求。
在DSH之前,AI Agent要么是"黑盒产品"(比如Codex、Claude Code)——好用但不自由;要么是"半成品框架"(比如LangChain)——自由但不好用。DSH走出了第三条路:提供一个稳固的微内核,所有能力都通过插件提供,既灵活又有序。
我们可以把DSH看作AI Agent领域的"Linux时刻"——就像Linux内核之于操作系统生态一样,DSH的微内核+插件架构可能成为未来AI Agent的基础平台。每个人都可以基于它构建自己的AI Agent,每个公司都可以基于它打造自己的AI生产力平台。
20万星只是一个开始。随着社区生态的不断壮大,DSH可能会像今天的Linux一样,成为无处不在的AI基础设施。而现在,正是参与这场革命的最佳时机。
参考来源:DeepSeek Harness官方文档、Cordis论文《A Programming Paradigm for Spatiotemporal Composability》、GitHub社区数据、DSH官方博客
💬 评论区 (0)
暂无评论,快来抢沙发吧!