DeepSeek Harness 插件

JohnXu22786/dsh-web-submit

Star 数 ★ 1 分类 工具与能力 收录于 2026-08-28

把 CLI 提交的 headless 任务跑进正在运行的 dsh Web 进程(/x/headless + SSE 事件流),Web 界面实时可见进度。

安装

# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)

dsh plugin --profile web add github:JohnXu22786/dsh-web-submit

装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。

README

该插件的 README 只有英文版本。

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

dsh plugin --profile web add file:C:/dsh-web-submit

The bundle patch rule (cordis.patch.yml) is applied automatically by dsh plugin add, so no manual edit to the host profile is needed.

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

内容来自项目 README(GitHub)↗

链接

同类插件

查看整个分类 →

社区评论

评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。