首页行业百科DeepSeek Harness 插件机制与 Cordis 入门

DeepSeek Harness 插件机制与 Cordis 入门

2026-08-16 13:28:14阅读 3

"一切皆插件"是 DSH 的口号,而真正实现它的引擎叫 Cordis——一个组合(composition)框架。这一篇不写代码,先建立心智模型:DSH 的能力是怎么被"组合"出来的,两个"平面"各管什么,以及你要扩展时该往哪一层动手。

DeepSeek Harness 插件机制与 Cordis 入门_图1

组合而非堆砌:能力都是"行"

DSH 里每个能力都是配置中的一行(row)。不存在"另一种配置语言"——改 agent 的能力 = 改组成它的行。比如:

- id: tool-web
  name: '@deepseek-ai/dsh-tool-web'

这一行挂上,agent 就有了网络搜索工具。想多一个能力?加一行。想去掉?禁一行。能力与配置一一对应,这是 DSH 和"大而全的单一程序"最本质的区别。

两个平面:宿主组合 vs Agent Preset

动手之前必须先分清两件事——这是新手最容易搞混的地方:

宿主组合(Host composition)Agent Preset
实例数每个进程一份每个会话一份,随会话销毁
放什么注册表本身(tools/sessions 等)、跨会话服务(持久化/存储/遥测)、沙箱、模型路由单会话的工具插件、persona、提示词段、压缩策略
谁来管进程级配置预设目录里的agent.cordis.yml

判断口诀:“只有会话内才需要的东西”进 Preset,“跨会话共享的底座”留在宿主组合。 比如子代理注册表要回答跨会话查询,就必须放宿主层——放 Preset 会饿死宿主层,第二个会话还会撞名。

Cordis 是什么角色

Cordis 是 DSH 的插件底座,负责三件事:

  • 组合:把各行插件按声明拼成一棵配置树(叠加规则见 配置层与 patch
  • 服务:插件之间通过注入(inject)拿服务、通过提供(provide)给服务
  • 生命周期:插件的加载、卸载、作用域

你写插件时接触的核心就是两样:inject(我要什么服务)和 apply(ctx)(我干什么)。上下文对象 ctx 是插件的入口——注册工具、提供服务的 API 都挂在它上面。

你的扩展落点在哪一层

想做的事落点教程
写操作手册给 agent写一个 Skill(无代码)编写 Skill
新增一个工具/服务写插件(有代码)插件开发
组合一套工具+人设建 Preset创建 Agent Preset
分享给社区发布插件发布插件

常见疑问

问题解答
加了一行没生效?用 dump 命令查配置树,确认行被加载(见配置层与 patch
服务“等不到提供方”?某行 inject 了无人提供的服务——检查依赖行是否挂上
能改官方内置预设吗?不能。复制出来改副本(见创建 Agent Preset

接下来读什么


← 上一篇:4.5 沙箱与安全:三种权限模式 | 下一篇:5.2 编写 Skill:自定义技能教程

↑ 返回 教程总目录

立即领取行业头部企业 AI 应用案例

资深 AI Agent 技术专家将为您定制数字员工解决方案

立即获取方案