前言¶
在 DeepSeek Harness (DSH) 生態中,智能體常需要處理格式校驗、文本統計、編碼轉換等任務。目前通用的做法是讓模型調用 shell(如 PowerShell 或 Bash)來執行 pwsh 或 jq,但這在 Windows 環境下容易受編碼、引號和版本差異影響,且不可復現。
下面介紹 dsh-deterministic-tools。這是一個本地工具箱插件,向模型註冊了 29 個可復現的格式與數據處理工具。它不依賴網絡,不消耗憑據,每次調用都返回結構化的回執,解決了 Agent 在處理結構化數據時的不確定性和邊界問題。
安裝與啓用¶
安裝插件需要使用官方 CLI 命令。請確保 DeepSeek Harness 進程已安裝且配置了 web profile。
dsh plugin --profile web add dsh-deterministic-tools
安裝完成後,需要重啓應用。因爲插件列表是在啓動時加載的。
注意:不要將此插件與單獨安裝的組件混用,否則會重複註冊同名工具。
核心功能¶
該插件提供了以下幾類工具,均以 _ 開頭,便於識別:
- 格式與校驗:
_format(格式化)、_minify(壓縮)、_validate(校驗)、_query(查詢)、_diff(差異)。 - 文本處理:
text_stats(文本統計)、lines_process(行處理)、case_convert(大小寫轉換)、text_diff、regex_find、regex_replace。 - 數據轉換:
yaml_to_、_to_yaml、csv_to_、_to_csv。 - 編碼與檢查:
base64_encode、base64_decode、hex_encode、hex_decode、url_encode、url_decode、url_inspect、hash_text、unicode_inspect、number_base、color_convert、cidr_inspect、jwt_inspect、timestamp_convert。
使用示例¶
模型在對話中可以通過自然語言或工具調用指令來使用這些功能。
校驗 JSON 語法
當指令要求校驗 JSON 並精確到行列時,模型會調用 _validate。例如,輸入 {"a":1,},工具會返回驗證結果和精確的錯誤位置:
{
"valid": false,
"error": {
"message": "expected a double-quoted property name but found '}'",
"line": 1,
"column": 9,
"position": 8
},
"top_level_type": "unknown"
}
格式化輸出
使用 _format 時,可以指定縮進和排序方式。例如設置 indent: 2 和 sort_keys: true,模型可以獲取格式化後的 JSON。
統一回執格式
每個工具的返回值都遵循統一規範,包含載荷和元數據:
{
"result": "...",
"meta": {
"bytesIn": 15,
"bytesOut": 45,
"truncated": false,
"notes": []
}
}
設計與約束¶
- 純本地運行:插件在本地執行,零網絡請求,零憑據消耗。
- 有界性:結構化輸入有硬上限,超出直接拒絕(非截斷);文本輸出有軟上限,超出會標記截斷。
- 確定性:不依賴隨機數,不依賴系統時鐘。明確聲明不驗籤。
- 驗證狀態:通過
tsc --noEmit檢查,無類型錯誤;包含 35 個測試用例。
總結¶
dsh-deterministic-tools 通過將常用的格式化、編碼和檢查操作轉化爲確定性工具,降低了 Agent 處理結構化數據的門檻。它適合需要在本地安全、快速地處理數據,且對結果的可復現性有較高要求的場景。
更多細節和源碼可參考:GitHub