# 系统设计 DeepSeek Harness 建立在 Cordis 微内核之上,采用「一切皆插件」的架构。本节阐述这套设计背后的理论基础和设计哲学。 ## 核心思想 Harness 追求三种可组合性的统一: | 维度 | 含义 | Cordis 对应机制 | |------|------|----------------| | 逻辑可组合性 | 功能能否自由拆分和拼装 | 插件系统、事件系统 | | 时间可组合性 | 运行时能否安全地加载/卸载功能 | 可逆作用、自动清理 | | 空间可组合性 | 依赖关系能否被安全地声明和管理 | 服务生命周期、依赖注入 | 这三种可组合性在上下文模型中统一为单一的编程范式。 ## 目录 - [可组合性与插件系统](composability) — 组合的本质,以及传统插件系统为什么不可靠 - [作用与余作用](effects-coeffects) — Cordis 效果系统的理论模型 - [可逆作用](revertible-effects) — 时间可组合性的形式化定义与证明 - [响应式余作用](reactive-coeffects) — 空间可组合性的服务语义 - [上下文模型](context-model) — Context 如何将作用与余作用统一 ## 设计如何映射到 Harness | 理论概念 | Harness 中的体现 | |----------|-----------------| | 可逆作用 | `ctx.tools.register()` 返回 disposer;插件卸载时工具自动注销 | | 响应式余作用 | `inject: ['llm']` 声明依赖;LLM 适配器不可用时插件自动挂起 | | 上下文派生 | 子 Agent 拥有独立 Context,继承父级服务但有独立生命周期 | | Waterfall 事件 | `agent/request` 链式拦截,任一监听器可决定最终请求参数 | | Capability seam | bash/fs/web 三层拆分:接口 → 实现 → 模型工具 | ## 进一步阅读 - [插件与生命周期](/zh-CN/develop/framework/) — 实践中的 Fiber 状态机 - [服务与依赖](/zh-CN/develop/framework/service) — 服务声明与注入 - [能力的三层拆分](/zh-CN/develop/practice/) — Capability seam 模式