AgentDeck:离开电脑也能开会话、审批权限,并在手机上看 agent 产出

作者做了开源项目 AgentDeck:电脑上跑 Rust 守护进程 agentdeckd,Android 手机扫码配对后,可以远程开会话、批权限、收完成通知,并把图表、HTML、模拟器画面直接渲染到手机上,而不是把终端日志搬过去。

基本信息

  • 来源类型:文章(掘金)
  • 原文位置:raw/articles/2026-10-08-074825-tg-10c6c7.md
  • 原文 URL:https://juejin.cn/post/7693383473920065587
  • 作者仓库:文中写作 github.com/mantou132/A…(AgentDeck)与 github.com/mantou132/r…(自托管 Relay);抓取正文里链接被截断,此处不补全未出现的路径
  • 消化日期:2026-10-08

核心观点

  1. 痛点是权限确认把长任务卡住:作者经常让 coding agent 跑长任务后离开,回来发现它五分钟前就停在权限确认上,期间什么也没干。市面上的「手机遥控 agent」多半只是把终端搬到手机,一屏文字和日志在小屏上很难看。
  2. AgentDeck 只想解决两件事:离开电脑也能开会话、审批权限、收到完成通知;agent 的产出在手机上要好看、能直接看,而不只是一段文字。
  3. 手机能力会变成 agent 的 skill:App 连接时告诉 daemon 自己能渲染什么(图表、地图、HTML 预览、实时画面等),daemon 把对应能力以 skill 交给 agent。于是 agent 不再输出一大段表格,而是直接给一张能交互的图表;agent 写的 HTML 也可以在手机上一键预览。
  4. 能看 agent 正在操作的模拟器:做移动端或前端时,作者最想知道「现在长什么样」。AgentDeck 可以实时查看 agent 正在驱动的 iOS 模拟器、Android 模拟器或浏览器标签页,不用回到电脑前。
  5. 不绑定某一家 agent:daemon 基于 Agent Client Protocol(ACP),可以启动 Claude Code、Codex、Cursor、GitHub Copilot、OpenCode、Qwen Code、Kimi CLI 等 ACP 注册表里的 agent,并在手机上切换 agent 和模型。daemon 常驻后台、开机自启,不需要开着终端,也不需要再用另一个命令包一层 claude。
  6. 连接不靠开端口或 VPN:手机和电脑都主动连到一个 WebSocket Relay。二维码里的配对 ID 是 32 字节密钥,两端用 HKDF-SHA256 派生出路由 ID 和双向密钥,消息用 XChaCha20-Poly1305 加密;Relay 只能看到派生的路由 ID 和密文。默认 Relay 由作者托管,也可以自己部署。
  7. 当前限制要当密码用:目前只有 Android,iOS 正在做。加密是预共享密钥,没有前向保密;拿到配对 ID 的人就能用你的 agent,泄露后用 agentdeckd reset 轮换。各家 agent 的 ACP 适配器实现程度不同,部分功能会有差异。

实操内容保留

代码/配置

电脑上安装并启动后台守护进程(文中给出两条安装路径,启动后会打印二维码):

npm install -g agentdeckd # 或 brew install mantou132/tap/agentdeckd
agentdeckd start # 会打印一个二维码

泄露配对 ID 后轮换:

agentdeckd reset

Prompt 模板

(本文无 Prompt 模板)

操作步骤

  1. 在跑 agent 的电脑上安装 agentdeckd:npm install -g agentdeckd,或 brew install mantou132/tap/agentdeckd。
  2. 运行 agentdeckd start。daemon 用 Rust 写成,会打印一个二维码;它常驻后台、开机自启,不需要一直开着终端。
  3. 手机安装 App:Google Play 搜索 AgentDeck(目前只有 Android)。
  4. 用 App 扫码配对。二维码里的配对 ID 是 32 字节密钥,请当成密码保管。
  5. 不配账号也能先试:内置了一个 Free agent(OpenCode 的免费模型),不需要任何账号或 API Key。
  6. 配对后可以:在手机上开会话、审批权限请求、回答 agent 的问题;任务完成会推送通知;浏览文件、Git 改动、diff 和提交历史;按住说话做语音对话(agent 每次回复结尾会朗读一段简短总结);让电脑在 agent 工作时不自动睡眠。
  7. 可选:装 Chrome / Firefox 侧边栏扩展,建会话时自动带上当前标签页。
  8. 若不想用作者托管的 Relay,按文中仓库 github.com/mantou132/r… 自己部署 WebSocket Relay。手机和电脑都是主动连出去,不用开端口、不用 VPN。

关键概念

  • Claude Code — ACP 注册表中可被 agentdeckd 启动、并在手机上切换的 agent 之一
  • Codex — 同上,文中点名可启动
  • Cursor — 同上
  • OpenCode — 同上;另外内置 Free agent 用的就是 OpenCode 的免费模型,不需要账号或 API Key
  • Claude Code Remote Control — 同属「离开键盘继续用 coding agent」这一类产品,本文的差异是不绑定单一 agent,并把图表、HTML、模拟器画面渲到手机
  • Codex Remote Control — 同上,是另一家 agent 的遥控入口;本文用 ACP 把多家 agent 收进同一个手机 App
  • AgentDeck / agentdeckd — 本文主角:手机 App + Rust 守护进程,仓库链接在抓取正文中被截成 github.com/mantou132/A…,知识库里还没有对应实体页
  • Agent Client Protocol(ACP) — daemon 用来启动和切换各家 agent 的协议;各家适配器完成度不同
  • WebSocket Relay — 手机和电脑都主动连接的中继;配对材料是 32 字节密钥,HKDF-SHA256 派生路由 ID 与双向密钥,载荷用 XChaCha20-Poly1305

与其他素材的关联

  • 和 Claude Code、Codex、Cursor、OpenCode 的关系是「遥控壳」,不是替代这些 agent:agentdeckd 通过 ACP 把它们拉起来,人在手机上批权限、看产出。
  • 和 Claude Code Remote Control、Codex Remote Control 解决的是同一类「人离开电脑、agent 停在确认框」的问题。本文多出来的两点是:不绑死某一家 CLI,以及把图表、HTML 预览、iOS/Android 模拟器或浏览器标签的实时画面当成手机可渲染能力交给 agent。
  • (本页不新造和其他摘要页的对比结论;上面只链到已经存在的实体页。)

原文精彩摘录

我经常让 coding agent 跑一个比较长的任务,然后去干别的。回来一看,它五分钟前就卡在一个权限确认上,什么也没干。

市面上已经有不少「手机遥控 agent」的工具了,但用下来总觉得是把终端搬到手机上:一屏的文字和日志,在手机上很难看。于是我做了 AgentDeck ,想解决两件事:离开电脑也能开会话、审批权限、收到完成通知;agent 的产出在手机上要好看、能直接看 ,而不只是一段文字。

App 连接时会告诉 daemon 自己能渲染什么(图表、地图、HTML 预览、实时画面……),daemon 把对应的能力以 skill 的形式交给 agent。于是 agent 不再输出一大段表格,而是直接给你一张能交互的图表。

手机和电脑都主动连到一个 WebSocket Relay,所以不用开端口、不用 VPN。二维码里的配对 ID 是一个 32 字节的密钥,两端用 HKDF-SHA256 派生出路由 ID 和双向密钥,所有消息用 XChaCha20-Poly1305 加密,Relay 只能看到派生的路由 ID 和密文。

加密是预共享密钥,没有前向保密。拿到配对 ID 的人就能用你的 agent,请当成密码保管,泄露了用 agentdeckd reset 轮换。

相关页面