跳到主内容

dsh-toolkit 使用指南

DSH 零依赖工具集合,一次挂载 10 个确定性小工具供 AI 调用

本文为派生内容(基于 wiki / faq / compatibility_json 自动组装),非 AI 即时创作。

本文由本站基于该插件已收录的字段自动派生(wiki / faq / compatibility_json / readme),非 AI 即时创作。每节末尾标源字段。

快速上手

dsh-toolkit

— 源: plugin_wiki.wiki_content

安装与验证

dsh plugin --profile web add github:omdsh-dev/dsh-toolkit

复制以上命令在 DSH Web Profile 内运行。安装完成后在「插件列表」启用即可。

— 源: plugins.install

常见问题

meta 包和独立 bundle 两种模式该怎么选?

推荐独立 bundle 模式,每个子包独立安装/启用/禁用/卸载,可用 scripts/install-web.sh 一键把 10 个工具批量装到 web profile;只有需要一次性原子挂载全部工具时才用 meta 包(dsh plugin ... add github:omdsh-dev/dsh-toolkit)。

已经单独装过 tool-csv,再装 meta 包会报错吗?

会,因为 10 个子包注册同名工具(time/encoding/json/calculator/csv/regex/markdown/diff/stat/schema),与已存在的同名插件冲突;此时需先移除已装的同名工具,或直接用独立 bundle 模式。

web 和 headless 是同一个 profile 吗?

不是。web 与 headless 是 DSH 中两个独立 profile,web 安装不会自动覆盖 headless;批量脚本也分 install-web.sh、install-headless.sh、install-all.sh 三种,dsh run 默认走 headless。

这套工具是离线确定性实现吗?会联网或读文件吗?

是。源码中明确所有工具零依赖、纯函数实现,diff 工具的边界注释也写明不读文件、不联网、不写文件、不调 git;编码工具只处理 UTF-8 文本,且工具参数会被记入会话日志,不应用于传密钥。

regex 工具会卡死吗?

不会,子包实现使用 worker 硬超时;其他子包也各自有 timeoutMs 兜底(time 1000ms、diff 2000ms、schema 3000ms,pattern worker 另加 1000ms),每个工具还设置了单侧输入/输出字节上限。

只想要其中一个工具,能单独装吗?

可以,每个子仓库都是独立 bundle,例如 dsh plugin --profile web add github:omdsh-dev/dsh-tool-csv;不需要走 meta 包或本 collection 仓库。

meta 包 apply 失败时会出现"装了一半"的状态吗?

不会。src/index.ts 包装 ctx.tools.register 捕获 disposer,任一子包失败时逆序回滚已注册工具并恢复原始 register,最终抛出包含"已回滚数量"的错误,不会留下部分注册。

安装命令在哪运行?需要联网下载 GitHub 仓库吗?

dsh plugin --profile web add github:omdsh-dev/dsh-toolkit 会从 GitHub 拉取;如需离线,可用 npm pack 生成本地 tarball,再把 tarball 路径作为参数传给 add。

— 源: plugin_wiki.faq_json

兼容性

  • DSH: 0.1.0-rc.1+
  • Node: >=22.19.0
  • Platforms: macOS, Windows, Linux

— 源: plugin_wiki.compatibility_json

踩坑提醒

安装前请审阅上游仓库;本指南基于已收录字段自动派生,可能滞后于最新版本。如发现与官方文档冲突,请以上游为准。

— 来源:通用规则