前言¶
DeepSeek Harness (DSH) 采用“一切皆插件”的架构。在本地调试或运行智能体时,如果 dsh web 实例已经在运行,直接使用 Web UI 操作并不够高效。dsh-web-submit 插件解决了这一割裂问题,它允许开发者从命令行直接驱动现有的 Web 实例,使 CLI 会话在 Web UI 中实时可见。
插件简介¶
这是一个由 JohnXu22786 维护的 DSH 插件,归类于联网工具。它提供了一组 HTTP 端点,复用 Web 进程内的 ApiProxyService,使任务执行在 Web 进程内部进行。这意味着无需单独的无头进程或 webhook glue,CLI 提交的任务会直接反映在 Web UI 的会话列表中。
核心功能¶
插件提供三个核心接口:
- 提交任务:通过
POST /x/headless发送任务参数。 - 查询状态:通过
GET /x/headless/status轮询最新会话状态。 - 接收事件:通过
GET /x/headless/events接收 SSE 实时事件流。
- 所有接口仅支持本地回环请求 (127.0.0.1 / localhost)。
- 任务执行在 Web 进程内完成,权限审批等交互会直接反映在 Web UI 中。
安装与启用¶
安装命令如下:
dsh plugin --profile web add file:C:/dsh-web-submit
插件依赖 cordis.patch.yml 进行自动配置,安装后需重启 dsh web 才能生效:
~/.dsh/start-web.cmd
典型用法¶
- 提交任务:
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"}'
- 实时查看事件流:
curl -sN "http://127.0.0.1:3080/x/headless/events?sessionId=session-xxx"
在任务运行期间,打开 Web UI,即可看到与 CLI 同步的实时会话。
适用场景与注意¶
适合需要在本地开发环境中,利用现有的 Web 进程进行调试或批量提交任务的场景。需注意:
- 所有请求必须来自本地回环地址。
- 安装后务必重启 Web 服务以加载插件。
- 任务在 Web 进程内执行,涉及权限审批的操作需在 Web UI 中确认。
结语¶
该插件通过复用 ApiProxyService,实现了 CLI 与 Web UI 的无缝连接。如果你习惯使用命令行进行操作,但又需要 Web UI 提供的实时反馈,可以使用该插件。更多细节请参考 GitHub 仓库。