Repository navigation
Releases: winlin926/dsh-roam
Releases · winlin926/dsh-roam
Release list
dsh-roam v1.2.0 — 手机上的随手工作台
dsh-roam 1.2.0
手机端不再只是“把会话搬过来”,而是更像一个随手可用的工作台。
这版主要解决三个日常问题:想开新任务时首页太乱、想继续旧会话时找起来费劲、离开电脑后不知道有哪些连接。我们也把中英文安装说明重新写了一遍,新用户不必先读懂桥接、RPC 或证书,才能开始第一次连接。
这次你会直接感受到的变化
- 首页更干净了。 打开就是新建任务:品牌、一个输入卡、必要的工作区提示。最近会话不再挤占首屏。
- 找会话更顺手了。 左上角的 ☰ 会打开左侧抽屉,工作区切换、搜索、最近会话、已归档会话和连接状态都在这里。聊天中也可以直接换会话,不必先回首页。
- 聊天更像手机了。 独立返回键、标题和运行状态、底部输入区,模型、思考强度和会话模式都改成了触屏更自然的底部选择面板。
- 连接情况更明白了。 新增「连接设备」,可以查看当前活跃配对会话数、最近请求时间,以及无活动或手动断开状态。它不是重启前的完整历史设备库,也不把旧连接说成在线。
那些让体验更稳的小地方
- 输入框不再出现突兀的桌面式焦点框,键盘、底部安全区和输入区高度会一起工作。
- 流式回复按稳定消息身份更新,工具与思考的展开状态、图片和阅读位置不再轻易被重绘打断。
- 上翻阅读历史时不会被新消息强行拉回底部;加载更早消息也保留原来的阅读位置。
- 切换会话、关闭弹层、使用系统返回时,不会复活已经关闭的面板。
- 首发设置失败、发送失败或附件上传失败时,草稿和附件会留在真正需要重试的地方,不会消失或跑到另一个会话。
- 慢请求返回得太晚时,不会覆盖当前会话、错误解锁另一个加载任务或让运行状态倒退。
- 「连接设备」按浏览器配对会话计数,不把同一手机的不同浏览器或隐私窗口硬说成一台设备,也不把无活动直接当成断开。
手机端已有的工作能力
这版保留并接入了此前完成的移动功能:
- 相册多选、拍照、粘贴图片,自动压缩发送,历史图片可放大查看。
- 任意文件上传与历史文件卡片;文件内容暂时请在电脑端查看。
- 工具审批、Agent 提问、待办进度。
- 生成中的排队、编辑、移除和打断。
- 长会话加载更早、会话重命名、归档/取消归档、标题或内容搜索。
- 局域网、Cloudflare/Pinggy 临时隧道、固定域名与证书配置。
- PWA 基础:可添加到主屏幕;Service Worker 与系统通知需要 HTTPS,局域网 HTTP 不提供。
文档也更友好了
README 现在同时提供中文和英文,并加入实际的手机首页与「连接手机」设置截图。
它会先告诉你:这个插件能解决什么、怎样下载、第一次怎样连接;再解释各功能。没有域名时,可以直接使用现有的临时隧道,不需要先购买域名或配置公网 IP。
升级与兼容
- 从 1.x 升级不需要迁移数据。
settings.json、连接密码、证书与公网配置保留。 - 浏览器会话仅保存在内存中,插件重启后需要重新扫码;旧 Cookie 不会被长期保留。
- 1.x 只做手机浏览器客户端,不恢复 AI-HUB App、移动 API、设备凭据或设备台账。旧 App 用户请继续使用
0.3.1/legacy/aihub。 - 本版本没有应用层端到端加密。公网 TLS 在 Cloudflare、Pinggy、frps 或反向代理处终止,敏感内容建议使用自己控制的网络与反向代理。
- 工具审批断线后需要在电脑端处理;重复应答会返回冲突,不会重复执行。
验证情况
- Node 自动化测试:21 个文件、228 条通过。
- 真实 Chrome 移动交互验收:24/24 通过,覆盖首页、抽屉、创建并发送、模型设置、审批/提问、队列、图片/文件失败恢复、重命名/归档、历史滚动和慢请求跨会话恢复。
npm pack --dry-run已检查,手机静态资源完整入包。- 本版本未宣称 Android / iOS 真机、Safari、Firefox 或真实桌面 Host 全量回归通过;移动视口和桩 Host 不能替代真实设备测试。
安装或升级
在 DSH 的 设置 → 插件市场 搜索 dsh-roam,安装后重启 DSH;或使用命令行:
dsh plugin --profile web add dsh-roam@1.2.0装好后打开 设置 → 连接手机,扫码即可开始。
dsh-roam v0.3.0
dsh-roam 0.3.0
AI-HUB 二维码改为一次性配对码。
变更
- 二维码里不再包含固定 6 位连接密码,而是 5 分钟有效、成功配对一次即作废的一次性配对码。
- 手动配对 AI-HUB 仍使用固定密码;浏览器公网入口的密码不变。
- 一次性码过期或被使用后,面板轮询会自动生成新码。
- AI-HUB 移动 API 不可用时显示具体原因,不再一直显示“二维码生成中”。
安全边界
- 二维码截图只有在 5 分钟内、且未被使用过时才可能被滥用;过期后无效。
- 固定密码仍用于手动配对和浏览器入口,继续受 10 次 / 10 分钟的全局限速保护。
- 已配对设备仍使用可吊销的设备凭据,不受二维码轮换影响。
升级
dsh plugin --profile web add dsh-roam@0.3.0重启 DSH 后生效;已配对设备、连接密码和公网配置保留。
验证
pnpm test:18 个测试文件、208 个用例全绿。- 真机需要复测:AI-HUB 扫码配对、同一二维码第二次使用应失败、5 分钟后刷新、手动固定密码仍可配对。
dsh-roam v0.2.3
dsh-roam 0.2.3
元数据与文档补丁,不包含功能变更。
变更
- 统一版权主体为
winlin926:LICENSE、package.json.author、README 三处一致。 - README 增加真机测试状态:Windows + Android 已实测;iOS / iPadOS 未实测。
- 已配对设备、连接密码和公网配置不受影响。
升级
dsh plugin --profile web add dsh-roam@0.2.3重启 DSH 后生效。
验证
pnpm test:18 个测试文件、206 个用例全绿。- 真机验收:局域网浏览器、公网浏览器、AI-HUB 局域网、AI-HUB 公网、设备移除均通过(Android)。
dsh-roam v0.2.2
dsh-roam 0.2.2
0.2.1 的补丁版本,修复真机验收发现的两个问题。
修复
- 移除设备失败:设置面板点「移除」曾返回
mobileDevices is not defined。现在会先吊销设备凭据,再从本机设备台账删除,并补了路由回归测试。 - 浏览器状态误报:关闭手机页面后,面板仍长期显示「浏览器已连接」。现在只有最近 30 秒内发过真实请求的浏览器会话才算在线;超过 30 秒自动变为未连接,重新打开页面后恢复。
升级
dsh plugin --profile web add dsh-roam@0.2.2已配对设备和连接密码保留,不需要重新配对。重启 DSH 后生效。
验证
pnpm test:18 个测试文件、206 个用例全绿。- 真机验收:局域网浏览器、公网浏览器、AI-HUB 局域网、AI-HUB 公网均已通过;本版本补测设备移除。
dsh-roam v0.2.1
dsh-roam 0.2.1
首个公开版本:把电脑上的 DeepSeek Harness 会话漫游到手机。手机浏览器扫码即用;AI-HUB App 共用同一地址和配对码。
亮点
- 浏览器零安装:会话列表、继续对话、新建会话、切换模型、发送和取消。
- AI-HUB App:局域网扫码配对,公网手动填同一域名和配对码。
- 公网入口:Cloudflare 快速隧道、pinggy 兜底、固定域名 + Let's Encrypt 证书自动续期。
- 设置面板重做:桌面 954×501px,390px 宽无横向溢出;浏览器/AI-HUB 标签页、行内密码编辑、折叠诊断。
- 安全加固:管理接口回环 Host 校验、公网强制 HTTPS、AI-HUB 只接受可吊销设备凭据、配对全局失败预算、证书私钥 Windows ACL 收紧、浏览器会话 30 天绝对过期。
安装
dsh plugin --profile web add dsh-roam@0.2.1重启 DSH,打开 设置 → 连接手机。
已知限制
- AI-HUB 配对二维码包含固定连接密码。二维码旁已提示不要截图外发;下一版本将改为一次性 pairing token。
- 修改连接密码只影响浏览器会话,不吊销已配对的 AI-HUB 设备;移除设备才会吊销该设备凭据。
- 设备在线状态取自事件流长连接,退后台或断网会立即显示离线,不代表推送可达。
- 固定域名证书流程按 frpc / SakuraFrp 工作目录约定实现;其他反向代理需要自行部署证书。
数据与隐私
数据保存在 %USERPROFILE%\.dsh\dsh-roam 与兼容的 %USERPROFILE%\.dsh\relay*.json。手机 IP 的归属地查询使用本机离线库,不上传第三方。没有遥测。
许可
MIT。第三方组件见 THIRD_PARTY_NOTICES.md。