ben7am1n/dsh-webhook-bridge ↗★ 1
dsh-webhook-bridge
Generic webhook receiver for DeepSeek Harness — POST to a local endpoint to wake a dsh agent.
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:ben7am1n/dsh-webhook-bridge说明文档
阅读完整 README ↗dsh-webhook-bridge
Generic webhook receiver for DeepSeek Harness — POST to a local endpoint and wake a dsh agent. CI, monitoring, or any HTTP-capable service can feed messages to a harness agent over plain HTTP. Zero runtime dependencies beyond the official schema library (node:http only).
Overview
dsh-webhook-bridge exposes a small local HTTP server. Each request to POST /hook/:channel delivers a message to that channel's agent session; committed assistant text can be streamed back to an optional callback URL. It is a protocol driver in the dsh extension model — the same role as the official ACP/JSON-RPC bridges, but for any system that can send HTTP.
Who is it for?
- CI pipelines that want an agent to triage a failed build.
- Monitoring/alerting systems that want an agent to investigate an incident.
- IM bots and webhooks (GitHub, GitLab, generic services) that need to hand a payload to a harness agent.
- Developers who want a readable reference for writing an HTTP-based protocol-driver plugin.
What it does
- Serves
POST /hook/:channel(Bearer-secret auth) andGET /health. - Maps one channel to one agent session; the first message creates the agent, later messages
followup()into the same session. - Extracts message text with a documented precedence: JSON
message>text>content; non-JSON bodies are used verbatim. - Optional
reply_urlin the body: committed assistant text is POSTed back as{"text": "..."}. - Rejects unauthorized, malformed, and oversized requests (401/400/413).
What it does not do (yet)
- No TLS (terminate TLS at a reverse proxy; the endpoint binds loopback by default).
- No webhook signature verification beyond the shared Bearer secret.
- No cross-restart persistence of channel→session mapping (in-memory; see Compatibility).
Compatibility
- Requires Node.js ≥ 22.19 (global
fetch,node:http). - Built and verified against
@deepseek-ai/dsh@0.1.0-rc.6/@deepseek-ai/cordis@^4.0.1. - Last verified: 2026-08-14.
- Channel→session mapping lives in memory: restarting dsh loses open sessions (a new request recreates them).
- dsh is in developer preview; re-verify after harness updates.