Termexo 是一个 MIT 开源、仅在本地运行的 Windows 多 Agent 编程工作台,通过真实 PTY 统一管理 Claude Code、Codex CLI、OpenCode 以及多个并行终端。项目近日发布 V0.8.1 版本。
本次更新的主线是远程访问。在桌面端设置中打开该开关后,同一局域网或 VPN 内的手机、平板或另一台电脑即可用浏览器打开完整工作台:同一批工作空间、同一批终端,实时读写桌面上正在运行的同一批 PTY 进程,而不是只读镜像,也不是另开一套会话。链路默认使用自签名 HTTPS,凭访问令牌进入;设置面板可以显示令牌、生成二维码、随时更换,并带有「已连接设备」计数。
-
实现上,远程端没有另写一套后端:从 socket 收到的请求被转换为 InvokeRequest 交给主 webview,走与桌面端完全相同的命令表与反序列化路径,因此远程与本地不会出现行为分叉。代价是授权模型需要自行承担——Tauri 的 ACL 在本地来源下不覆盖应用命令,而该桥接必然声称本地来源,所以显式白名单是唯一的授权边界:npm 自更新、原生文件读写,以及修改远程访问设置本身,都被拒绝。
-
移动端适配方面,640px 以下分屏布局收成单终端,两侧面板浮在工作区之上而不占走一列,控件放大到手指可点的尺寸。终端滚动单独处理:xterm 6 把缓冲区画在 canvas 上并自绘滚动条,手指拖拽本来触达不到可滚动元素,现在拖拽会合成滚轮事件交给 xterm 分发,全屏 TUI 的滚动行为与桌面滚轮一致。由于一个 PTY 只有一个尺寸,终端尺寸归属「正在操作的那一端」,其余客户端渲染同一网格,窗口装不下时横向平移。
另一条更新线是会话级 Git 视图:跟随当前终端,以该终端启动时的 HEAD 为基线,显示本次会话变更了哪些文件、提交了什么,任意文件可看单栏或双栏 Diff 并标注 +N / −N 行数。停留期间持续读取仓库,切换终端或读取失败不会退回终端视图。Agent 的原生会话文件始终只读。
随后的 V0.8.1 把首次启动改为新手引导,新安装不再写入示例工作空间;并把「新建终端」从窗口工具栏移回标签栏,新建后直接切换到该终端。
项目采用 MIT 许可证。Windows 用户可通过 npx termexo@latest 体验,也可从 GitHub Release 下载安装包,通过 npm 运行需要 Node.js 18.18 或更高版本。