Introduction

Herdr is a terminal workspace manager. By default, it only recognizes Agents detected by the built-in detectors (such as opencode, claude, codex, etc.). dsh/cc-tui/ is not in the default list, so DSH panes in Herdr appear as ordinary terminal processes, with no status and no support for pane jumping or --wait.

The dsh-herdr-site plugin uses Herdr’s official custom integration protocol to report dsh agent status (working/idle/blocked) to Herdr, enabling it to manage DSH panes just like other Agents.

What Is This?

dsh-herdr-site is a DSH plugin maintained by WuJiaoJue. It synchronizes agent status from dsh/cc-tui/ to Herdr so that Herdr can recognize DSH panes and provide pane jumping and --wait support.

Core Features

  • Status reporting: Reports agent status (working/idle/blocked) through Herdr’s pane report-agent / pane release-agent protocol.
  • Pane jumping and waiting: Enables Herdr’s pane jumping feature and --wait support.
  • Multi-profile support: Compatible with both cc-tui and dsh-tui profiles.
  • Protocol integration: Uses Herdr’s official custom integration protocol.
  • Session event handling: Handles the session event stream (ask_user_question tool calls and results).
  • Blocked message: Supports an optional blockMessage to display the specific reason the Agent is waiting.

Installation and Activation

Installing this plugin requires a working DSH installation with either the dsh-cc-tui or dsh-base profile.

Install from npm (recommended, prebuilt, no approval required):

dsh plugin --profile cc-tui add dsh-herdr-site

Install from GitHub:

dsh plugin --profile cc-tui add github:WuJiaoJue/dsh-herdr-site

Verify installation:

dsh --profile cc-tui --dump-config | grep -A2 herdr-site

Typical Usage

After installation, DSH panes in Herdr will display the correct status. To customize the message shown when blocked, set blockMessage in the configuration file.

Configuration example (in cordis.patch.yml):

# 在 profile 的 cordis.patch.yml 中,或作为 --patch 覆盖
- id: herdr-site
  config:
    blockMessage: '模型等待你的回答'

Use Cases and Notes

  • Process recognition: Herdr’s automatic process detection mechanism still cannot directly recognize dsh processes as Agents (this requires updates to Herdr’s built-in detectors). This plugin resolves the issue via the custom integration protocol, providing correct status, pane jumping, and waiting functionality.
  • dsh-tui limitation: The dsh-tui profile does not include the ask_user_question tool, so the blocked state is never triggered under this profile (working/idle states are unaffected).
  • Fixed label: The Agent label reported to Herdr is fixed as cc-tui.
  • Session ID: The optional --agent-session-id reference feature is not connected yet, so Herdr’s pane/agent API cannot directly expose the associated dsh session id.
  • Prerequisites: The plugin depends on packages provided by the host profile (such as @deepseek-ai/cordis, dsh-session, dsh-agent); ensure the host environment is installed correctly.

Brief Conclusion

By reporting status to Herdr, this plugin elevates the DSH experience from an ordinary terminal into a manageable Agent pane. For more details, please refer to the catalog or GitHub.