「一切皆插件」到底指什么?Cordis 概念拆解

插件 / 科普 · 2026年8月15日 · 最后更新于 v0.1

「一切皆插件」到底指什么?Cordis 概念拆解

⚠️ 开发者预览版,概念可能随版本演进。以官方架构文档 docs/architecture.md 为准。

DeepSeek Harness 最常被提到的一句话是:「一切皆插件」(Everything is a Plugin)。这不是口号,是架构本身。

底层是一个叫 Cordis 的开源插件元框架(配套论文《A Programming Paradigm for Spatiotemporal Composability》,北大 × DeepSeek 联合署名)。Cordis 只负责一件事:插件的加载、卸载和依赖管理。Harness 的所有具体能力——模型、工具、记忆、UI、沙箱、循环——都是挂在它上面的「插件」。

三个关键概念

1. Profile 与 Bundle(配置层)

一个跑起来的 dsh 实例,是由「有序层」在启动时组合出的插件树。

  • Profile:预设组合,官方示例有 webheadless
  • Bundle:配置行的分发格式(如 dsh-base 贡献模型适配器、工具、持久化、沙箱、审批策略)。
  • 改行为不用 fork 代码——写个 patch 文件覆盖某一行配置即可。

2. 会话日志(Session Log)

追加式的事件日志,是「模型看到什么」的唯一真相源。架构文档把它叫一条不变量:model-visible means logged——任何进入模型请求的内容,都必须能从日志还原。分叉、续跑、转录、遥测都从这条流派生。

3. 能力缝(Seam)

可替换的能力,有三个角色:服务定义、提供方、消费方。

因为文件系统和子进程共享同一个执行世界,把它们指向远程沙箱,Bash / PTY / LSP 工具就跟着走;子代理提供方同样走这套接口——从新起一个子 agent,到把一轮委托给别的产品。

扩展面有多宽?

官方架构文档说得很直白:

  • 加模型提供方 → 在 ctx.llm 注册适配器
  • 加模型可见能力 → 在 ctx.tools 注册
  • 限制子进程 → 用 ctx.sandbox 后端
  • 拦截任何请求/工具调用 → 监听 agent 或 tools 的事件瀑布
  • 连「会话标题」都是可注册的提供方

没有需要打补丁的特权核心:扩展 dsh 的方式,就是在别的插件旁边再挂一个插件。

为什么重要

对国内团队来说,「插件化」意味着:安全策略、私有模型、内部工具,都能沉淀成可复用模块,而不是改源码。这正是它相对「绑定自家模型的商业工具」最大的不同。


本站为第三方独立科普站,与 DeepSeek 无官方关联。概念以官方架构文档为准。

广告
— 预留广告位(接联盟/广告时在此填入代码)—