LAYER 01 · 建立全局直觉
为什么一切都是插件
不是为了追求插件数量,而是让每项副作用都有所有者、每项能力都有替换点
行为 = 插件 + 契约 + 生命周期如果 Session、工具甚至 Agent Loop 都是插件,系统还剩下什么“核心”?
先建立直觉
传统框架像一艘焊死舱室的船:改动力系统要切开船体。Cordis 插件树更像标准化航天舱段:每段声明接口、连接点和分离程序,组合方式改变,任务形态就改变。
MECHANISM
机制拆解
Cordis 的最小内核负责 Context、插件挂载、服务注册、事件分发与 effect 回收;具体 Agent 行为都由树上的插件贡献。
扩展的正确姿势是监听既有事件或注册服务,而不是在 agent-loop 中新增 provider 特判。
第 1 步 / 共 4 步
挂载插件
插件获得一个 Context 和配置。
INVARIANTS
无论怎么扩展,都不能破坏
- 官方能力与第三方能力遵循同一种插件契约
- 插件卸载后不得留下监听器、服务或后台任务
- 扩展依赖公开的 service/event,而不是具体 loop 实现
FAILURE MODES
最容易踩中的坑
- ×把插件理解为 UI 市场里的第三方小组件
- ×注册副作用却没有 disposer
- ×依赖加载顺序的偶然行为而不声明依赖
VERIFY IN SOURCE
不要相信结论,去源码里复核
以下链接固定到官方 deepseek-harness@47f9438;查看当前上游时请留意后续 breaking changes。
KNOWLEDGE CHECK
先停十秒,再揭晓答案
为什么“可卸载”与“可安装”同样重要?
为什么下一章紧接在这里
理解“全是插件”后,需要先画出整棵系统的六个平面,才能知道每个插件应该落在哪里。