dsh-toolkit:十個零依賴確定性工具的 collection 安裝入口

前言

在 DSH 生態裏,單個子工具插件數量多、命名分散,在社區目錄裏不容易被一眼認出。做自動化腳本或智能體任務時,經常需要日期換算、編碼解碼、JSON 查詢、CSV 解析、正則處理、Markdown 轉換、diff 對比、統計計算、Schema 校驗這類基礎能力——如果每個都單獨找插件、單獨裝,配置成本高,也容易漏裝。

omdsh-dev/dsh-toolkit 把上述十個工具以 vendored 快照形式收進一個 collection 倉庫,提供統一工程、統一測試和批量安裝腳本。每個子包仍可獨立安裝、啓用、禁用、卸載;需要一次性掛載全部工具時,也可選用 meta 包模型。下面介紹它的定位、能力與安裝方式。

這是什麼

dsh-toolkitomdsh-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-timetool-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.0packageManagernpm@11.16.0。獨立構建模式下執行 npm install 後即可 npm run build:allbash 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
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜