kelemiao/dsh-api1

dsh-api

用于 DeepSeek Harness 的本地 HTTP API:向其他智能体开放 DSH 会话控制功能。

AI 分析

核心用途是暴露本地 HTTP 接口以控制 DSH 会话。适合需要通过外部脚本或其他 AI 智能体程序自动化控制 DSH 的开发者。

套件
dsh-api
版本
0.1.0
最近更新
2026年8月16日

安裝

此插件尚未提供可驗證的 bundle,或相容性檢查未通過。請先閱讀倉庫說明。 閱讀完整 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

Enable it in the profile cordis patch:

{
  "plugins": {
    "dsh-api": {}
  }
}

Settings live in the GUI Settings page under dsh-api and apply immediately.

Settings

FieldTypeDefaultNotes
enabledbooltrueserver on/off
portint47771-65535, loopback only
tokensecretgenerated on first runfixed bearer token

Endpoints

MethodPathPurpose
GET/healthPublic health check.
GET/api/sessionsList sessions: { items: SessionSummary[] }.
POST/api/sessionsCreate session; body { cwd?, workspaceId?, agentPreset? }.
GET/api/sessions/:id/historyRead history; query beforeSeq?, maxMessages?.
POST/api/sessions/:id/promptSend prompt; body { content, mode? }.
POST/api/sessions/:id/cancelCancel the running turn.
GET/api/sessions/:id/streamSSE stream filtered to this session.
POST/api/*Raw official ApiProxy JSON RPC passthrough.
GET/api/events.muxRaw 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 . 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//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= 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.