galvanize-dsh: 讓 DSH Agent 通過事件主動喚醒會話

前言

在開發 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 或插件目錄頁。

羽毛球分组比赛记分
小程序二维码

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

小夜