91 lines
3.6 KiB
Markdown
91 lines
3.6 KiB
Markdown
# 扩展体系
|
||
|
||
## 静态扩展装配
|
||
|
||
**实现阶段:P1**
|
||
|
||
- 使用明确的产品装配清单安装公共 Extension 和产品线私有 Extension。
|
||
- 第一版通过静态 import 和 Extension Factory 装配,不使用动态扫描或 manifest。
|
||
- Kernel 只调用 Extension 注册的公共抓手,不认识任何具体 Extension。
|
||
|
||
## Extension 生命周期
|
||
|
||
**实现阶段:P1**
|
||
|
||
- 定义统一的 `setup/start/stop` 契约。
|
||
- 全部 Extension 完成 `setup` 后再按装配顺序 `start`,关闭时逆序 `stop`。
|
||
- 启动或停止失败必须留下可诊断结果,并尽量清理已经获得的资源。
|
||
|
||
## 能力注册与运行事件
|
||
|
||
**实现阶段:P1**
|
||
|
||
- Extension 可以注册 Kernel 主动调用的能力,也可以订阅已经发生的运行事件。
|
||
- 能力注册使用带类型的扩展点,不依赖字符串扫描,也不要求能力属于固定技术分类。
|
||
- Kernel 事实只由拥有该流程的 Kernel 代码发布;Extension 只能订阅,监听失败隔离并进入诊断记录。
|
||
- 事件监听不用于偷偷修改主流程;需要返回结果或阻止执行时使用明确的受控调用点。
|
||
|
||
## 公共与产品线私有扩展
|
||
|
||
**实现阶段:P1**
|
||
|
||
- 公共 Extension 保存模型、Workspace、记忆、计划等不只属于一条产品线的能力,不要求三个产品全部启用。
|
||
- CLI、Web、Desktop 私有 Extension 只保存各自输入、展示、协议与原生集成。
|
||
- 产品私有实现不能互相依赖;复用部分进入公共 Extension。
|
||
|
||
## Tool 与 Run Hook 执行接缝
|
||
|
||
**实现阶段:P2**
|
||
|
||
- 围绕 Tool 调用和 Run 完成提供少量明确、可测试的 Hook 执行接缝。
|
||
- 支持观察、限制、确认或附加处理,同时保持实际 Tool 调用由 Kernel 统一控制。
|
||
- 接缝失败不会悄然破坏主流程,执行结果进入 Run 日志。
|
||
|
||
## Hook 管理与诊断
|
||
|
||
**实现阶段:P4**
|
||
|
||
- 支持执行处理器的顺序、启停、异常隔离、耗时和调用链查看。
|
||
- 明确哪些处理器只观察、哪些可以拒绝或结构化修改调用。
|
||
- 为日志、摘要、确认、通知和评估提供稳定抓手。
|
||
|
||
## 本地扩展加载
|
||
|
||
**实现阶段:P4**
|
||
|
||
- 在静态装配契约之上增加本地 Extension 发现、校验和加载。
|
||
- 支持安装、启用、禁用、重新加载和错误回退。
|
||
- 内置与本地安装的 Extension 使用相同生命周期和能力注册方式。
|
||
|
||
## Profile 能力组合
|
||
|
||
**实现阶段:P4**
|
||
|
||
- Profile 声明每种 Space 默认使用的模型、Tools、运行策略和上下文能力,但不是架构层或 Extension 类型。
|
||
- 支持全局默认、Project/Task/System Evolution Profile 和 Space 级覆盖。
|
||
- 运行前得到确定的能力集合,并能向用户解释最终配置来源。
|
||
|
||
## 扩展开发与版本管理
|
||
|
||
**实现阶段:P4**
|
||
|
||
- 提供扩展模板、测试工具、调试输出和兼容性检查。
|
||
- 将 Extension 变更纳入 System Evolution 的候选、测试和回退流程。
|
||
- 当真实依赖、构建或分发需求出现后,支持从源码目录提升为独立 package。
|
||
|
||
## Behavior 与 Skill 能力包
|
||
|
||
**实现阶段:P5**
|
||
|
||
- 将可复用的 Agent 角色、提示词、上下文策略和工作方法封装成 Extension 内的 Behavior 能力,而不是单独架构模块。
|
||
- 支持 Behavior 组合、参数化和按 Space 或具体 Run 选择。
|
||
- Skill 复用现有 Tool 和 Run 机制,不建立绕过 Kernel 的第二套执行系统。
|
||
|
||
## 扩展分发
|
||
|
||
**实现阶段:P8**
|
||
|
||
- 支持本地 Extension 打包、来源记录、版本锁定、更新和卸载。
|
||
- 对不兼容或启动失败的 Extension 提供隔离和回退。
|
||
- 分发机制服务个人设备与自举,不以建设公共插件市场为前提。
|