把技能、钩子与工具按工作流打包注册为独立技能
26.8/100
综合分
2
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/5 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add CH3SH-LC/dsh-skill-packdge该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:待复验
是什么
dsh 原生插件 · skill
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 75 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件
查看扫描证据(共 20 处,展示前 14 条)
- 读取本地文件lib/index.js:496
if ((await stat(candidate)).isDirectory()) { - 读取本地文件lib/index.js:497
const anchor = candidate === root && !followSymlinks && (await lstat(candidate)).isSymbolicLink() ? resolve(candidate) : await canonicalizeWatchPath(c - 读取本地文件lib/index.js:648
data = JSON.parse(await readFile(indexPath, "utf8")); - 写入本地文件lib/index.js:661
await writeFile(indexPath, `${JSON.stringify({ - 读取本地文件lib/index.js:678
entries = await readdir(root.path, { - 读取本地文件lib/index.js:704
raw = await readFile(join(dir, PACKDGE_MANIFEST), { encoding: "utf8" }); - 读取本地文件lib/index.js:738
entries = await readdir(skillsDir, { - 读取本地文件lib/types/index.js:511
const info = await stat(candidate); - 读取本地文件lib/types/index.js:515
&& (await lstat(candidate)).isSymbolicLink(); - 读取本地文件lib/types/index.js:669
data = JSON.parse(await readFile(indexPath, 'utf8')); - 写入本地文件lib/types/index.js:684
await writeFile(indexPath, `${JSON.stringify({ ...data, inventory }, null, 2)}\n`, 'utf8'); - 读取本地文件lib/types/index.js:699
entries = await readdir(root.path, { withFileTypes: true, encoding: 'utf8' }); - 读取本地文件lib/types/index.js:723
raw = await readFile(join(dir, PACKDGE_MANIFEST), { encoding: 'utf8' }); - 读取本地文件lib/types/index.js:756
entries = await readdir(skillsDir, { withFileTypes: true, encoding: 'utf8' });
扫描于 2026/10/31(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/cordis-plugin-include@deepseek-ai/cordis-plugin-loader@deepseek-ai/dsh-fs@deepseek-ai/dsh-home-paths@deepseek-ai/dsh-invariants@deepseek-ai/dsh-skill给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 打包技能钩子工具
- 按工作流注册技能
为 DeepSeek Harness 提供包技能的服务商插件:把技能、钩子、工具和数据打包成工作流,按 {packdge}-{skill} 注册。
README
由 DeepSeek 最新模型翻译生成dsh-skill-packdge
DeepSeek Harness 的 packdge 技能提供器插件:把「技能 + hooks + 工具 + 数据」按工作流打包成一个目录(packdge),自动发现并注册为
{packdge}-{skill} 形式的技能,多个 packdge 并行共存不重名。
什么是 packdge
一个 packdge = 一个工作流目录:
myworkflow/
├── packdge.json # 清单:{ "name": "myworkflow", "description": "..." },name 必须等于目录名 ├── skills/ # 普通 DSH 技能包(SKILL.md,frontmatter 必须有 description) ├── hooks/ # 会话钩子(可选) ├── config/ # 工作流配置(可选) ├── docs/ # 工作流文档(可选) └── tools/ # 工作流脚本/工具(可选)
注册后每个技能名为 myworkflow-<skill>;技能正文通过 resourceBase 定位到 packdge 内的资源目录,因此技能可以引用 hooks/tools/config 里的相对路径资源。
展开完整文档(README 剩余 1 节)
dsh-skill-packdge
DeepSeek Harness 的 packdge 技能提供器插件:把「技能 + hooks + 工具 + 数据」按工作流打包成一个目录(packdge),自动发现并注册为
{packdge}-{skill} 形式的技能,多个 packdge 并行共存不重名。
什么是 packdge
一个 packdge = 一个工作流目录:
myworkflow/
├── packdge.json # 清单:{ "name": "myworkflow", "description": "..." },name 必须等于目录名 ├── skills/ # 普通 DSH 技能包(SKILL.md,frontmatter 必须有 description) ├── hooks/ # 会话钩子(可选) ├── config/ # 工作流配置(可选) ├── docs/ # 工作流文档(可选) └── tools/ # 工作流脚本/工具(可选)
注册后每个技能名为 myworkflow-<skill>;技能正文通过 resourceBase 定位到 packdge 内的资源目录,因此技能可以引用 hooks/tools/config 里的相对路径资源。
安装
1. 把插件链接进 web profile:
dsh plugin --profile web add .
或手动将本目录链接到 $DSH_HOME/profiles/web/node_modules/dsh-skill-packdge。
2. 在 $DSH_HOME/cordis.patch.yml 中加入:
- insert:
- id: dsh-skill-packdge
name: dsh-skill-packdge
3. 放置你的 packdge:默认扫描 $DSH_HOME/packdge/(用户根)与项目 .dsh/packdge/(项目根),也可通过 customPackdgeDirs 指定额外根。
4. 重启 dsh web(或刷新页面)后生效。
配置
| 字段 | 默认 | 说明 |
| providerName | packdge | 注册到技能注册表的 provider 名 |
| includeDefaultRoots | true | 是否扫描项目与用户默认 packdge 根 |
| dshHome | $DSH_HOME 或 ~/.dsh | harness 配置根(用户 packdge 根为 <dshHome>/packdge) |
| customPackdgeDirs | [] | 额外 packdge 根(优先级在项目根与用户根之间) |
| enabledPackdges | [] | 仅允许这些 packdge 贡献;空列表 = 全部 |
| disabledPackdges | [] | 排除这些 packdge(与 enabled 重叠会被拒绝) |
| watch | true | 监听 packdge 根变化,实时刷新目录 |
| watchUsePolling | false | 使用轮询代替原生文件事件 |
| watchStabilityThresholdMs | 200 | 文件变更稳定阈值 |
| watchPollIntervalMs | 100 | 稳定性/轮询探测间隔 |
| watchFollowSymlinks | true | 是否跟随符号链接 |
| refreshSpecialSkillsIndex | true | 对自带 config/special-skills.json 的 packdge 刷新其 inventory 段(宿主平面执行,保留其余字段,仅内容变化时写入) |
与官方 @deepseek-ai/dsh-skill-packdge 的关系
本插件是 packdge 机制的开源独立版:同一份提供器代码,包名与仓库独立。
- 注册表为每个技能附加 group = packdge id,供 UI 分组;该字段需要带 packdge 支持的 harness 构建(官方版本上会被忽略,技能照常注册为扁平列表)。
- /skill、/packdge 层级斜杠菜单属于 harness UI 侧能力,需要对应 UI 支持,本插件不包含。
开发
pnpm run typecheck # tsc --noEmit
pnpm run build # tsc 类型产物 + tsdown 运行时产物
pnpm run test # vitest(含真实 Loader 组合测试)
许可证
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
CH3SH-LC/dsh-skill-packdge
把技能、钩子与工具按工作流打包注册为独立技能
相关插件 · 技能 / 提示词
人设统管ZiChuanLan/agent-purge
一份系统提示词,喂给多个 coding…
★ 931已汉化DSH
73.8
人物画像蒸馏titanwings/distilly
Distilly — 把他们的思考方式提炼成可复用的技能,供任何智能体或机器人使用。原名 Colleague Skill(原同事 Skill)。
★ 25,659已汉化DSH
71.3
推理工作空间套件Tiger3807861189/J-Space-Cognition-Suite
J-Space 是面向复杂推理、大型仓库工程、子代理协作与授权安全分析的推理时工作空间和控制套件。
★ 2,957已汉化DSH
70.5
两阶段工具锚定预设xiaobright/dsh-anchored-standard
实验性 DeepSeek Harness agent preset…
★ 3,742已汉化DSH
70.1
智能体工作流编排nrslib/takt
不再日夜盯着 AI 编码智能体。
★ 1,402已汉化DSH
70
Agent 运行时手册Electricitysheep/dsh-handbook
DeepSeek Harness dsh 从 0 到 1 深度手册:安装/插件开发/性能调优/实测案例/同模型多…
★ 827已汉化DSH
68.7