前言¶
在開發 DeepSeek Harness (DSH) Agent 時,傳統的做法通常是輪詢外部數據源。這種方式效率較低,且無法及時響應突發事件。galvanize-dsh 插件解決了這個問題,它爲 DSH Agent 提供了一組事件觸發工具,允許 Agent 在文件到達、郵件接收、Webhook 觸發或 Git 事件發生時,主動喚醒一個全新的 DSH 會話。
插件定位¶
這是一個由 jarvis959 維護的 DSH 原生插件包,旨在通過 galvanize 核心守護進程監聽外部事件。當事件觸發時,它會啓動一個無頭(headless)的 DSH 會話,並傳入預設的 Prompt 和事件數據。插件本身是一個輕量級的驗證客戶端,所有邏輯通過代理轉發至核心的本地 API。
核心功能¶
安裝完成後,插件會向 DSH Agent 的工具集中注入以下命令:
trigger_add: 註冊觸發器(支持文件夾監聽、郵件、Webhook、emit 等事件類型),是“輪詢”模式的替代方案。trigger_list: 列出當前所有已註冊的觸發器及其具體配置。trigger_test: 向真實分發路徑發送一個合成事件,用於測試觸發邏輯是否正常。trigger_status: 檢查健康狀態,包括守護進程狀態、今日觸發次數、最近觸發時間和錯誤信息。trigger_remove: 移除指定的觸發器,並清理相關路由。
安裝與啓用¶
安裝前請確保系統環境滿足以下要求:
* 已安裝 galvanize 核心守護進程並開啓了自啓動。
* DeepSeek Harness CLI 已在系統 PATH 中。
* Node.js 版本滿足要求(需 ^22.19 或 >=24)。
執行以下命令即可完成安裝:
npx github:lychee888/galvanize-dsh install
安裝過程會進行嚴格的驗證:
1. 檢查 galvanize 核心的版本握手。
2. 驗證對核心的只讀訪問權限。
3. 探測目標 Profile 和 Wake Profile 的連通性。
4. 檢查插件的存活狀態。
只有當所有檢查通過(顯示 LOADED)後,安裝纔算完成。安裝後可通過 galvanize-dsh verify --profile <name> 重新運行檢查。
典型用法¶
安裝完成後,可以通過 CLI 或自然語言指令創建觸發器。
示例 1:通過 CLI 監控文件夾
監控指定文件夾,並在文件到達時生成摘要:
galvanize add folder ~/inbox --name triage --wake dsh \
--prompt 'Read {file} and write a triage summary to ~/inbox-out/{file}.md'
echo hello > ~/inbox/demo.txt # 文件到達後,會在 ~/inbox-out/demo.txt.md 生成摘要
示例 2:通過自然語言指令
直接在 DSH 聊天窗口中發送指令,Agent 會自動調用 trigger_add 並測試觸發一次:
“wake me when a lab report lands in my inbox”
適用場景與注意¶
- 架構說明:插件是一個“薄客戶端”,不包含喚醒或觸發邏輯,所有操作通過代理轉發至核心 API (
GET /version,POST /manage/<op>),行爲與 Hermes / Claude Code / Codex 等插件保持一致。 - 衝突檢測:插件與
galvanize mcp不應同時存在。核心會通過~/.galvanize/surfaces.json檢測並標記雙重掛載,確保只有一個活躍的插件表面。 - Webhook 配置:使用 webhook 類型觸發器時,需要配置
relay_url和relay_token,並部署 galvanize relay 服務。 - 權限要求:插件以當前 DSH 進程權限運行,安裝前請檢查源碼與許可證(MIT)。
總結¶
galvanize-dsh 將 DSH 從被動輪詢轉變爲事件驅動的架構。通過簡單的配置,你可以實現文件監控、自動化摘要等場景。更多細節請訪問 GitHub 或插件目錄頁。