人在外面,怎么继续家里电脑上的 Cursor / Codex?我做了一个本地 AI Agent Gateway-PocketPilot

7 月 12 日
 stoneTojing

人在外面,怎么继续家里电脑上的 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 会话而开放整台电脑的桌面,也不是我想要的使用方式。

所以开始做 PocketPilot 。

![浏览器中继续本地 Cursor Agent 会话]

浏览器中继续一个运行在本地电脑上的 Cursor Agent Session 。Web 端负责交互,实际 Agent 和项目环境仍然在本机。


它不是远程桌面

PocketPilot 不传输整个桌面,也不尝试在浏览器里复刻完整 IDE 。

它只关注 AI 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

当前版本支持:

后续希望继续适配更多本地 Agent ,例如 Gemini CLI ,以及其他能够在终端中持续运行的 Coding Agent 。

这里的目标不是替代这些工具,而是给它们增加统一的远程访问和 Session 管理入口。


目前 Web 端可以做什么

现在已经实现的功能主要包括:

例如,我可以让家里的电脑运行 Cursor Agent ,离开电脑后再通过手机浏览器打开 PocketPilot ,查看之前的 Session ,并继续回复 Agent 。

整个过程中,实际执行代码和命令的仍然是家里的电脑。

![历史 Session 与恢复入口]

历史 Session 列表:可以查看之前的 Agent 会话,并选择某个 Session 继续交互。


为什么做成 Gateway ,而不是 Web Terminal

单纯做一个 Web Terminal 会更直接,但它也会把更底层、更通用的终端能力暴露给远端。

PocketPilot 更希望围绕 Agent 建立一层边界:

这种抽象目前还比较早期。不同 Agent 对 Session 恢复、上下文延续和进程状态的处理方式也有差异,这部分是接下来准备继续完善的重点。


自行部署和在线体验

项目已经开源:

https://github.com/gong0019/pocket-pilot

同时放了一个在线入口,方便先看 Web 端的整体交互:

https://pp.95ym.cn/

也支持自行部署 Gateway 和 Web 服务。

项目目前还在持续迭代,Agent 适配、认证方式、权限边界和移动端交互都还有继续完善的空间。


想听听大家的意见

这个项目最初来自我自己的使用需求,但不确定大家是否也遇到过类似问题。

比较想听听大家对这些方向的看法:

  1. 使用 AI Coding Agent 时,是否有远程查看或继续 Session 的需求?
  2. 除了 Cursor 、Codex 和 Claude Code ,最希望优先支持哪个本地 Agent ?
  3. 对这种 Gateway 架构,最关心的是认证、数据边界,还是自行部署体验?
  4. 多台开发机同时在线时,怎样的节点和 Session 管理方式更合理?
  5. 更倾向于纯自托管,还是托管 Gateway 、本地 Agent 运行的混合方式?

欢迎体验、提 Issue ,或者直接指出设计里不合理的地方。

GitHub:https://github.com/gong0019/pocket-pilot

在线体验:https://pp.95ym.cn/

2128 次点击
所在节点    分享创造
8 条回复
v2gba
7 月 12 日
Codex 和 Claude CLI 都可以手机远程操控了吧
stoneTojing
7 月 12 日
@v2gba cursor+Antigravity 还不可以吧
v2gba
7 月 12 日
这两个的用户群体太少了...
agy 的话以后做起来了 官方肯定会跟(抄)上的

(
不是想说丧气的话
但是 AI 时代确实太容易造轮子了
一旦官方出了同款
对个人作品来说基本上是降维打击了
多平台对普通用户来说也不是卖点 -- 谁会一直用这么多 AI 工具呢,基本都是主用一到两个的
)
andforce
7 月 12 日
我也做了一个,打磨程度接近 90%了

jerrylau5
7 月 12 日
这个和现有的 Paseo 有什么区别, 感觉 Paseo 已经比较完善
stoneTojing
7 月 12 日
@andforce 真不错啊
eyeix
7 月 12 日
@andforce #4
看起来不错,不同的 agent 会话还能互相聊?怎么弄的?
stoneTojing
7 月 13 日
@eyeix 盲猜是 数据表建个聊天室 加入 ai 时 给他选定职责(加一些 prompt )
用户发出消息 可能有默认的 ai 接话 进行 @固定职责的 ai
说的话 要存在文档 或者 数据表 或者 history.jsonl
只有被调用的 ai 才会说话 并分析历史会话内容
他做的真是细节啊

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/1226717

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX