技能中心 yangdongzhen590/dsh-knj-extension-center
DeepSeek Harnessv2026.9.13按区域浏览技能,从 zip 安装并启停卸载
29.3/100
综合分
0
GitHub 星标
175
npm 周下载
—/5
用户评分
数据截至 2026/11/1 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-knj-extension-centernpm 源 · dsh-knj-extension-center 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · market
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 3 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-knj-extension-center @ 2026.9.13
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/9/22 19:20:37
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 30 处,展示前 21 条)
- 写入本地文件lib/index.js:9168
writeFileSync(tmp, content, { - 写入本地文件lib/index.js:9172
renameSync(tmp, file); - 删除本地文件lib/index.js:9175
unlinkSync(tmp); - 读取本地文件lib/index.js:9186
const fm = matchFrontmatter(readFileSync(file, "utf8")); - 读取本地文件lib/index.js:9256
entries = await readdir(root, { withFileTypes: true }); - 读取本地文件lib/index.js:9266
const st = await stat(full); - 读取本地文件lib/index.js:9336
return await readFile(file, "utf8"); - 写入本地文件lib/index.js:9550
mkdirSync(dirname(file), { recursive: true }); - 删除本地文件lib/index.js:9554
rmSync(targetDir, { - 写入本地文件lib/index.js:9569
writeFileSync(tmp, content, { flag: "wx" }); - 写入本地文件lib/index.js:9570
renameSync(tmp, file); - 删除本地文件lib/index.js:9573
unlinkSync(tmp); - 读取本地文件lib/index.js:9582
await access(p); - 读取本地文件lib/index.js:9590
return (await stat(p)).isFile(); - 写入本地文件lib/index.js:9610
await mkdir(trashRoot, { recursive: true }); - 删除本地文件lib/index.js:9691
await rm(item.trashPath, { - 发起网络请求lib/client.js:78
return this.decode(await fetch(url)); - 发起网络请求lib/client.js:81
const res = await fetch(url, { - 发起网络请求lib/client.js:113
const res = await fetch(PATHS.download + SkillApi.queryString({ - 写入剪贴板lib/client.js:824
if (typeof navigator.clipboard?.writeText === "function") navigator.clipboard.writeText(skill.path).catch(() => { - 写入剪贴板lib/client.js:1354
if (typeof navigator.clipboard?.writeText === "function") navigator.clipboard.writeText(actionPath).catch(() => {
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-host-webserver给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 按区域浏览技能
- 从zip安装
- 启停与卸载
DSH 技能中心:按区域浏览、从 zip 安装、管理启用/禁用、卸载、回收站恢复、搜索。
README
由 DeepSeek 最新模型翻译生成dsh-knj-extension-center(技能中心 · Skill Center)
DSH 技能中心插件:按区域浏览已加载的 skill、从 zip 安装新技能、管理(启用/禁用模型可调用、卸载入回收站、回收站恢复/彻底删除、搜索)。
- 宿主端(host):/api/dsh-skill-center 路由家族(list/install/set-enabled/uninstall/trash/detail/download),通过 loopback 信任围栏提供服务。
- 客户端(client):浏览器面板,挂载到主区域(center column),入口注册在侧边栏 knj-menu 区的「技能中心」行。
功能
| 功能 | 说明 |
| 浏览 | 按 系统内置(bundled)/ 用户技能(user-dsh)/ 运行时注册(runtime)三个区域分组展示;标题、描述、可调用徽标(模型/用户)、软链接徽标 |
| 搜索 | 服务端 ?q= 搜索技能名称/描述,200ms 防抖,IME 合成期间暂停 |
| 详情 | 点击卡片进入详情:frontmatter 代码块 + 正文预览(markdown-lite,转义优先);用户技能显示路径、模型可调用开关、复制路径、卸载。
展开完整文档(README 剩余 1 节)
dsh-knj-extension-center(技能中心 · Skill Center)
DSH 技能中心插件:按区域浏览已加载的 skill、从 zip 安装新技能、管理(启用/禁用模型可调用、卸载入回收站、回收站恢复/彻底删除、搜索)。
- 宿主端(host):/api/dsh-skill-center 路由家族(list/install/set-enabled/uninstall/trash/detail/download),通过 loopback 信任围栏提供服务。
- 客户端(client):浏览器面板,挂载到主区域(center column),入口注册在侧边栏 knj-menu 区的「技能中心」行。
功能
| 功能 | 说明 |
| 浏览 | 按 系统内置(bundled)/ 用户技能(user-dsh)/ 运行时注册(runtime)三个区域分组展示;标题、描述、可调用徽标(模型/用户)、软链接徽标 |
| 搜索 | 服务端 ?q= 搜索技能名称/描述,200ms 防抖,IME 合成期间暂停 |
| 详情 | 点击卡片进入详情:frontmatter 代码块 + 正文预览(markdown-lite,转义优先);用户技能显示路径、模型可调用开关、复制路径、卸载。bundled/runtime 无文件路径,详情不可打开、只读 |
| 安装 | 上传 zip(≤8MB):本地解析预览(单一 <name>/SKILL.md、kebab-case 名称、description 必填)→ 确认信息 → 完成;重名冲突弹窗支持「覆盖(旧版入回收站)」 |
| 启停 | 模型可调用开关改写 disable-model-invocation(仅文件技能) |
| 卸载 | 移入可恢复回收站(非永久删除) |
| 下载 | 用户文件技能导出为 <name>.zip;系统内置/运行时技能不提供下载 |
| 回收站 | 恢复 / 彻底删除 / 清空;restore 409(原路径被占用)等失败内联展示 |
安装
一条命令同时安装插件与菜单宿主 dsh-knj-menu(已声明为 npm 依赖,版本自动配套)
dsh plugin --profile web add dsh-knj-extension-center dsh-knj-menu
安装后重启 dsh web(或确认 HMR),浏览器打开 http://127.0.0.1:3080:侧边栏 knj-menu 区出现「技能中心」入口 → 点击替换主区域为技能列表。
与 @linxin666/dsh-client-ui-skill-explorer 类插件的共存:挂载按包名隔离(mountOnce),入口均注册在 knj.menu.item 槽位,会并列显示。
卸载
dsh plugin --profile web remove dsh-knj-extension-center
安全模型要点
- 所有 REST 路由仅绑定 loopback 信任围栏(host webserver 注入),浏览器同源访问;每个非 2xx 响应转为 ApiError 携带宿主 { error } 文本。
- 卸载是移入回收站而非删除;回收站清空/彻底删除才做永久删除,且需确认。
- 安装目标固定 ~/.dsh/skills/<name>/;重名时默认拒绝,用户明确选择「覆盖」才将旧版本移入回收站后安装。
- 客户端 zip 预览与宿主校验镜像一致(kebab-case、单一顶层目录、<name>/SKILL.md、description 非空、8MB 上限),不上传前先做本地校验。
- 详情正文经 markdown-lite 转义后注入 DOM(escape-first,XSS 安全)。
- 客户端装配整体包 applyGuard:任何失败降级为 console.warn,不拖垮宿主 GUI;菜单项注册经 slots.inject 延迟到 knj.menu.item 槽位声明后再执行(宿主对未声明槽位注册会 throw),入口随 knj-menu 生命周期折叠。
路由表(host)
| 方法 | 路径 | 说明 |
| GET | /api/dsh-skill-center/list | 分组技能列表;?q= 搜索、?level= 过滤 |
| GET | /api/dsh-skill-center/detail | ?name= 原始详情(frontmatter + body) |
| GET | /api/dsh-skill-center/download | ?name=&path= 下载用户技能 zip 包 |
| POST | /api/dsh-skill-center/install | zip base64 安装;{ overwrite } 覆盖 |
| POST | /api/dsh-skill-center/set-enabled | { name, path, enabled } 模型可调用开关 |
| POST | /api/dsh-skill-center/uninstall | { name, path } 卸载入回收站 |
| GET | /api/dsh-skill-center/trash/list | 回收站条目 |
| POST | /api/dsh-skill-center/trash/restore | { trashPath } 恢复 |
| POST | /api/dsh-skill-center/trash/purge | { trashPath } 彻底删除 |
| GET | /api/dsh-skill-center/health | 健康检查 |
开发
npm.cmd run build # tsc(host) + tsdown(client bundle) → lib/
npm.cmd test # vitest(node + jsdom) npm.cmd run typecheck # tsc --noEmit
客户端装配入口 src/client/index.ts:apply(ctx) 依次注册 locale 字典、挂载主区域视图(CenterApp 视图状态机:列表/详情/回收站/安装)、经 slots.inject 延迟注册 knj-menu 侧边栏入口;返回合并 disposer。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
yangdongzhen590/dsh-knj-extension-center
按区域浏览技能,从 zip 安装并启停卸载
相关插件 · 市场 / 管理
插件精选列表awesome-dsh-plugin/awesome-dsh-plugin
DeepSeek Harness(dsh)插件精选列表
★ 22,225未汉化DSH
73.6
新词雷达zhuyansen/new-term-radar
new-term-radar新词雷达
★ 2,049已汉化MCP
72.8
插件生态导航0xsline/awesome-deepseek-harness
安装 贡献指南 DeepSeek Docs 公开插件目录 Issues
★ 1,188已汉化DSH
72.6
技能注册中心iflytek/skillhub
企业级开源智能体技能注册中心——发布、发现并管理组织内可复用的技能包。
★ 5,370已汉化DSH
71.9
插件市场目录imsai-sh/awesome-deepseek-harness-plugins
面向 DeepSeek Harnessdsh生态的社区插件目录,共收录 13941 个插件含 PR 收录与…
★ 355已汉化DSH
71.8
插件精选清单Anil-matcha/awesome-dsh-plugin
DeepSeek Harnessdsh精选指南——DeepSeek…
★ 1,013已汉化DSH
71.7
这是你的仓库?认领条目