supreme0597
|
44d1b20383
|
feat(skills): 优化远程 Skill 批量安装,单次克隆完成多 skill 安装
新增 install_remote_skills_batch() 函数,利用 npx skills add 原生多 --skill 支持,
将安装 N 个 skill 的仓库克隆次数从 2N 降至 1。
后端:
- remote_skill_install_service.py 新增批处理 + _find_skill_dir()
- skill_router.py 新增 POST /remote/install-batch 端点 (admin 权限)
- 非法 skill 名不阻塞其他合法 skill,结果按请求顺序返回
- CLI 部分失败时仍导入已安装的 skill
- import 失败后 rollback session,不影响后续导入
前端:
- skill_api.js 新增 installRemoteSkillsBatch()
- SkillCardList.vue 改为单次批处理调用
测试:
- 4 个单元测试覆盖正常安装/缺失跳过/部分失败/非法名场景
文档:
- docs/develop-guides/roadmap.md 更新开发记录
- docs/vibe/2026-05-14-remote-skill-batch-install-plan.md 方案文档(含设计决策)
|
2026-05-14 17:15:38 +08:00 |
|
copilot-swe-agent[bot]
|
037872924b
|
fix: 修复路径遍历安全漏洞并添加文件名校验
- 前端:在 ExtensionsView.vue 上传前添加 beforeUpload 校验,
仅允许 .zip 或 SKILL.md 文件,其他 .md 文件给出明确错误提示
- 后端:import_skill_dir 添加路径限制检查(is_relative_to),
确保来源目录在系统临时目录内,防止路径遍历
- 后端:install_remote_skill 改为扫描目录查找安装结果,
避免直接用用户输入构造文件路径(消除 CodeQL 告警)
- 后端:_run_skills_cli 错误输出清洗 ANSI 控制字符并截断到 500 字符
- 后端:install_remote_skill 返回类型从 object 修正为 Skill
Agent-Logs-Url: https://github.com/xerrors/Yuxi/sessions/0145c647-72bc-41f9-b07b-04d4acf51932
Co-authored-by: xerrors <35524243+xerrors@users.noreply.github.com>
|
2026-04-02 15:19:33 +00:00 |
|
Wenjie Zhang
|
dc67a1483f
|
feat: 添加 git 依赖到 Dockerfile,优化构建环境
|
2026-04-02 16:34:43 +08:00 |
|
Wenjie Zhang
|
82d4add70b
|
fix(skill): 优化远程技能安装服务,优化临时工作目录管理
|
2026-04-02 16:09:02 +08:00 |
|
Wenjie Zhang
|
a828d7154b
|
feat(skill): 添加远程技能安装服务及相关功能更新
- 新增 remote_skill_install_service.py 支持远程技能安装
- 更新 skill_service.py 增强技能管理功能
- 更新 skill_router.py 添加相关路由
- 更新前端组件 SkillsManagerComponent.vue
- 更新 ExtensionsView.vue
- 添加对应单元测试
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-04-02 16:09:02 +08:00 |
|