dsh-web-submit:通过 CLI 驱动运行中的 dsh web 实例

前言

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 的会话列表中。

核心功能

插件提供三个核心接口:

  1. 提交任务:通过 POST /x/headless 发送任务参数。
  2. 查询状态:通过 GET /x/headless/status 轮询最新会话状态。
  3. 接收事件:通过 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

典型用法

  1. 提交任务:
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"}'
  1. 实时查看事件流:
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 仓库。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜