43 lines
4.6 KiB
Markdown
43 lines
4.6 KiB
Markdown
# 接续包 · 手机操作 DSH 会话(Agents Anywhere 复用线)
|
||||
|
|
|
|||
|
|
来源会话 | `session-0ed72449…`
|
|||
|
|
结束原因 | 水位三级 ⇒ 按纪律落包交接;任务本身**只剩用户侧两步**
|
|||
|
|
原目标(用户原话,不翻译)|「把"手机操作 DSH 会话"做成**可安装的底层插件能力**:任何人装上这个插件,就能在手机上看到自己电脑的 DSH 会话并回复。做法以复用开源项目 Agents Anywhere(MIT,server/ + web-next/ + connector/ + dsh-bridge-next)为先,⛔ 不重复造轮子」
|
|||
|
|
基线 | 47.77.182.89(= `ai1net.com`)compose 项目 `agents-anywhere`;本机 HEAD `77b9f73`;占用者 = 无
|
|||
|
|
产物(绝对路径,接手方逐一确认存在)
|
|||
|
|
1. `E:\ProgramDSH\.dsh\temp\aa-service\deploy\`(交付源:说明 / 安装 / 检查 / 备份 / 状态 / 二维码)
|
|||
|
|
2. `https://desk.ai1net.com/`(说明、整包 `?v=20260928v`、安装脚本、检查脚本、二维码)
|
|||
|
|
3. 插件包 `agents-anywhere-dsh-bridge-next-…-ai1net.tgz`(762,042 B,sha256 `f04204a1…`)
|
|||
|
|
4. 本机 profile `…\.dsh\profiles\desktop\package.json`(bundles + dependencies 双登记)
|
|||
|
|
校验命令 → 期望输出
|
|||
|
|
`ssh bt-server "curl -fsSL https://desk.ai1net.com/status-phone-access.sh | sh"` → `accounts=0 connectors=0 sessions=0 pairing=0 online=0`
|
|||
|
|
`curl -s -o NUL -w "%{http_code}" https://desk.ai1net.com/phone-access-bundle.zip?v=20260928v` → `200`
|
|||
|
|
未完成
|
|||
|
|
1. **用户侧**:手机打开 `https://desk.ai1net.com` → 首次安装页点「使用 DSH 账号 登录」→ 门户口令登录(账号自动创建)
|
|||
|
|
2. **用户侧**:**重启桌面客户端** → 插件面板点「连接」→ 手机扫面板的码 → 手机首屏点「Add device / 添加设备」
|
|||
|
|
3. 未验证的一半:DSH 会话内容能否穿到手机(需插件加载后才可测)
|
|||
|
|
下一步(第 1 条 = 可直接执行)
|
|||
|
|
1. `python E:\ProgramDSH\.dsh\scripts\dsh-state.py --ws E:\ProgramData\AIProject\ai1net-dsh-server`
|
|||
|
|
2. 读 `.dsh\temp\joint\手机看桌面会话与回复_接续包_20260927.md`(sha256 `93f9cb9b…`,含机制结论)
|
|||
|
|
3. 用户做完两步后:跑 `check-phone-access.ps1`(A–E 段),再测会话内容穿手机
|
|||
|
|
关键决定(已定项 + 为什么)
|
|||
|
|
· 复用 AA 实例自托管 + 插件 bundle/dependencies 双登记 + 普通 `uv sync`(详见附录)
|
|||
|
|
回滚点
|
|||
|
|
· profile:删 `dependencies` 里 `@agents-anywhere/dsh-bridge-next` 一行
|
|||
|
|
· 实例:`docker restart agents-anywhere-server-next-1`;安装脚本带 `-Uninstall`
|
|||
|
|
⛔ 不要重做
|
|||
|
|
· 不重装/重打包插件(762,042 B 已验;重打包会踩 `prepack` 与 `lib/bundled-connector`)
|
|||
|
|
· 不给 `uv sync` 加 `--frozen`;不用 `& uv … 2>&1` 取退出码(必假绿,用 `Start-Process`)
|
|||
|
|
· 不改发布顺序(备份 → 语法检查 → 干净环境实跑 → 才发布)
|
|||
|
|
· 不碰旧 home `C:\Users\Administrator\.dsh`;不动平台 nginx;不改官方 dsh 主程序
|
|||
|
|
· 不把「关掉再打开插件」写回文档(面板无此开关,只能重启客户端)
|
|||
|
|
|
|||
|
|
## 附录(跨宿主接手方需要的内联状态)
|
|||
|
|
- 台账:`E:\ProgramDSH\.dsh\temp\joint\手机看桌面会话与回复_路线_20260927.md`(逐轮留痕,含每轮读数与报错原文)
|
|||
|
|
- 关键决定全文:① 复用 AA 自托管(⛔ 不造轮子 ② ⛔ 不建第二套中继)③ 插件以 bundle + `dependencies`(`link:`)双登记 ⇒ 面板可见可开关 ④ 安装脚本用普通 `uv sync`(自带连接器**无 lockfile**,加 `--frozen` 必失败)⑤ `UV_CACHE_DIR` 指向 `stateRoot\uv-cache`(绕开本机 `os error 5`)⑥ 采 uv 退出码必须 `Start-Process -Wait -PassThru`
|
|||
|
|
- 目标四段现状:① 实例已托管 ✅ ② 插件已打包并安装 ✅(待重启生效)③ 交付面齐 ✅ ④ 端到端**未完成**(卡用户两动作)
|
|||
|
|
- 已验证证据:SSO 往返;真实连接器上线(`wss://desk.ai1net.com/api/v2/connector/ws` + `connector.heartbeat`,服务端 `online=1`);配对/领取;安装脚本装/卸/幂等;校验和被篡改拒绝;多用户 201/200/403;备份 29 表 ~41 KB;整包双校验和;全部链接 200
|
|||
|
|
- 安装脚本干净环境实测(临时 USERPROFILE):自带 uv `rc=0`、`Installed 54 packages`、`connector venv ready : True`
|
|||
|
|
- 客户端本地面:`9333` = CDP(node 直连 `http://127.0.0.1:9333/json` 可取证/操作界面);`9329/9330` 非 HTTP;`19387` 需令牌
|
|||
|
|
- 插件加载机制:管理器只列 `dependencies`;纯 bundle 只在实例启动时装配 ⇒ 生效途径 = **重启客户端**
|
|||
|
|
- 约束:⛔ 不改官方 dsh;⛔ 不建第二中继;⛔ 不影响既有配对/登录;本线未 commit / 未 push;凭据不落文件
|