人在外面,怎么继续家里电脑上的 Cursor / Codex ?我做了一个本地 AI Agent Gateway
最近做了一个开源项目,叫 PocketPilot。
它的定位是一个 本地 AI Agent Gateway:让运行在自己电脑上的 Cursor Agent CLI 、Codex CLI 、Claude CLI 等工具,可以通过手机或浏览器访问。
先说明一下:它不是远程桌面,也不是把开发环境搬到云端。
PocketPilot 主要做的是,在本地 AI Agent 和 Web 之间增加一层连接、会话恢复与多 Agent 管理能力。
为什么会做这个项目
最近使用 AI Coding Agent 的频率越来越高。
Cursor 、Codex 、Claude Code 这类工具已经不只是补全几行代码了。很多时候,我会让 Agent 在本地项目里持续执行任务,例如:
- 阅读项目代码;
- 修改多个文件;
- 运行测试;
- 排查报错;
- 继续之前没有完成的任务。
但这些 Agent 通常依赖本地电脑上的代码、终端、依赖环境和登录状态。
于是就有了一个很具体的问题:
Agent 在家里或办公室的电脑上运行,但人一离开电脑,就很难查看进度、回复问题,或者继续之前的 Session 。
我遇到过几种情况:
- 出门之后,想看 Agent 是否已经执行完成;
- Agent 中途提出问题,但没法及时回复;
- 想在手机上恢复之前的 Session ;
- 想让 Agent 接着处理一个任务;
- 只想操作 Agent ,并不想远程控制整台电脑。
远程桌面当然可以解决一部分问题,但对这个场景来说有些重。
手机上操作完整桌面并不方便,而且为了查看一个 Agent 会话而开放整台电脑的桌面,也不是我想要的使用方式。
所以开始做 PocketPilot 。
![浏览器中继续本地 Cursor Agent 会话]
浏览器中继续一个运行在本地电脑上的 Cursor Agent Session 。Web 端负责交互,实际 Agent 和项目环境仍然在本机。
它不是远程桌面
PocketPilot 不传输整个桌面,也不尝试在浏览器里复刻完整 IDE 。
它只关注 AI Agent 这一层:
- 哪些电脑节点在线;
- 本机有哪些可用 Agent ;
- 当前有哪些历史 Session ;
- 能否恢复某个 Session ;
- 能否继续与本地 Agent 交互。
AI Agent 本身仍然运行在用户自己的电脑上。
代码、项目文件、依赖环境和命令行工具也仍然保留在本地,不需要为了远程访问而把整个开发环境上传到第三方在线 IDE 。
我希望它最终更像一层面向本地 AI Agent 的基础设施,而不是另一个远程控制工具。
整体架构
目前的结构可以简化为:
手机 / 浏览器
↓
PocketPilot Web
↓
云端 Gateway
↓
本地 Gateway
↓
本地 AI Agent CLI
本地 Gateway 运行在用户自己的电脑上,并主动连接 Gateway 服务。
这样设计主要有几个考虑。
1. 不需要开放本地端口
用户不需要给家里的电脑配置公网 IP ,也不需要把某个本地服务端口直接暴露到互联网。
连接由本地 Gateway 主动发起。
2. Agent 和开发环境仍在本地
PocketPilot 不负责托管代码环境。
Cursor 、Codex 或 Claude CLI 仍然使用本机的代码、Git 配置、依赖、终端环境和工具链。
3. Web 侧只处理 Agent 相关操作
浏览器中主要呈现节点、Agent 、Session 和对话交互,而不是整台电脑的桌面。
这样在手机上使用时会比远程桌面更直接。
4. 为不同 Agent 提供统一入口
不同 AI Coding Agent 的命令行行为、会话管理方式并不完全相同。
PocketPilot 会在本地 Gateway 这一层做适配,对 Web 提供相对统一的节点和 Session 操作方式。
![Node Control Center]
Node Control Center:查看本地 Gateway 是否在线,以及该节点上可以使用的 Agent 。目前同一节点可以发现和管理多个 Agent CLI 。
目前支持的 Agent
当前版本支持:
- Cursor Agent CLI
- Codex CLI
- Claude CLI
- Antigravity CLI
后续希望继续适配更多本地 Agent ,例如 Gemini CLI ,以及其他能够在终端中持续运行的 Coding Agent 。
这里的目标不是替代这些工具,而是给它们增加统一的远程访问和 Session 管理入口。
目前 Web 端可以做什么
现在已经实现的功能主要包括:
- 查看本地节点是否在线;
- 查看节点操作系统和 Gateway 状态;
- 查看节点上可用的 AI Agent ;
- 查看历史 Session ;
- 选择并恢复之前的 Session ;
- 在浏览器中继续与本地 AI Agent 交互;
- 管理多个本地节点和多个 Agent 。
例如,我可以让家里的电脑运行 Cursor Agent ,离开电脑后再通过手机浏览器打开 PocketPilot ,查看之前的 Session ,并继续回复 Agent 。
整个过程中,实际执行代码和命令的仍然是家里的电脑。
![历史 Session 与恢复入口]
历史 Session 列表:可以查看之前的 Agent 会话,并选择某个 Session 继续交互。
为什么做成 Gateway ,而不是 Web Terminal
单纯做一个 Web Terminal 会更直接,但它也会把更底层、更通用的终端能力暴露给远端。
PocketPilot 更希望围绕 Agent 建立一层边界:
- Web 端看到的是 Agent 和 Session ;
- 本地端负责与具体 CLI 交互;
- Gateway 负责节点连接和消息转发;
- 不把完整桌面或通用 Shell 作为主要操作入口。
这种抽象目前还比较早期。不同 Agent 对 Session 恢复、上下文延续和进程状态的处理方式也有差异,这部分是接下来准备继续完善的重点。
自行部署和在线体验
项目已经开源:
https://github.com/gong0019/pocket-pilot
同时放了一个在线入口,方便先看 Web 端的整体交互:
也支持自行部署 Gateway 和 Web 服务。
项目目前还在持续迭代,Agent 适配、认证方式、权限边界和移动端交互都还有继续完善的空间。
想听听大家的意见
这个项目最初来自我自己的使用需求,但不确定大家是否也遇到过类似问题。
比较想听听大家对这些方向的看法:
- 使用 AI Coding Agent 时,是否有远程查看或继续 Session 的需求?
- 除了 Cursor 、Codex 和 Claude Code ,最希望优先支持哪个本地 Agent ?
- 对这种 Gateway 架构,最关心的是认证、数据边界,还是自行部署体验?
- 多台开发机同时在线时,怎样的节点和 Session 管理方式更合理?
- 更倾向于纯自托管,还是托管 Gateway 、本地 Agent 运行的混合方式?
欢迎体验、提 Issue ,或者直接指出设计里不合理的地方。
GitHub:https://github.com/gong0019/pocket-pilot
在线体验:https://pp.95ym.cn/



