我的角色基于开源项目的功能改造、兼容调试与部署整理

当前阶段已公开,持续使用与改进

技术与方法TypeScript / React / WebSocket / Connect RPC / PWA

Porta Mobile 原有手机界面,来自个人项目帖子
Porta Mobile 原有手机界面,来自个人项目帖子

为什么需要一个手机界面

使用 Antigravity 时,有时电脑不在身边,我还想看看 Agent 做到了哪里,或者继续交代下一步。传统远程桌面在手机上操作编辑器,字号和控件都不太方便。我希望能像使用手机上的 AI 对话应用一样,直接继续电脑里的会话。

我找到了开源项目 Porta ↗,在它的基础上借助 AI 做修改和调试,逐步形成了 Porta Mobile。它提供的是远程对话界面:手机查看回复、发送消息、切换模型和处理命令审批,实际任务仍由电脑上的 Antigravity 执行。

怎样连接到电脑里的会话

通信链路由手机网页、本地代理和 Antigravity Language Server(语言服务进程)组成。代理通过 Connect RPC 调用语言服务,网页通过 HTTP 和 WebSocket 获取会话并接收更新,前端使用 React 和 TypeScript。

这条链路传递结构化的会话数据,省去了远程桌面的屏幕传输。电脑需要保持 Antigravity 与代理运行;手机通过局域网连接,在外时也可以用虚拟局域网访问自己的设备。我日常使用的是 ZeroTier。

网页支持 PWA(Progressive Web App,渐进式网页应用),可以按仓库指南添加到手机主屏幕。远程访问的配置和安装步骤保留在仓库中。

我主要改了什么

让回复和操作及时同步

我完善了 WebSocket 实时更新,使 Agent 回复能够持续显示;修复命令审批的 RPC 字段映射,让批准和拒绝操作传回电脑端;在手机新建会话时,也让它同步到 IDE。

图片同样影响日常对话。我处理了 IDE 端上传图片在手机上无法显示的问题,通过代理文件端点加载图片,与手机端的图片上传能力配合使用。

处理中文、字体和手机输入

我修复了中文工作区名称的 URI 编码显示问题,让侧栏能正确显示中文目录;增加字体大小调节,并改用基于 rem 的缩放方式。

移动端还要考虑软键盘、全面屏手势栏和安全区域。我调整了动态视口高度与输入区域,处理键盘弹出后输入框被截断的问题;同时补充模型列表稳定排序和手动刷新入口,让日常操作更容易找到。

跟进版本与多实例

在 Antigravity 2.0 的适配中,我处理了创建会话所需的 source 字段,加入多个 IDE 实例的选择,并在合并上游更新后继续调试已有改造。

我还整理了 Windows 后台启动脚本、中英文 README 和面向 AI 的部署指南,让安装、网络配置与日常启动有明确入口。

从自己的使用过程继续改进

我把使用动机、功能和演示图写成了 LINUX DO 上的项目帖子 ↗。本页界面图来自那篇帖子,展示侧栏、字体控制、会话和输入区域。

Porta 的基础桥接与网页能力来自上游,Porta Mobile 保留 MIT 许可并注明来源。我的工作集中在实际使用中遇到的同步、兼容、图片和移动端问题,以及相应的部署整理。源码和使用指南可在下方仓库查看。

公开仓库 ↗