- admin4小时前2026-09-11 01:51管理员1
最近用 DeepSeek Harness(dsh)跑智能体时遇到个很实际的痛点:任务一跑就是几十分钟,人却不能一直钉在电脑前——出门想看进度、批个审批、补一句话,都做不到。
dsh 自带的 Web UI 是纯桌面布局,手机直接访问基本没法用:设置弹窗挤成一条竖排文字、下拉菜单飞出屏幕、键盘盖住输入框。市面上的局域网/穿透方案要么功能薄,要么我想要的管理能力缺失。于是自己动手做了一个,现在正式开源:
【dsh-remote:自托管中继 + 桌面插件】
架构一句话:手机浏览器 → 自托管 relay-server(VPS)→ 桌面 dsh-remote 插件 → 本地 dsh web server。不改 dsh 内核、不改前端,dsh 升级零跟进成本。
几个设计决策说说理由:
1)安全是第一优先级
・6 位配对码 + 一次性挑战-响应(HMAC-SHA256),防重放
・HOST_TOKEN 是唯一信任边界;落盘只存 sha256 摘要,日志永不打印令牌
・手机会话 HttpOnly cookie;管理台独立口令 + 限速
・全程自托管:流量只过你自己的 VPS,不碰任何第三方2)流式保序
SSE、工具调用卡片逐帧保序回传,手机上看到的流式输出和桌面完全一致,不会糊成一坨。
3)移动适配层(实际用起来最爽的部分)
在隧道内为手机注入响应式样式:聊天正文全宽、设置弹窗全屏化 + 导航横滑条、模型下拉不再出屏、侧栏变成抽屉、键盘不遮输入框。桌面/GUI 打开的界面零变化;dsh 升级若结构变化会自动退回原生布局,不会更糟。
4)管理台
设备总览、配对码与令牌指纹、断开/吊销/删除设备,全部/在线/离线筛选。单设备单活跃令牌,重新配对自动替换旧令牌。
5)两个藏在细节里的坑也一并解了
・隧道流量剥离浏览器信任头才能过 dsh 的 /api 防线,否则全部 403
・settings 镜像默认按页面域名判定可用性,隧道会话会被判死——插件做了定向适配,模型目录、插件配置在手机上全部可用(响应本身脱敏,密钥不上线)【上手三步】
1)VPS 部署中继:Node 22,仓库自带 systemd + caddy 完整示例,CentOS/Rocky/Alma 有 install.sh 一键脚本
2)桌面装插件:pnpm build 后 dsh plugin add,重启 DSH
3)手机扫二维码输 6 位配对码,直接进入和桌面同源的操作界面详细步骤 README 里都有(中英双语),协议也有单独的契约文档(帧格式/握手/安全边界)。
【已知边界(诚实版)】
・需要一台 VPS;只在局域网用的话,更简单的方案更多(当前方案也可以在本地机子启用中继服务器,然后访问局网IP即可)
・CI 目前跑构建 + 语法门,typecheck 需要本地 dsh 源码检出(README 有说明)
・目前是 Windows 桌面 + Android 手机实测,欢迎各端反馈如果你也经常挂着长任务跑智能体,这个方案值得试试。项目 MIT 开源,欢迎 Issue / PR / Star:
GitHub:https://github.com/JochenYang/dsh-remotePS:虽然可能有很多方案了,但是自己做一个在隐私性上更好一些,有时间有兴趣的可以玩玩。
- 暂无回复