前言¶
DeepSeek Harness (DSH) 的核心設計理念是「一切皆插件」。在使用 DSH 進行智能體開發或運維時,開發者往往已經爲 Claude Code 或 Codex 配置了 hooks.json,需要將這些現有配置遷移到 DSH 的攔截點中。
手動配置繁瑣且容易遺漏。chenzhi-clude/dsh-hooks-pack 插件通過自動發現現有的 Hooks 配置並運行在官方橋接插件攔截點上,解決了這一痛點。它允許開發者在不編寫代碼或修改現有配置文件的情況下,讓 DSH 執行已有的 Hooks 邏輯。
插件概覽¶
該插件由 chenzhi-clude 維護,採用 MIT 許可證。
它通過官方橋接插件(@deepseek-ai/dsh-hooks-claude-code、@deepseek-ai/dsh-hooks-codex 及共享協議 @deepseek-ai/dsh-hook-protocol)完成底層攔截,插件本身主要提供配置發現、掛載和執行模式管理。
核心功能¶
- 自動發現配置:插件會探測標準目錄,自動查找 Claude Code 或 Codex 的
hooks.json。 - 官方攔截點支持:運行官方橋接插件定義的攔截點鉤子。
- 單行掛載:通過單一配置即可同時掛載 Claude Code 和 Codex 兩種方言。
- 危險命令防禦:內置示例鉤子可攔截危險操作(如
rm -rf、強制推送等)。 - 審計日誌記錄:內置鉤子可記錄工具調用審計日誌。
- 安全空閒模式:當未發現任何配置時,插件不會註冊任何鉤子,不會改變 Agent 的默認行爲。
安裝與啓用¶
通過 CLI 安裝該插件:
dsh plugin --profile web add github:REPLACE_ME/dsh-hooks-pack
安裝後,需要重啓 Profile(或重新加載 Web 應用)以使配置生效。
典型用法¶
安裝完成後,通常需要進行以下配置:
- 指定執行模式:在配置文件中設置
executionMode。默認爲direct,這是 v0.1.1 版本引入的修復,用於解決 Windows 下的靜默失敗問題。 - 顯式指定路徑:如果自動發現失敗,可以通過
cordis.patch.yml顯式指定配置文件路徑:
- id: hooks-pack
name: dsh-hooks-pack
config:
claude:
configPath: D:/my-hooks/claude-hooks.json
codex:
configPath: D:/my-hooks/codex-hooks.json
- 啓用示例鉤子:插件目錄包含
examples,包含“防危險命令”和“審計日誌”兩個示例。開發者可將其複製到指定位置並配置引用。
配置參考¶
插件支持以下配置項:
- executionMode (string, 默認:
direct): 鉤子執行後端。direct爲進程內直接執行(匹配 Claude Code 語義),shim爲傳統的沙箱兼容模式。 - autoDiscover (boolean, 默認:
true): 當未指定顯式路徑時,是否探測標準位置。 - claude.configPath / codex.configPath (string): 顯式指定配置文件路徑。
- auditFile (string): 可選的審計日誌文件絕對路徑。
- claude.projectDir: 替換
${CLAUDE_PROJECT_DIR}環境變量。
適用場景與注意事項¶
- 適用場景:已有 Claude Code 或 Codex Hooks 配置,希望無縫遷移到 DSH 的開發者;需要通過 Hooks 進行危險命令防禦或審計日誌記錄的用戶。
- 僅支持 Shell-form 鉤子:該插件目前僅支持 Shell-form 類型的命令鉤子,
http/mcp_tool/prompt類型的鉤子會被跳過。 - 配置加載機制:配置在進程加載時讀取,不支持 per-session(會話級)的項目本地發現。
- Windows 兼容性:在 Windows 下,複雜引號的處理有限制。建議將複雜邏輯封裝在
.cmd或.mjs文件中,再由鉤子調用。 - 依賴要求:需要滿足
@deepseek-ai/cordis的 peerDependency 版本要求(^4.0.1)。
短結尾¶
dsh-hooks-pack 插件爲 DeepSeek Harness 用戶提供了從 Claude Code/Codex 遷移 Hooks 配置的標準化路徑。通過 direct 執行模式和自動發現機制,它解決了手動配置繁瑣且容易出錯的痛點。對於需要安全防護和審計的 DSH 工作流,這是一個低成本的集成方案。