前言¶
DSH(DeepSeek Harness)采用插件化架构,运行在特定进程内。通常控制会话需要直接操作运行 DSH 的设备。devctl-dsh 提供了 DSH 接入层:从另一台设备通过 CLI 控制 DSH 会话。它管理会话(列会话、发消息、看流式回复、打断、换模型),配对无需手动复制 token(通过设置页二维码),并提供原生 Android 客户端与 Python 控制端。
核心功能¶
- 会话管理:列出会话、发送消息、查看流式回复、打断当前轮次、切换模型。
- 配对机制:设置页提供二维码,扫码即可获取
dshctl add命令,避免手动抄写 token。 - 控制端:单文件 Python 3 脚本
cli/dshctl.py,零依赖。 - 客户端:原生 Android 客户端
dshconsole,与 CLI 共享协议和 token。 - 代理与界面:提供网页界面代理,集成于 DSH 设置页,支持设备列表、工作区增删改查及权限管理。
- 图片支持:
--image参数支持发送本地图片。
安装(被控端)¶
在被控端安装插件,使其在 DSH 进程内开启 token 鉴权的 JSON-Lines TCP 端口(默认 7788)。
plugin_manager install_bundle target=<本仓库的绝对路径>
安装后端口立即生效,设置页会出现 devctl 分区。确认端口开启:
netstat -ano | findstr :7788
首次启动会生成 token 并写入 %USERPROFILE%\.dsh\devctl-dsh.json。修改端口或绑定地址可编辑 cordis.patch.yml 的 config 或在 profile 补丁层覆盖。
安装(控制端)¶
控制端只有一个文件。在被控端临时起一个 HTTP 服务供移动端下载:
cd cli
python -m http.server 7799
在手机 / iSH / Termux 下载并注册设备:
curl -O http://192.168.2.7:7799/dshctl.py
python3 dshctl.py add desk --host 192.168.2.7 --port 7788 --token <TOKEN>
同机运行时,--token 可省略,脚本会自动读取 %USERPROFILE%\.dsh\devctl-dsh.json。
CLI 用法¶
CLI 命令对齐 devctl 风格,常用命令如下:
dshctl.py add <name> <host:port> [--token T] # 注册设备
dshctl.py devices # 列出设备
dshctl.py use <name> # 设默认设备
dshctl.py send "message" # 发消息
dshctl.py send "图片" --image shot.png # 发送图片(路径为控制端本地)
dshctl.py permissions # 查看权限
dshctl.py permissions danger-full-access # 提升权限
dshctl.py tail [-n 40] # 查看最近消息
dshctl.py watch [--for 60] # 实时监听事件
dshctl.py cancel # 打断当前会话
dshctl.py workspaces # 列出工作区
dshctl.py ws-new D:\proj\thing # 新建工作区
dshctl.py ws-rm d431cc0a # 注销工作区(保留文件和会话)
注意事项:
* 远程控制端可以修改权限,可能将自己提升到 danger-full-access。
* dshctl 每条命令都是短连接(除非正在 watch/tail)。
* ws-rm 只注销条目,不删除磁盘上的目录和会话。
Android 客户端¶
仓库包含原生 Android 客户端 clients/dshconsole,单 Activity、纯 Java + 手写 View,不依赖 AndroidX/Compose,产物约 86 KB。它和 CLI 走同一套协议。
构建 APK 不需要 Android SDK,在 Linux 沙箱即可:
cd clients/dshconsole
python3 build.py # → out/dshconsole.apk
adb install -r out/dshconsole.apk
界面特性:
* 思考块:✦ 思考 · N 字 ▸ 默认折叠,流式期间只露最新一行。
* 模式栏:输入框上方胶囊直接切换模型/思考强度/权限。
* 发送模式:↑ 排队等待本回合结束;⏎ 立刻插话。
* 工具调用:自动收成折叠卡片。
* 连接自愈:断线自动重连并重新 watch。
* 排版:支持 Markdown 和真表格。
适用场景与注意¶
本插件以当前 DSH 进程的权限运行,安装前应检查源码与许可证。它通过局域网端口提供服务,请确保网络环境安全。