前言¶
在 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