T3 Code 非官方中文翻译不是官方产品,也不是 T3 Tools 官方文档。源提交 d2c25950b4d9英文原文GitHub 源文件
Skip to content

教程一:从一台客户端操作两台开发主机 ​

没有真机复现。 命令按官方提交 6d35d09060a901d15e31ab7ccdeedfe6696c23c5 核对。本站 远程访问译文 和 后台服务译文 仍是旧提交 d2c25950b4d9183ea342d5d5fc14c326b9e0172a。旧译文写 Windows 没有后台服务;新提交改为 Windows 也支持。先看下面的版本说明,再选命令。

完成后,你能在同一客户端里选择主机 A 或主机 B,打开该机上的项目,并开始一个不修改代码的检查线程。你还能分清“连不上主机”和“主机上的 provider 不能运行”。

适合已有一台常用笔记本,再加一台 Mac mini、工作站或服务器的人。只有一台电脑时,先做本机线程,不必为了多机去搭服务器。

相关场景见 真实场景。Nimrod 的视频只是 观看入口,不是已核验的逐步教学。Y1

版本差异:Windows 与没有终端时的 t3 up ​

在 旧快照 d2c25950,官方远程访问文档写:后台服务不在 Windows 上提供,t3 up 会打印要在终端里保持运行的 t3 serve。本站那篇中文译文仍然是这个说法。

在 本章基准 6d35d090,后台服务文档写 Linux、macOS 和 Windows 都可以作为用户服务运行;远程访问文档不再写那条例外,并写 t3 up 随后把 T3 Code 作为后台服务运行。Windows 上该服务在登录时启动、注销时停止,任务计划程序里的任务名形如 t3code-<domain>-<user name>。锁屏而不是注销,并保持机器清醒,远程才持续可用。D8

如果你的安装更接近旧译文,不要假定 Windows 上 t3 up 会装好服务。先看 Settings → About 和 t3 up --help。

另外,官方把“有终端”和“没有终端”分开写了:D1

  • 有终端时,t3 up 会问其他设备如何到达这台机器:T3 Connect、局域网,或两者。选 T3 Connect,再按登录说明做。
  • 没有终端、又没有点名选项、而且什么都还没配置时,t3 up 会停下来并列出标志。这时要用 t3 up --connect,而不是等待一个不会出现的提问。t3 connect 与 t3 up --connect 相同。
  • CLI 打印浏览器链接和短码,是 SSH 以及非交互登录里写明的确认方式。不要把它说成每一次桌面 Settings 点击都会出现短码。核对短码之后再批准。

前提与安全默认 ​

  • 你拥有或已获准使用两台开发主机及其仓库。
  • 每台目标主机按官方安装说明安装兼容版本,并能运行至少一个 provider。安装和认证发生在目标主机,不在控制端手机。Windows 与 WSL 的路径、环境和认证要分开检查。D2
  • 先用非生产练习仓库。不要把生产数据库、全局管理员凭据或无关个人目录交给练习 agent。
  • 在线程编辑器里明确选 Supervised。这一提交的官方文档仍把初始默认写成 Full access,不能假设默认会逐项询问。D5
  • 只选一种主要接入方式。不要同时照做所有启动命令,造出第二份服务器。

本课不复制第三方文章里的安装脚本。

拓扑 ​

text
你的笔记本、手机或浏览器
    连接主机 A 的 T3 Code → A 上的仓库、provider 和线程
    连接主机 B 的 T3 Code → B 上的仓库、provider 和线程

客户端是入口,不是代码同步服务。主机 A 的登录不会自动出现在主机 B。同名项目也不能当成相同路径。已有线程留在开始时的主机;选择另一台机器,不是把正在运行的线程迁走。D1

步骤 1:先让每台机器独立工作 ​

  1. 在主机 A 打开 Settings → Providers,选择主机 A,检查 provider 已启用且认证有效。
  2. 在 A 打开练习项目。查看当前环境、仓库路径和线程权限。
  3. 提交下面这段整理建议。它不是博主原话。
text
只检查当前项目,不修改文件,不运行部署,不提交或推送。
告诉我当前项目在哪台环境、使用哪个工作目录、当前分支是什么。
从仓库现有说明中找出测试或检查入口,列出你找到的依据。
如果读取某项信息需要批准,先申请,不要扩大权限。
  1. 在主机 B 重复同样检查。若 B 的 provider 不可用,先在 B 修复。不要靠提高客户端权限来绕过。

预期是两台主机各有一个可用线程,各自报告自己的环境和路径,没有文件改动。

步骤 2A:T3 Connect ​

这是官方提供的托管接入,不需要自己做路由器端口转发。它要信任 T3 Connect 的身份与引导服务,不是无中介的端到端加密承诺。D1

在每台主机分别完成:

  1. 桌面端打开 Settings → Sharing & access,登录并启用该环境的 T3 Connect。
  2. 主机不用保持桌面运行时,在终端执行:
bash
t3 up

有终端时选择 T3 Connect,不要同时打开不需要的局域网暴露。没有终端时改用:

bash
t3 up --connect
  1. 若 CLI 打印了网页登录链接和短码,先核对短码一致再批准。不要把链接或短码放进聊天、截图或 Git。
  2. 在主机看状态:
bash
t3 status

在新提交里,t3 up 设置 Connect 时会安装后台服务。只保存登录,不等于已经有可连接的服务器。若靠桌面端的本地服务器,关掉最后一个窗口会停掉它。主机睡眠、关机或离线也会让远程连接不可用。D1

控制端登录同一个 T3 Connect 账号,先选 A,再选 B。预期看到每台主机自己的项目和线程。

这一提交里,Connect 账号默认最多链接 3 台机器,手机和浏览器不计。付费 T3 Chat 可以提高这个配额。它不是所有 SSH 或私网连接的统一机器上限,也不会给 provider 增加订阅额度。D1

步骤 2B:或者用 Tailscale HTTPS ​

已有受管理的 tailnet、又不想走 Connect 的托管路线时,可以用官方写明的 Tailscale HTTPS。本课不安装 VPN,也不改网络策略。D1

  1. 确认客户端和目标主机已经在同一 tailnet 里。
  2. 桌面主机在 Settings → Sharing & access 启用 Tailscale HTTPS。
  3. 还没运行 T3 的命令行主机:
bash
t3 serve --tailscale-serve

服务器已经在跑时,不要再起一份:

bash
t3 pair --tailscale
  1. 配对链接用可信方式交给自己的客户端,用 Add environment 添加。每个新设备用新的配对链接。
  2. 加上第二台主机后,逐个核对环境名称和项目路径。

配对链接可能包含授权信息。默认配对权限很宽,只用于你信任的个人客户端。tailnet 只限制网络可达,不能代替 T3 的配对和权限。官方托管网页需要 HTTPS。单独一个配对 URL 不会把不可达后端变成可达,也不会把 HTTP 自动升成 HTTPS。不要用公网转发或关掉认证来修这个问题。D1

可选:桌面管理的 SSH ​

已有合规 SSH 时,可在桌面端 Settings → Environments → Add environment → SSH 输入现有 host 或 alias。T3 Code 会在目标主机启动或复用服务器,并建立端口转发。D1

远端须是 Linux 或 Apple Silicon Mac,并具备文档列出的基础工具和 provider。provider 必须出现在非交互登录 shell 的 PATH 里。交互终端找得到 CLI,不能证明 T3 后台也找得到。

Nimrod 写过重复服务器和版本漂移,因此他自己只用 Tailscale。那是作者经验,不是官方禁止 SSH。W1

步骤 3:逐机验收 ​

在控制端对 A 和 B 分别做,不跳步:

  • 选中目标环境,打开对应练习项目。
  • 查看步骤 1 的线程,确认环境、目录和分支。
  • 在 Supervised 下再做一次只读检查。线程能回答,工作目录没有新增改动。
  • 暂时断开客户端再重连,仍回到正确主机和线程。
  • 记录主机名称、项目路径、T3 版本和 provider 状态。不记录配对码或凭据。

看到两台机器,不代表它们的 agent 能互相发任务。跨机委派是下一页的额外授权:Linked environments。

常见失败 ​

现象先检查什么
主机显示离线主机是否醒着、在线、T3 是否在运行。主机执行 t3 service status,不要先创建第二份服务器
Connect 登录成功但进不去客户端 Settings → Environments → Details 找第一处失败;主机执行 t3 connect status。登录、隧道和 T3 服务分开看 D9
隧道起不来,但网页上网正常可能是主机出站 7844 被限制。请网络管理员核对,不要擅自改防火墙、关掉公司 VPN,或开放公网入站 D9
T3 能连上,agent 起不来看目标主机 provider 的认证、PATH、Binary path 和兼容版本,不能只查客户端 D2
手机打不开复制的地址127.0.0.1 只指手机自己。检查目标主机地址、HTTPS scheme 和私网是否真的可达 D1
新版客户端连旧主机报错核对双方版本和设备时间,以及主机升级后是否还要重启。重启会打断正在运行的 agent turn D8
同一环境出现几份不同历史先核对是不是误启了不同服务或不同数据目录。不要删数据库来“合并”

最后一项来自作者重复启动服务器的经验,是整理建议。不要自动清理或移动已有数据。

退出与撤权 ​

不用的客户端,在目标主机 Settings → Sharing & access 撤销它的 session。撤销还没用过的 pairing link,只会阻止新配对,撤不掉已经配对的设备。客户端的 Forget 也不等于目标机撤权。D1

Connect 的解绑、退出登录和卸载后台服务是不同动作。只想停止暴露时,不要误删工作数据。命令行上,t3 connect unlink 关掉暴露并保留登录;t3 connect logout 还会清掉登录。卸载服务是另一件事。D1

来源:D1、D2、D5、D7、D8、D9。场景来自 X1、X2,私网经验来自 W1。视频入口是 Y1,不是逐步操作已核验的证据。完整出处见 来源。

非官方译文 · 源提交 d2c25950b4d9 · 不代表 T3 Tools