galvanize-dsh: Enable DSH Agent to Proactively Wake Up Conversations via Events

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_url and relay_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.

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

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

Xiaoye