From cc241f79eda77f8ace76b1c3ec3619949b848df3 Mon Sep 17 00:00:00 2001 From: Wenjie Zhang Date: Fri, 3 Apr 2026 11:50:26 +0800 Subject: [PATCH] =?UTF-8?q?feat(skill):=20=E4=BC=98=E5=8C=96=E8=BF=9C?= =?UTF-8?q?=E7=A8=8B=E5=AE=89=E8=A3=85=E5=8A=9F=E8=83=BD=EF=BC=8C=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E5=A4=9A=E6=8A=80=E8=83=BD=E9=80=89=E6=8B=A9=E4=B8=8E?= =?UTF-8?q?=E8=BF=9B=E5=BA=A6=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/api.Dockerfile | 5 +- docs/develop-guides/roadmap.md | 2 +- web/src/components/SkillsManagerComponent.vue | 158 +++++++++++++++--- 3 files changed, 138 insertions(+), 27 deletions(-) diff --git a/docker/api.Dockerfile b/docker/api.Dockerfile index 7c380513..08430867 100644 --- a/docker/api.Dockerfile +++ b/docker/api.Dockerfile @@ -15,7 +15,9 @@ ENV TZ=Asia/Shanghai \ UV_COMPILE_BYTECODE=1 \ DEBIAN_FRONTEND=noninteractive -RUN npm install -g npm@latest && npm cache clean --force +# 设置 npm 镜像源,为 MCP 和 Skills 安装依赖 +RUN npm config set registry https://registry.npmmirror.com --global \ + && npm cache clean --force # 设置代理和时区,更换镜像源,安装系统依赖 - 合并为一个RUN减少层数 RUN set -ex \ @@ -37,7 +39,6 @@ RUN set -ex \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* - # 复制项目配置文件 COPY ../backend/pyproject.toml /app/pyproject.toml COPY ../backend/.python-version /app/.python-version diff --git a/docs/develop-guides/roadmap.md b/docs/develop-guides/roadmap.md index 57706a2b..fd94c159 100644 --- a/docs/develop-guides/roadmap.md +++ b/docs/develop-guides/roadmap.md @@ -33,7 +33,7 @@ - 调整输入框 `@` 提及中的文件搜索交互:无查询内容时不再直接展示文件列表,改为提示“输入相关内容以搜索文件”,避免未过滤结果干扰选择。 - 收紧文件系统安全边界:viewer/chat 下载与删除路径统一基于解析后的真实路径做允许目录校验,阻止通过软链接逃逸工作区/线程目录;同时将密码哈希默认实现升级为 Argon2,并移除 skill frontmatter 解析中的正则回溯风险。 - 调整 Skills 导入能力:`/api/system/skills/import` 现在除 ZIP 外也支持直接上传单个 `SKILL.md`,前端上传入口与后端导入服务同步兼容,便于快速导入单文件技能 -- 新增 Skills 远程安装能力:Skills 管理页支持填写 `owner/repo` 或 GitHub URL,后端通过隔离的临时 `HOME` 调用 `npx skills add` 下载指定 skill,再复用现有导入链路写入 `saves/skills` 和数据库,避免将 `~/.agents/skills` 直接作为系统主存储 +- 新增 Skills 远程安装能力:Skills 管理页支持填写 `owner/repo` 或 GitHub URL,后端通过隔离的临时 `HOME` 调用 `npx skills add` 下载指定 skill,再复用现有导入链路写入 `saves/skills` 和数据库,避免将 `~/.agents/skills` 直接作为系统主存储;前端远程安装弹窗补充多选串行安装与批量进度展示,复用现有单 skill 安装接口逐个提交请求 --- diff --git a/web/src/components/SkillsManagerComponent.vue b/web/src/components/SkillsManagerComponent.vue index 6d9d3183..f9b7eb5b 100644 --- a/web/src/components/SkillsManagerComponent.vue +++ b/web/src/components/SkillsManagerComponent.vue @@ -358,6 +358,9 @@ title="远程安装 Skill" :footer="null" width="560px" + :closable="!installingRemoteSkill" + :mask-closable="!installingRemoteSkill" + :keyboard="!installingRemoteSkill" >