pages.chenos.dev / workstation / T3 Code
手把手:在 agent 虚拟机上用 T3 Code
服务端装在每台 agent 虚拟机里,负责调用 Claude Code 等 agent;客户端是电脑上的桌面 App,手机用网页或 App。在家里、在外面、用手机都能操作 agent。
实测补充:后台服务默认端口
3773、只监听 127.0.0.1、PATH 不含 ~/.local/bin,以及浏览器访问、手机 T3 Connect 的完整做法,见 agent-template.sh 手把手 · 第七步。整体结构
T3 Code 分两端,各装一部分:
| 部分 | 装在哪里 | 作用 |
|---|---|---|
| 服务端 | 每台 agent 虚拟机里 | 在虚拟机里调用 Claude Code、Codex 等 agent 干活 |
| 客户端 | 你的电脑(桌面 App),手机用浏览器或 App | 图形界面,用来发指令、看进度、看代码改动 |
笔记本 T3 Code 桌面 App ──SSH / 配对──▶ agent-01:T3 服务端 → Claude Code 手机(浏览器 / T3 Connect) ──────────▶ agent-02:T3 服务端 → Claude Code
T3 Code 本身不带模型,它调用的是虚拟机里已经装好、已经登录的 agent 命令行工具(Claude Code、Codex、Cursor、OpenCode 等)。
第一部分:在虚拟机里准备
建议在模板里做 1.1 和 1.2,克隆出来的每台虚拟机再单独做 1.3。模板怎么做见 开发环境与模板。
1.1确认 Node 和 agent 工具都已就绪
node -v # 需要 22.16 以上,或 24.10 以上。手把手教程里装的是 Node 24 claude --version # 能显示版本号就说明装好了
还没装的话,参考 搭建教程,或者执行:
curl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash - sudo apt install -y nodejs curl -fsSL https://claude.ai/install.sh | bash
1.2安装 T3 Code 命令行工具
sudo apt install -y libatomic1 # Ubuntu Server 默认没有,缺它会报 libatomic.so.1 错误
curl -fsSL https://t3.codes/install.sh | sh
t3 --version
虚拟机已经配好了全局代理,这一步会自动走代理下载。
如果是在模板里装:只安装,不要登录,也不要配对。否则每台克隆机都会带上同一份登录信息。
1.3克隆出来后:登录 agent
每台虚拟机单独执行:
claude auth login
第二部分:在电脑上装桌面 App
| 系统 | 安装方式 |
|---|---|
| macOS | brew install --cask t3-code |
| Windows | winget install T3Tools.T3Code |
| 其他 | 到 GitHub Releases 下载安装包 |
第三部分:用 SSH 方式连接虚拟机(推荐)
如果你已经能 ssh agent-01 免密码登录(见 Tailscale 教程第四部分),桌面 App 可以直接通过 SSH 管理虚拟机里的服务端:会自动启动服务端,也会自动处理更新。
3.1先检查 PATH
在你的电脑上执行,确认远程执行时能找到 agent 命令:
ssh dev@192.168.50.111 'sh -lc "command -v claude codex"'
# 至少要打印出 claude 的路径。打印不出来,说明 PATH 有问题,桌面 App 也会找不到它
3.2在桌面 App 里添加环境
- 打开桌面 App → Settings → Connections → Add environment → SSH
- 填写主机地址(比如
192.168.50.111)和用户名(dev) - 保存并连接
每台 agent 虚拟机都添加成一个环境,在 App 里就能切换着用。
在外面时,只要电脑开着 Tailscale,这样连接也照样能用:Tailscale 已经把整个家庭网段都打通了。
第四部分:手机怎么用(可选)
有两种做法,任选一种。
AT3 Connect(最省事)
在虚拟机里执行:
t3 connect # 按提示登录 T3 Connect 账号 t3 connect status # 查看连接状态
手机上打开 app.t3.codes,或者用 T3 的手机 App,登录同一个 T3 Connect 账号,然后选择这台虚拟机就行。不需要配置任何网络。
B通过 Tailscale 配对
在虚拟机里执行:
t3 serve --host 192.168.50.111
终端里会显示一个配对链接和二维码。手机先打开 Tailscale,再扫码或者打开这个链接,就能连上。之后需要新的配对链接时,执行 t3 pair。
app.t3.codes 这个网页版要求服务端是 HTTPS 地址。做法 B 用的是内网 IP,只有 HTTP,所以要直接打开配对链接,或者用 App 连接,不能通过 app.t3.codes 连。第五部分:让服务端在后台常驻
用做法 A 或 B 让手机连接时,服务端需要一直运行,虚拟机重启后也要能自动恢复:
t3 service install # 安装成当前用户的 systemd 服务 t3 service status sudo loginctl enable-linger dev # 让这个服务在你没登录 SSH 时也保持运行
只用第三部分的 SSH 方式时,桌面 App 会自己启动服务端,这一步可以不做。
安全提醒
- 配对链接和授权码要当成密码对待,不要发给别人
- 不用的设备要及时撤销授权:在桌面 App 的 Settings → Connections 里撤销,或者在虚拟机里执行
t3 auth查看和管理 - 服务端只绑定到内网 IP,不要把它暴露到公网