# Extension 目录 具体能力全部由 Extension 实现。Tool、页面、命令和事件监听器只是 Extension 内部组成,不是新的架构类型。 ## 第一版 ```text src/extensions/ ├── shared/ │ ├── workspace/ │ ├── agent/ │ └── deepseek/ └── cli/ ``` - `workspace`:Workspace、Conversation 和消息。 - `agent`:Run、上下文和 Agent 执行。 - `deepseek`:DeepSeek 模型接入。 - `cli`:终端输入、命令和展示。 第一版只静态装配这四个 Extension。 ## 协作 - 一个明确能力由 Extension 提供,调用方取得后直接调用。 - 模型、Tool 等多个实现通过同一扩展点汇集,由业务拥有者选择。 - 状态真正发生后再发布事件,监听器只做展示、日志或派生处理。 - Extension 只引用其他 Extension 的公开契约。 ## 后续方向 后续公共能力大致包括: ```text 项目操作与 Git 自身进化 计划与多 Agent 记忆与知识 浏览器与本机控制 自动化 ``` CLI、Web、Desktop 各自先保持一个产品 Extension。远程仓库、外部 Tool 协议、Keychain 等在实际接入时再决定是否独立。 ## 何时拆分 只有出现以下真实边界时才创建新 Extension: - 需要独立启停; - 拥有独立的长期资源或数据; - 存在可替换实现; - 有明确产品或平台边界。 否则继续留在现有 Extension 内。目录只在能力开始实现时创建,不预建占位代码。