Introduction¶
When developing a DeepSeek Harness (DSH) Agent, a traditional approach is usually to poll external data sources. This method is less efficient and cannot respond to sudden events in a timely manner. The galvanize-dsh plugin solves this problem by providing a set of event-trigger tools for the DSH Agent, allowing it to proactively wake a new DSH session when a file arrives, an email is received, a webhook is triggered, or a Git event occurs.
Plugin Positioning¶
This is a DSH-native plugin package maintained by jarvis959, designed to listen for external events through the galvanize core daemon. When an event is triggered, it starts a headless DSH session and passes in a preset prompt and event data. The plugin itself is a lightweight validation client, with all logic proxied to the core’s local API.
Core Features¶
After installation, the plugin injects the following commands into the DSH Agent’s toolset:
trigger_add: Registers a trigger (supports event types such as folder watching, email, webhook, and emit), providing an alternative to the “polling” model.trigger_list: Lists all currently registered triggers and their specific configurations.trigger_test: Sends a synthetic event through the real dispatch path to verify whether the trigger logic works correctly.trigger_status: Checks health status, including daemon status, today’s trigger count, last trigger time, and error information.trigger_remove: Removes a specified trigger and cleans up related routes.
Installation and Enablement¶
Before installation, ensure the system environment meets the following requirements:
* The galvanize core daemon is installed and autostart is enabled.
* DeepSeek Harness CLI is available in the system PATH.
* The Node.js version requirement is met (^22.19 or >=24).
Run the following command to complete the installation:
npx github:lychee888/galvanize-dsh install
The installation process performs strict validation:
1. Checks the galvanize core version handshake.
2. Verifies read-only access to the core.
3. Probes connectivity for the target Profile and Wake Profile.
4. Checks the plugin’s liveness/status.
The installation is complete only when all checks pass (displaying LOADED). After installation, you can rerun the checks with galvanize-dsh verify --profile <name>.
Typical Usage¶
After installation, you can create triggers via CLI or natural-language commands.
Example 1: Monitor a folder via CLI
Monitor a specified folder and generate a summary when a file arrives:
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 生成摘要
Example 2: Use a natural-language command
Send the command directly in the DSH chat window. The Agent will automatically call trigger_add and test the trigger once:
“wake me when a lab report lands in my inbox”
Applicable Scenarios and Notes¶
- Architecture: The plugin is a “thin client.” It does not contain wake or trigger logic. All operations are proxied to the core API (
GET /version,POST /manage/<op>), keeping behavior consistent with other plugins such as Hermes / Claude Code / Codex. - Conflict Detection: This plugin should not coexist with
galvanize mcp. The core detects and flags double mounting via~/.galvanize/surfaces.json, ensuring only one active plugin surface. - Webhook Configuration: When using a webhook-type trigger, you need to configure
relay_urlandrelay_token, and deploy the galvanize relay service. - Permission Requirements: The plugin runs with the permissions of the current DSH process. Before installation, review the source code and license (MIT).
Summary¶
galvanize-dsh transforms DSH from passive polling into an event-driven architecture. With simple configuration, you can implement use cases such as file monitoring and automated summarization. For more details, visit GitHub or the plugin catalog page.