# 扩展体系 ## 静态扩展装配 **实现阶段: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 提供隔离和回退。 - 分发机制服务个人设备与自举,不以建设公共插件市场为前提。