起因很具体:有次 Codex 跑一个二十分钟的重构,我出门了,回来发现它第三分钟就停在 y/n 上等我。从那天起做的第一个功能就是把"agent 在等确认"这个状态在项目列表里亮出来。
现在它长这样:

8 个 AI CLI ( Codex 、Claude Code 、OpenCode 、Kiro CLI 、Kimi Code 、CodeWhale 、MiMo Code 、Agy )收进一个按项目排的视图,状态分到"生成中 / 等确认 / 闲着 / 跑完"。换模型、调推理档位、开完全权限都在界面上点。实现是进程探测加会话文件解析,不写项目文件、不改 CLI 配置、不装 hook ,卸载即复原——这条是红线,不然我自己都不敢用。
任务按 git worktree 组织,每个 worktree 有自己的终端、git 状态和 AI 会话,几个 agent 各改各的互不干扰。git 面板能整目录 stage / 丢弃,agent 改了什么当场核。
我最较真的部分。agent 只能用 codux-ssh 和 codux-db 两个命令,list 只给名字和主机,真实密码在辅助进程里注入,模型全程没见过——不进上下文、不进会话记录、不进 shell 历史。数据库标只读的话 wrapper 只放行单条查询,DROP 在语法层就被拒。
桌面 / 手机 App ( iOS/Android )/ 无界面主机端互相配对,端到端加密 P2P ,打不通走中继(中继只见密文),不要公网 IP 。手机接的是同一个活着的会话,不是远程桌面:确认权限、看输出、派新活都行。闲置的 Mac mini 或服务器一行脚本装上主机端,注册成 launchd/systemd 服务,就是台干活机。还有个隧道浏览器,能以主机身份打开它的 127.0.0.1:5173 ,远程调 Vite 不用配端口转发。
本地记忆(偏好、项目画像、笔记)自动注入回 CLI ,全走官方通道( developer instructions / --append-system-prompt / 托管 plugin ); token 按工具/模型/项目/worktree/日期统计,本地 SQLite 。
也磨了不少:粘贴截图自动落盘成路径直接发给 AI 、⌘F 搜滚动历史、IME 候选框跟光标、终端标题显示在跑的 AI 和模型、agent 可以拎成悬浮窗。
纯属好玩的:token 消耗喂一只像素宠物,属性长自作息,熬夜党夜行值拉满。
不足也说清楚:GPUI 的 Linux 桌面还不行,Linux 目前只有无界面主机端。没有云端没有账号,数据全在本机。

