dsh-web-submit
DeepSeek Harness plugin: run headless-style tasks through the live dsh web process — CLI-invoked sessions appear in the Web UI in real time (POST /x/headless, GET status, SSE live events).
- Stars
- 0
- Language
- JavaScript
- Created
- Aug 23, 2026
- Updated
- Aug 23, 2026
Introduction
dsh-web-submit
DeepSeek Harness plugin that lets you drive the running dsh web instance
from the command line — the task executes inside the web process, so the Web
UI shows it live (same sessions store, same event stream), and permission /
approval questions appear in the Web UI.
No separate headless process, no webhook glue: one plugin, three endpoints.
Endpoints
| Method | Path | Description |
|---|---|---|
POST | /x/headless | {"task": "...", "cwd": "...", "preset": "standard", "mode": "queue"} → {"ok": true, "sessionId": "session-..."} |
GET | /x/headless/status?sessionId=... | Latest session events (non-streaming poll) |
GET | /x/headless/events?sessionId=... | SSE live event stream; ends after turn/end |
Loopback requests only (127.0.0.1 / localhost), same trust posture as the
built-in /api surface. The plugin reuses the in-process ApiProxyService,
so it stays identical to the UI's own session/prompt path.
Install
cd ~/.dsh/profiles/web
# add the row to cordis.patch.yml:
# - insert:
# - id: dsh-web-submit
# name: 'dsh-web-submit'
# then install the package (or place the folder in node_modules/)
dsh plugin --profile web add file:C:/dsh-web-submit
Restart dsh web (~/.dsh/start-web.cmd) to load the plugin.
Example (CLI)
# submit a task
curl -s -X POST http://127.0.0.1:3080/x/headless \
-H 'content-type: application/json' \
-d '{"task":"Summarize the README","cwd":"C:/my/project","preset":"coding"}'
# tail it live
curl -sN "http://127.0.0.1:3080/x/headless/events?sessionId=session-xxx"
While it runs, open the Web UI: the session is visible in real time, exactly as if you had typed the task there.
Config
| Key | Default | Meaning |
|---|---|---|
routePrefix | /x | Route prefix for all endpoints |
maxBodyBytes | 1048576 | Max request body size |
License
MIT