前言¶
在 DSH 生态里,单个子工具插件数量多、命名分散,在社区目录里不容易被一眼认出。做自动化脚本或智能体任务时,经常需要日期换算、编码解码、JSON 查询、CSV 解析、正则处理、Markdown 转换、diff 对比、统计计算、Schema 校验这类基础能力——如果每个都单独找插件、单独装,配置成本高,也容易漏装。
omdsh-dev/dsh-toolkit 把上述十个工具以 vendored 快照形式收进一个 collection 仓库,提供统一工程、统一测试和批量安装脚本。每个子包仍可独立安装、启用、禁用、卸载;需要一次性挂载全部工具时,也可选用 meta 包模型。下面介绍它的定位、能力与安装方式。
这是什么¶
dsh-toolkit 由 omdsh-dev 维护,在 SkillHub 上归类为客户端插件,当前版本 v0.0.1,MIT 许可。仓库地址:github.com/omdsh-dev/dsh-toolkit;社区目录页:skillhub.cn/plugins/omdsh-dev/dsh-toolkit。
官方定位是 collection 与安装辅助仓库:子包源仓库独立演进(位于 omdsh-dev 组织下),本仓库冻结 pack artifact 快照,并保留 @deepseek-ai/dsh-toolkit 作为可选的原子挂载 meta 包。根 meta 包 private: true,用于 Git/collection 分发,不代表会发布到 npm registry。
十个工具与能力范围¶
仓库 README 列出以下子工具及测试用例规模(合计 723 用例):
| 工具 | 能力 | 用例数 |
|---|---|---|
time |
ISO 8601 / 时区 / 日历运算 / 时长差 | 65 |
encoding |
base64 / url / hex / hash / UUID | 46 |
json |
JMESPath 子集查询 | 66 |
calculator |
安全数学表达式求值(无 eval) | 31 |
csv |
RFC 4180 解析 / 查询 / 统计(严格引号) | 50 |
regex |
测试 / 提取 / 替换 / 静态解释(worker 硬超时) | 63 |
markdown |
HTML↔Markdown / GFM 表格 / 目录生成(白名单安全) | 71 |
diff |
文本/JSON/CSV/Markdown 结构化比较与 unified diff(只读) | 124 |
stat |
描述统计 / 百分位数 / 频数分布 / 相关性(零依赖确定性) | 82 |
schema |
JSON Schema 验证 / 路径 / 解释 / 安全 default(零网络零动态) | 125 |
各工具强调零依赖、确定性输出,适合在 agent 流水线里做可复现的数据处理,而不依赖外部网络或动态求值。
两种运行模型¶
README 区分两种挂载方式,按场景选其一即可。
独立 bundle 模型(推荐):每个子包单独注册,可只装需要的工具。
# 安装单个工具到 web profile
dsh plugin --profile web add github:omdsh-dev/dsh-tool-csv
# 安装到 headless profile(dsh run 默认使用此 profile)
dsh plugin --profile headless add github:omdsh-dev/dsh-tool-diff
meta bundle 模型(可选):一次原子挂载全部十个工具。
dsh plugin --profile web add github:omdsh-dev/dsh-toolkit
dsh --profile web --dump-config | grep tool-kit
注意:若 profile 里已单独挂载过同名子插件(如 tool-time、tool-csv 等),再挂 meta 包会因重名报错。应先移除旧插件,或全程使用独立 bundle 模型。meta 包的 apply 具备原子性——任一子插件注册失败时会逆序回滚,不残留部分状态。
安装与启用¶
web 与 headless 是不同 profile:在 web 里安装不会自动覆盖 headless;dsh run 默认走 headless。Windows 路径使用正斜杠(C:/...)。
批量安装(collection 脚本)¶
克隆或进入仓库后,可用辅助脚本幂等批量安装(重复执行不会重复添加):
./scripts/install-web.sh # 全部 10 工具 → web profile
./scripts/install-headless.sh # 全部 10 工具 → headless profile
./scripts/install-all.sh # 两个 profile 都装
验证安装¶
dsh --profile web --dump-config | grep tool-csv # 行存在即安装成功
dsh run "使用 csv 工具解析 'a,b\n1,2'" # headless 端到端
本地 tarball 安装¶
不依赖 GitHub 时,可在本地构建后通过 npm pack 产物安装:
npm pack
dsh plugin --profile web add <npm pack 产物 tarball 路径>
headless profile 将 web 换成 headless 即可。
运行环境¶
package.json 要求 Node ^22.19.0 || >=24.0.0,packageManager 为 npm@11.16.0。独立构建模式下执行 npm install 后即可 npm run build:all 与 bash scripts/test-all.sh 做本地验证。
典型用法¶
独立安装 CSV 工具后,可用 headless 端到端调用:
dsh run "使用 csv 工具解析 'a,b\n1,2'"
按需只装 diff 工具处理文本对比:
dsh plugin --profile headless add github:omdsh-dev/dsh-tool-diff
需要全套工具且 profile 内无冲突子包时,挂 meta 包:
dsh plugin --profile web add github:omdsh-dev/dsh-toolkit
适用场景与注意¶
适合谁
- 需要在 DSH agent 或脚本里做日期、编码、JSON、CSV、正则、Markdown、diff、统计、Schema 等基础运算,且希望输出确定、可测试。
- 希望从 collection 一次看清十个工具的清单与版本快照,用脚本批量装进 web 或 headless profile。
- 只想装一两个子工具、其余保持精简时,独立 bundle 模型更合适。
使用前注意
- 插件以当前
dsh进程权限运行;安装前应阅读源码与 MIT 许可证,确认符合你的安全策略。 - SkillHub 是社区目录站点,与 DeepSeek / 幻方无官方从属关系,不等同于官方应用商店。
- 子包在各自源仓库持续演进,本 collection 为 vendored 快照;同步更新见仓库
docs/CONTRIBUTING.md与 README 中的 vendored 同步说明。
结尾¶
dsh-toolkit 把 DSH 生态里十个常用的零依赖工具收进同一 collection,用统一测试(723 用例)和安装脚本降低配置成本,同时保留按子包独立管理的灵活性。若你正在搭建 DSH 工具链,可从目录页了解概况,到 GitHub 查看完整 README 与 catalog.json 清单后按需安装。
- 目录页:https://www.skillhub.cn/plugins/omdsh-dev/dsh-toolkit
- GitHub:https://github.com/omdsh-dev/dsh-toolkit