网通社科技快报
DeepSeek Harness 插件架构解析Cordis 实现灵活可扩展
DeepSeek Harness 的核心插件架构 Cordis 引发了广泛关注。与传统插件系统不同,Cordis 采用时空可组合设计,将模型、工具、会话等核心组件完全交由插件管理,彻底摆脱了固定业务内核的束缚。其设计灵感来源于 Eclipse 和 OSGi 等早期插件系统,但进行了现代化重构,简化为 Fiber 执行单元,每个函数或 Service 子类均可独立运行,实现了细粒度模块化。这种设计使得 Agent 运行时能够快速响应频繁变化的需求,如工具、提示词片段和模型适配器的调整。
Cordis 的核心在于 Context 对象,它同时承担依赖容器、插件挂载入口和事件入口的多重角色。服务通过稳定名称出现在 Context 上,例如 ctx.tools、ctx.llm、ctx.sessions。插件仅在所需服务可用时激活,服务消失则依赖插件进入卸载或等待状态,有效解决了传统插件系统中隐含初始化顺序的问题。实际应用中,Claude Code 的 Mod 热加载功能采用了类似的事件驱动机制,具备 Observe、Rewrite 和 Answer 三种能力,实时监听和修改事件,降低了 AI 工具的定制门槛,并实现了界面和行为的动态调整。
DeepSeek Harness 将 Cordis 源码直接集成到 vendor/ 目录并进行本地维护,对 Fiber 重入卸载加固、配置更新事务、HMR 精确监听等功能进行了深度优化,增强了框架的可审计性。虽然增加了维护成本,但确保了框架在处理高风险操作时的安全性。
Cordis 的设计并非孤立存在,它与 DeepSeek Harness 的其他组件紧密协作。Harness 在 Cordis 的基础上定义了 sessions、tools、llm、agents 等服务,并利用这些服务组装产品。这种运行时机制与领域框架的分离设计,使框架更加通用,能够适应不同的应用场景。
总的来说,Cordis 的设计体现了现代软件架构的几个重要趋势:细粒度模块化、动态服务绑定、声明式依赖管理和事件驱动编程。这些特性共同构成了一个高度灵活、可扩展的 Agent 运行时框架,为未来的 AI 应用开发提供了重要的技术基础。
Cordis 的核心在于 Context 对象,它同时承担依赖容器、插件挂载入口和事件入口的多重角色。服务通过稳定名称出现在 Context 上,例如 ctx.tools、ctx.llm、ctx.sessions。插件仅在所需服务可用时激活,服务消失则依赖插件进入卸载或等待状态,有效解决了传统插件系统中隐含初始化顺序的问题。实际应用中,Claude Code 的 Mod 热加载功能采用了类似的事件驱动机制,具备 Observe、Rewrite 和 Answer 三种能力,实时监听和修改事件,降低了 AI 工具的定制门槛,并实现了界面和行为的动态调整。
DeepSeek Harness 将 Cordis 源码直接集成到 vendor/ 目录并进行本地维护,对 Fiber 重入卸载加固、配置更新事务、HMR 精确监听等功能进行了深度优化,增强了框架的可审计性。虽然增加了维护成本,但确保了框架在处理高风险操作时的安全性。
Cordis 的设计并非孤立存在,它与 DeepSeek Harness 的其他组件紧密协作。Harness 在 Cordis 的基础上定义了 sessions、tools、llm、agents 等服务,并利用这些服务组装产品。这种运行时机制与领域框架的分离设计,使框架更加通用,能够适应不同的应用场景。
总的来说,Cordis 的设计体现了现代软件架构的几个重要趋势:细粒度模块化、动态服务绑定、声明式依赖管理和事件驱动编程。这些特性共同构成了一个高度灵活、可扩展的 Agent 运行时框架,为未来的 AI 应用开发提供了重要的技术基础。