慢慢

界面与交互 · 2026

sshphoneAI,用 Android 手机进入 Mac 上的 AI 终端

一个可构建的 Android SSH 终端原型,手机连接 Mac 的真实 shell,在同一个 PTY 会话里启动 Codex、Claude 或 Hermes;配套 Agent 只处理发现、配对和路由元数据。

sshphoneAI,用 Android 手机进入 Mac 上的 AI 终端

sshphoneAI 的 Android 端不是聊天窗口。它要让手机进入 Mac 上原来的 shell,当前目录、命令行工具、全屏 TUI 和本机文件都留在 Mac 那边。普通 shell 先能用,AI 快捷入口只是把启动命令送进同一条会话。

Android 端用 Kotlin、Jetpack Compose 和 Material 3 做界面,复用 Termux terminal emulator 与 terminal view 模块显示真实终端,再由 JSch 建立 SSH 会话。连接资料可以保存,局域网里的 Mac Agent 可以被发现,也能手工添加主机。

私钥这块我没有偷懒。本地生成或导入的 SSH 私钥先由 Android Keystore 管理的 AES GCM 密钥加密,再保存到应用私有数据中。连接层支持局域网直连和可选 Bastion 反向路由,两条路径最后都进入 Mac 的 SSH shell。

终端必须保留 PTY、控制序列、窗口尺寸变化、持续输入和会话关闭。只显示几行输出不算可用,否则 Codex 这类全屏工具会只剩一层终端外壳。Echo Test 可以在不连远端时检查手机输入与渲染。

归档阶段重新执行了 Android 8 项单元测试、完整 Debug 构建、Mac Agent 4 项测试和 TypeScript 构建,结果全部通过。本轮没有连接真实手机和 Mac 做端到端会话,也没有把它写成正式 App。SSH 主机身份校验、真机键盘手感、网络切换和真实 Bastion 链路还要继续补。