Jessie-1939/whalepal

dsh-bridge

把 DeepSeek Harness 的 agent 状态(思考、工具调用、报错、等待确认)通过本机回环推给桌面宠物应用「鲸伴 WhalePal」,让这只桌面宠物跟着真实状态反应,而不是靠截屏猜。

娱乐dshdsh-bundledsh-plugin-market

dsh-whalepal-bridge

Pushes DeepSeek Harness (DSH) agent state to WhalePal, a standalone desktop pet app. WhalePal is its own Electron desktop-pet application (installed separately); this plugin only feeds it the agent state. With this plugin the pet no longer has to guess from screenshots: she knows when the agent is thinking, which tool it is running, when something failed, and when it is waiting for your approval. WhalePal works fine when DSH is closed — the two are independent.

What it does

It subscribes to public DSH events and POSTs a small state payload to a loopback address:

DSH eventState sent to WhalePal
agent/session-startsession-start
agent/statusbusy / idle
tools/pre-executetool (tool name + a command/path snippet cut to 90 chars)
tools/resulttool-done / error
agent/errorerror (short error summary)
agent/turn-stoppingturn-end
approval/requestwaiting-approval

Install

# from npm (once published)
dsh plugin --profile web add dsh-whalepal-bridge

# or straight from GitHub (subpackage of the monorepo)
dsh plugin --profile web add github:Jessie-1939/whalepal#path:/packages/dsh-bridge

Then restart dsh web. On the WhalePal side, keep 设置 → 陪伴 → "DSH 桥接(本机回环)" enabled (default on, port 8787).

Uninstall:

dsh plugin --profile web remove dsh-whalepal-bridge

Privacy

  • Loopback only: normalizeEndpoint() rejects anything that is not 127.0.0.1 / localhost, and the plugin refuses to send at all in that case;
  • No message content: only the tool name plus a 90-char command/path snippet;
  • No telemetry, no cloud calls, no files written;
  • When WhalePal is not running it fails silently (at most one debug log per 5 minutes) and never affects DSH itself.

License

MIT.