前言¶
在开发 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 或插件目录页。