Files
deepseek-harness/website/zh-CN/design/index.md
2026-07-19 22:52:03 +08:00

40 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 系统设计
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 模式