dsh-api
未验证 kelemiao
功能简介
Local HTTP API for DeepSeek Harness: let other agents control DSH sessions through official ApiProxy routes.
未验证 — 尚未实测
Local HTTP API for DeepSeek Harness: let other agents control DSH sessions through official ApiProxy routes. 尚未验证——请自行安装测试。
「未验证」表示我们的自动化 CI 尚未安装过该插件。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。
README
dsh-api
Local HTTP API for DeepSeek Harness (DSH). Other AI agents use it to control
DSH through plain HTTP instead of the GUI.
Milestone one covers session control: list and create sessions, read history,
send prompts, stream replies, and cancel turns. Everything else remains
available through the raw /api/* passthrough.
Install
Install the plugin into a DSH web profile:
dsh plugin --profile web add link:C:/path/to/dsh-api
The package declares dsh.bundle.patch, so dsh plugin registers it in the
profile's dsh.profile.bundles automatically. No manual cordis patch is
needed. Once published, install from the registry withdsh plugin --profile web add @kelemiao/dsh-api.
Settings live in the GUI Settings page under dsh-api and apply immediately.
Settings
| Field | Type | Default | Notes |
|---|---|---|---|
| enabled | bool | true | server on/off |
| port | int | 4777 | 1-65535, loopback only |
| token | secret | generated on first run | fixed bearer token |
Endpoints
| Method | Path | Purpose |
|---|---|---|
| GET | /health |
Public health check. |
| GET | /api/sessions |
List sessions: { items: SessionSummary[] }. |
| POST | /api/sessions |
Create session; body { cwd?, workspaceId?, agentPreset? }. |
| GET | /api/sessions/:id/history |
Read history; query beforeSeq?, maxMessages?. |
| POST | /api/sessions/:id/prompt |
Send prompt; body { content, mode? }. |
| POST | /api/sessions/:id/cancel |
Cancel the running turn. |
| GET | /api/sessions/:id/stream |
SSE stream filtered to this session. |
| POST | /api/* |
Raw official ApiProxy JSON RPC passthrough. |
| GET | /api/events.mux |
Raw official aggregated SSE stream. |
Convenience routes win over the passthrough; any other request whose path
starts with /api/ is forwarded verbatim to the official ApiProxy transport.
Authentication
All routes except /health require Authorization: Bearer <token>. The
server binds 127.0.0.1 only. Missing or wrong tokens get 401.
SSE
curl -N -H "Authorization: Bearer $DSH_API_TOKEN" \
http://127.0.0.1:4777/api/sessions/<sessionId>/stream
Frames are official MuxFrame objects, filtered by session id. A prompt whose
single text block starts with / runs as a slash command, like the GUI.
Smoke test
With the plugin enabled in a running DSH:
DSH_API_TOKEN=<token> node scripts/smoke.mjs
DSH_API_URL defaults to http://127.0.0.1:4777.
Scope
Out of milestone one: ergonomic wrappers for approvals, subagents, goals,
jobs, settings, credentials, and workspace mutation; TLS; remote bind;
multi-user tokens.
安装
装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:
dsh plugin add dshbase-catalog 然后对 agent 说「帮我装 dsh-api」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。
该插件是 GitHub 源码(未发 npm)——直接从仓库装:
Web profile:
dsh plugin --profile web add github:kelemiao/dsh-api Headless(CLI)profile:
dsh plugin --profile headless add github:kelemiao/dsh-api 实测报告
尚未 L3 验证——若已跑过,见下方失败备注。
2026-08-26 · 标记 webonly 备注:验证: web-only;待 L4 web CDP;L4 web CDP runtime-fail on dsh 0.1.0-rc.8. 浏览全部待验证失败 →