Back to home@xusuyang030218

dsh-skill-ui

No description

Stars
0
Language
TypeScript
Created
Sep 1, 2026
Updated
Sep 1, 2026
GitHub repo

Introduction

dsh-skill-ui

DSH(DeepSeek Harness)技能中心插件:浏览/管理本地技能 + 对接 skillhub.cn 技能市场 + 向导式创建 + AI 辅助生成。

基于 zhu1090093659/dsh-webpackages/dsh-skill-explorer(BSD-3-Clause)二次开发。

功能

  • 技能 tab:按来源分组浏览已加载 skill(系统内置 / 项目 / 用户 / 自定义 / 运行时),卡片式展示,支持启用/禁用(改写 frontmatter disable-model-invocation)、删除(移入 .trash 可恢复)。
  • 市场 tab:对接 skillhub.cn 技能市场——
    • 搜索 + 分类页签浏览(13 个分类,横向可滚动);
    • 排序:推荐 / 星数 / 下载量 / 最新(服务端忽略 sort 参数,客户端本地排序);
    • 卡片展示:图标、星数、下载量、作者、分类、来源、付费标记、已安装状态;
    • 一键安装到 ~/.agents/skills,含安全审计(zip-slip 防护、扩展名白名单、危险模式扫描、SKILL.md frontmatter 自动修复),冲突时可跳过 / 覆盖 / 另存。
  • 创建 tab:3 步向导(基本信息 → 7 套内置模板 → 预览校验),实时 kebab-case 校验与重名检测;AI 辅助生成 SKILL.md 草稿。

安装(本地构建)

pnpm install
pnpm run build
# 产物在 lib/

部署到 DSH Desktop profile:

# 1. 替换插件 lib(先备份原 lib)
$target = "$env:USERPROFILE\.dsh\profiles\desktop\node_modules\@linxin666\dsh-client-ui-skill-explorer"
Copy-Item lib\index.js "$target\lib\index.js" -Force
Copy-Item lib\client.js "$target\lib\client.js" -Force
Copy-Item lib\client.js.map "$target\lib\client.js.map" -Force

# 2. 重启 DSH Desktop(运行中的进程持有旧模块,必须重启加载)

注意:修改 node_modules 下插件 package.json 时,写入必须使用无 BOM 的 UTF-8(Windows PowerShell 5.1 的 Set-Content -Encoding UTF8 会写 BOM,导致 DSH JSON.parse 失败)。

AI 辅助生成配置

草稿路由会从 ~/.dsh/settings.yamlllm-pi-ai.providers 自动选择可用的 OpenAI 兼容 provider(api: openai-completionsapiKeyEnv 环境变量已设置),也可用环境变量覆盖:

DSH_AI_DRAFT_BASE_URL=https://.../v1
DSH_AI_DRAFT_API_KEY=sk-...
DSH_AI_DRAFT_MODEL=some-model

未配置时面板会禁用 AI 按钮并提示(接口返回 503 AI_UNAVAILABLE)。

路由

路由方法说明
/api/dsh-skill-explorer/listGET分组技能列表
/api/dsh-skill-explorer/set-enabledPOST启用/禁用
/api/dsh-skill-explorer/createPOST创建(user/agents/project 根)
/api/dsh-skill-explorer/deletePOST删除(移入 .trash)
/api/dsh-skill-explorer/healthGET健康检查
/api/dsh-skill-explorer/hub/searchGETskillhub 搜索(q/category/limit)
/api/dsh-skill-explorer/hub/categoriesGET分类列表
/api/dsh-skill-explorer/hub/detailGET技能详情
/api/dsh-skill-explorer/hub/installPOST安装(下载+审计+落盘)
/api/dsh-skill-explorer/ai-draftPOSTAI 生成草稿

所有路由默认 loopback 围栏(已配对 remote-web-ui 设备 cookie 为额外放行)。

安全

  • 市场代理仅允许 https://api.skillhub.cn 单一主机(SSRF 防护)。
  • zip 安装前审计:zip-slip 拒绝、扩展名白名单、危险模式(eval/child_process/os.system/混淆 base64 等)扫描、SKILL.md 越狱指令扫描。
  • 安装目标固定 ~/.agents/skills/{slug},slug 白名单校验,冲突默认拒绝。
  • AI 草稿仅作为文本回填,不自动落盘。

测试

pnpm test   # 90 项(含 zip 解压/审计/frontmatter 修复)
pnpm run typecheck

License

BSD-3-Clause(上游 dsh-skill-explorer 同款)。