Back to home

flaricy

herdr-bridge

No description

Stars
0
Language
JavaScript
Created
Aug 15, 2026
Updated
Aug 15, 2026

Introduction

dsh-herdr-bridge

Report DeepSeek Harness agent activity to the herdr pane hosting the dsh process. herdr's status bar then shows the pane as an agent with live working / blocked / idle states. No herdr changes required.

How it works

herdr injects HERDR_SOCKET_PATH and HERDR_PANE_ID into every pane command. This plugin reads them, listens to dsh's agent/status, agent/created, agent/disposed, and approval/request events, and reports the aggregated state over that socket. Outside a herdr pane it is a no-op.

Install

cd ~/.dsh/profiles/web
pnpm add github:flaricy/herdr-bridge   # or: pnpm add dsh-herdr-bridge (once on npm)

Add one row to the profile's cordis.patch.yml (or ~/.dsh/cordis.patch.yml to apply to every profile):

- insert:
    - id: herdr-bridge
      name: dsh-herdr-bridge

Restart dsh. Any dsh run inside a herdr pane then shows up as dsh.

Config

All fields are optional and fall back with a log line when invalid.

FieldDefaultMeaning
agentLabeldeepseek-harnessagent label reported to herdr
sourceherdr:deepseek-harnessreport source
displayAgentdshshort label shown in herdr's sidebar
debounceMs250state-change report debounce (ms)
heartbeatMs15000heartbeat period (ms)

Limits

  • herdr shows one agent per pane, so multiple agents/subagents aggregate into that pane's row. Split them by running one dsh per pane.
  • A graceful exit clears the reported state; a SIGKILL/crash cannot, so herdr keeps the last state until the pane reopens.
  • Editing the plugin file needs a dsh restart (the module cache is not hot-reloaded).

Develop

npm test

License

MIT