🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

插件转技能 ciallo0721-cmd/dsh2wb

DeepSeek Harness
ciallo0721-cmd5 天前有提交已提供中文文档扫描:无法判定

把插件拆解成可独立运行的技能,并如实报告缺失能力

29.7/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/11/2 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add ciallo0721-cmd/dsh2wb
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么[目录]—
dsh 原生插件 · other
暂无时间戳·判据 →
装得上吗[实装验证]—
本站尚未做安装检查
暂无时间戳·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 5 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
⚪ 扫描:无法判定尚无人工评估
展开查看扫描说明与证据 ↓

已尝试扫描但取不到可分析的源码:仓库或包不存在、已删除,或为非 JS/TS 实现、未随包发布源码。无法判定,不代表安全。

  • · 包内无可扫 JS
  • · TS 源码(可能为非 JS 实现或未发布源码),无法判定
扫描于 2026/11/4(0 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

README

由 DeepSeek 最新模型翻译生成
dsh2wb DSH(DeepSeek Harness)插件 → WorkBuddy Skill 转换器 把 Cordis 架构的 DSH 插件拆开,能搬的搬成 WorkBuddy 能跑的 skill,不能搬的如实写进报告——不造假 skill。 python dsh2wb.py <插件目录|git地址> [-o 输出目录] [--vendor copy|link|none] 单文件,纯 Python 标准库,无第三方依赖。 为什么需要它 两种扩展模型根本不是一个东西: | | DSH 插件 | WorkBuddy Skill | | 形态 | npm 包,挂在宿主进程里 | 目录,提示词 + 脚本 | | 能力来源 | ctx.effect / ctx.webServer / ctx.connection / 客户端注入 | agent 直接跑 bash | | 界面 | 自带设置页、调度器、路由 | 无 | | 生命周期 | 宿主启动时挂载,onUnload 清理 | 每次调用现起 | 所以转换的核心判断只有一条: 这个插件的能力,有多少是脱离宿主也能跑的纯命令行?
展开完整文档(README 剩余 1 节)
dsh2wb

DSH(DeepSeek Harness)插件 → WorkBuddy Skill 转换器

把 Cordis 架构的 DSH 插件拆开,能搬的搬成 WorkBuddy 能跑的 skill,不能搬的如实写进报告——不造假 skill。

python dsh2wb.py <插件目录|git地址> [-o 输出目录] [--vendor copy|link|none]

单文件,纯 Python 标准库,无第三方依赖。

为什么需要它

两种扩展模型根本不是一个东西:

| | DSH 插件 | WorkBuddy Skill |
| 形态 | npm 包,挂在宿主进程里 | 目录,提示词 + 脚本 |
| 能力来源 | ctx.effect / ctx.webServer / ctx.connection / 客户端注入 | agent 直接跑 bash |
| 界面 | 自带设置页、调度器、路由 | 无 |
| 生命周期 | 宿主启动时挂载,onUnload 清理 | 每次调用现起 |

所以转换的核心判断只有一条:

这个插件的能力,有多少是脱离宿主也能跑的纯命令行?

- 有 CLI(tools/.mjs 里带命令分发表)→ 正常转,一条条映射
- 只有宿主半边(设置页 / 调度器 / 客户端注入)→ 转不了,写进 porting.md 说明原因,退出码 2

硬转的产物是「文档写了但跑不起来」,比不转更糟。

产物结构

<out>/<name>/
├── SKILL.md agent 读的入口:何时用、怎么跑、安全约定、命令速查 ├── README.md ├── references/ │ ├── commands.md 从源码解析的完整命令表(原文说明,不重写) │ ├── porting.md 能力对照:转了哪些、丢了哪些、还缺什么 │ └── setup.md 首次配置 + 从源码摘出的配置默认值 ├── scripts/ │ ├── bili.sh bash 包装器(钉住数据目录 + 找 node) │ └── bili.cmd Windows 版 ├── vendor/<name>/ 插件源码原件(copy / link / none) └── data/ 插件运行时数据(原 ~/.dsh 的位置)

重新生成只覆盖 SKILL.md 和 references/,不动 data/ 和 vendor/。

三个关键设计

1. 命令读写分类:读源码里的分区注释,不猜关键词

好的插件会在命令表里自己分好区:

// —— 读(不需要写操作,安全) ——
session: [...],
// —— 写(会真的发出去;都必须显式 --dry 或 --go) ——
comment: [...],

这是作者给的权威信号,比任何启发式都准。没分区的才退回关键词兜底,且宁可判 write——把写操作误判成只读,代价是用户的账号。

这里踩过一个坑:标题「读(不需要写操作,安全)」整句同时含「读」和「写」,按子串匹配会先命中「写」,把 27 条只读命令全标成危险操作。
修法是只取括号前的头一个词。

2. 数据目录隔离:靠环境变量,不靠改代码

不少插件其实支持用环境变量改数据位置,只是没人注意。转换器会扫出全部 process.env.X 泄漏点,再由包装脚本把它们导向 data/:

export DSH_HOME="$SKILL_DIR/data"
export BILI_WHALE_CONFIG="$SKILL_DIR/data/bili-whale.config.json"

这样插件源码一行不用改就脱离了宿主,也不污染 ~/.dsh/。扫不出这类变量的才需要在 vendor 里动手。

3. 设置页丢了,配置从源码里摘

宿主半边被丢掉后,用户没了改配置的地方。转换器会把源码里的 const DEFAULTS = { … } 字面量原样摘进 setup.md——是代码里的真东西,不是推测出来的模板。

Windows 上的一个坑

Git Bash 的 pwd 返回 /g/xxx,传给原生 node.exe 时 MSYS 会把它当「当前盘根下的相对路径」重写成 G:\g\xxx:

Error: Cannot find module 'G:\g\dsh2wb\out\...\tools\bili.mjs'

包装器里必须用 pwd -W 拿 Windows 风格路径。这个坑只在 Windows + Git Bash 组合出现,Linux/macOS 无感。

已验证的转换

dsh-bili-whale v0.4.6

B站自动化插件,转换结果:

| 项 | 结果 |
| CLI 命令 | 38 条(只读 27 / 写 11) |
| 宿主侧丢弃 | 3 文件 · 6 项能力 |
| 可运行性 | help / traffic / deps 实测通过 |
| 数据隔离 | ~/.dsh/ 零污染 |

丢弃的部分:设置页(lib/client.js)、HTTP 路由、ctx.effect 生命周期、调度器。替代方案写在 porting.md 里——调度器用宿主的定时任务顶,设置页用手改 data/.json 顶。

预期不可转换的类型

只有 ctx. 注册、没有独立 CLI 的插件。转换器会正常产出报告并返回 2:

命令 : 0 条(只读 0 / 写 0 / 其他 0) [警告] 没解析到 CLI 命令,转换产出的 skill 不可运行。

已知局限

- 只认一种 CLI 形态:const map = { 命令: ['文件', '说明'] } 这种分发表。其他约定(yargs、commander、手工 switch)会解析失败并报「不可转换」——这是保守的失败,不是错误的失败。
- 不解析 TS。.ts 源码只做 ctx. 能力扫描,不做命令表提取。
- 不安装依赖。vendor/ 里的 npm install 要手动跑,报告里给了命令。位置必须在 vendor/<name>/ 内,装到 skill 根目录会找不到模块。
- 会改 data/ 归属。设了环境变量后,插件读写的是 skill 自己的 data/,与原来 DSH 里那份彻底分家。想共用就把变量指回去,但两边同时写会互相覆盖。

用法

从远程仓库转
python dsh2wb.py https://github.com/Alterssss/dsh-bili-whale -o ./out

从本地目录转,源码用 junction 链接省空间
python dsh2wb.py ./my-plugin -o ./out --vendor link

只看分析结果,不生成(方便先判断值不值得转)
python dsh2wb.py ./my-plugin --json

覆盖已有产物(data/ 和 vendor/ 保留)
python dsh2wb.py ./my-plugin -o ./out --force

转完装到 WorkBuddy:

cp -r out/<name> ~/.workbuddy/skills/<name>

License

MIT
预览分享卡片长什么样 ↓ciallo0721-cmd/dsh2wb
分享 · DeepSeek Harness Hub
ciallo0721-cmd/dsh2wb

把插件拆解成可独立运行的技能,并如实报告缺失能力

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部