# 🚀 GitHub Copilot SDK Pipe v0.9.0:Copilot SDK Skills 核心能力与扩展交付 **GitHub Copilot SDK Pipe v0.9.0** 的核心是将 **Copilot SDK Skills** 提升为一等能力(原生目录支持 + 双向同步 + `manage_skills` 确定性管理),并在此基础上增强发布交付体验。 --- ## ⭐ 版本亮点 - **🧩 Copilot SDK Skills 原生支持(核心)**:原生支持 SDK 技能目录(`SKILL.md` + 可选资源文件),技能可作为一等运行时上下文加载。 - **🔄 OpenWebUI Skills 桥接(扩展)**:OpenWebUI 与本地 SDK 技能目录双向同步。 - **🛠️ `manage_skills` 工具(扩展)**:会话内以确定性方式完成 `list/install/create/edit/show/delete`。 - **📤 发布增强**:HTML 支持 `artifacts` / `richui`;PDF 统一 Markdown 链接交付。 - **📁 文件夹级技能**:一个技能可包含 `SKILL.md` 及模板/脚本/资源文件。 - **🧱 环境改造**:在 `/app/backend/data` 下重构配置、工作区与工具运行时布局,隔离性和可复现性显著提升。 --- ## 📦 快速安装 - **GitHub Copilot SDK (Pipe 插件)**: [安装 v0.9.0](https://openwebui.com/posts/ce96f7b4-12fc-4ac3-9a01-875713e69359) - **GitHub Copilot SDK (Filter 伴侣插件)**: [安装 v0.1.3](https://openwebui.com/posts/403a62ee-a596-45e7-be65-fab9cc249dd6) --- ## 🚀 v0.9.0 更新内容 ### 1. OpenWebUI Skills ↔ SDK 双向同步 所有技能统一存放于 `{OPENWEBUI_SKILLS_SHARED_DIR}/shared/`,在数据库与文件之间自动同步。 ### 2. `manage_skills` 工具 内置原生工具(不是 skill),支持: - `list` - `install`(单 URL / 多 URL) - `create` - `edit` - `show` - `delete` ### 3. 发布行为 - HTML:`artifacts`(输出代码块嵌入)或 `richui`(发射器自动渲染)两种模式。 - PDF:仅以 Markdown 链接交付(不嵌入 iframe)。 ### 4. 环境改造(详细分析) 这一版本不只是功能更新,还做了较大规模的运行环境重构: - **持久化 SDK 配置目录** - 新增 `COPILOTSDK_CONFIG_DIR`。 - 解析优先级:Valve 显式配置 -> `/app/backend/data/.copilot` -> `~/.copilot` 回退。 - 标准 OpenWebUI 容器场景下,会话/配置状态可跨容器重启保留。 - **按用户 + 会话隔离的工作区模型** - 工作区根目录统一到 `/app/backend/data/copilot_workspace`(容器模式)。 - 实际目录按用户与 chat 隔离:`/app/backend/data/copilot_workspace/{user_id}/{chat_id}`。 - `user_id` 与 `chat_id` 会进行清洗,避免路径穿越风险。 - **工具运行时固定到 data 卷(可持久)** - 工具根目录:`/app/backend/data/.copilot_tools`。 - NPM 安装前缀固定为 `/app/backend/data/.copilot_tools/npm`(通过 `NPM_CONFIG_PREFIX`)。 - Python 工具执行固定在 `/app/backend/data/.copilot_tools/venv`(通过 `VIRTUAL_ENV`)。 - 同时清理 `PYTHONUSERBASE` 与 `PIP_USER`,防止 user-site 安装污染运行时。 - PATH 被重写优先指向 npm/venv bin,提升工具解析一致性。 - **CLI 启动链路加固** - Copilot CLI 发现顺序:`COPILOT_CLI_PATH` -> 系统 `PATH` -> SDK 内置 bundled binary。 - 强制 `COPILOT_AUTO_UPDATE=false`,避免运行期自动更新导致行为漂移。 - 发现成功后自动将 CLI 目录注入 PATH。 - **系统提示词中的路径上下文强化** - 会显式注入隔离工作区、技能目录、配置目录、工具目录。 - 让 Agent 的“可写路径”和“可读路径”更确定,减少越界写入风险。 - **普通用户权限边界细化** - 普通用户仍禁止访问环境变量、数据库和无关系统内部信息。 - 允许读取**当前用户当前会话**在 `COPILOTSDK_CONFIG_DIR` 下的会话元数据用于排障。 - 仍严格禁止跨用户会话读取。 ### 5. 新增 Valves - `COPILOTSDK_CONFIG_DIR` - `ENABLE_OPENWEBUI_SKILLS` - `OPENWEBUI_SKILLS_SHARED_DIR` - `DISABLED_SKILLS` --- ## 🔄 升级说明 - 从 v0.8.0 升级无破坏性变更。 - `ENABLE_WORKSPACE_TOOLS` 已由 `ENABLE_OPENWEBUI_SKILLS` 取代。 --- ## 📚 详细文档 - README_CN: - manage_skills 工具指南: