dsh-TUI usually requires developers to stay in front of the terminal while executing long turns or handling manual approval. Once they leave, these critical states may be missed. The following introduces dsh-tui-webhook, which pushes long-turn completion and approval requests to Feishu, DingTalk, WeCom, or a generic webhook by configuring a local IM bot.

Plugin Positioning

This is a community plugin designed for dsh-TUI. Its core purpose is to push critical dsh-TUI events (such as long-turn completion and approval requests) to an IM bot, so you can receive reminders even when away from your computer. The configuration is stored in the local settings document and is not uploaded to any third party.

Core Features

  • Event Pushing: Supports pushing dsh-TUI events to an IM bot.
  • Multi-platform Support: Supports Feishu, DingTalk, WeCom, and any generic webhook.
  • Key Notifications: Pushes long-turn completion notifications and tool approval request notifications.
  • Session Statistics: Only counts turns in top-level sessions; sub-agents do not trigger duplicate pushes.
  • Local Configuration: The URL and signature secret are stored in the local dsh settings document (webhook namespace).

Installation

This plugin has not yet been published to npm; it must be installed from source by creating a package. Run the following commands in your terminal:

git clone https://github.com/FUSU123fusu/dsh-tui-webhook.git
cd dsh-tui-webhook
npm pack
dsh plugin --profile <你的profile> add file:dsh-tui-webhook-0.1.0.tgz

Configuration and Usage

After installation, go to /settings → “Webhook Notifications” in dsh-TUI to configure it. Configuration items include the platform, webhook URL, signature secret, minimum turn duration (default 30 seconds), and the toggle. Changes take effect immediately after saving, without requiring a restart.

To check the configuration status:

/webhook

This command displays the current platform, the URL mask (only the first 30 characters are shown), and the toggle status.

To send a test message:

/webhook test

This command sends a test message and returns the HTTP status.

Platform Configuration Guide

Before configuring the URL and secret, you need to create a bot in the corresponding IM platform:

  • Feishu: Group settings → Group bot → Custom, copy the webhook. After enabling “Signature verification”, enter the key into secret.
  • DingTalk: Group settings → Bot → Custom, copy the webhook. Select “Signature” in security settings, then enter the key into secret.
  • WeCom: Group settings → Group bot → Add, copy the webhook (signature is not supported).
  • Generic: Any HTTP endpoint that accepts POST {"text":"..."}.

Notes

  • Privacy and Security: The configuration is stored locally and is not uploaded to third parties. On the /webhook status page, the URL shows only the first 30 characters.
  • Statistics Scope: The plugin only counts turns in top-level sessions.
  • License: The project uses the MIT license. Before installing, review the source code to ensure it fits your use case.

Project URL: https://github.com/FUSU123fusu/dsh-tui-webhook