ACP 提供方
T3 Code 可以运行已安装的 ACP 命令,或运行来自官方 ACP Registry 的编码智能体。Registry 智能体自带模型、工具和登录方式,T3 Code 则提供项目(project)、对话线程(thread)、检查点(checkpoint)和任务委派。
T3 Code 作为独立提供方支持的智能体,例如 Codex、Claude、Cursor、Grok、OpenCode、Pi 和 Antigravity,不会出现在 Registry 列表中。请改在设置 → 提供方中启用它们。
T3 Code 优先使用当前的 ACP v2 预览协议。当智能体支持时,会采用它更丰富的消息、用量、计划、配置、压缩,以及智能体终端更新。对于尚未迁移的 Registry 智能体,T3 Code 也会协商 ACP v1,使它们继续通过同一套通用集成工作。
Claude Agent 对 Registry 和本地的 claude-agent-acp 命令默认使用 ACP v2 预览。如果遇到预览问题,在提供方实例的环境覆盖中设置 CLAUDE_AGENT_ACP_EXPERIMENTAL_V2=0,即可改用 ACP v1。
添加智能体
- 打开设置 → 提供方。
- 选择添加提供方,然后选择显示更多。
- 在 ACP Registry 中搜索该智能体,并在其结果上选择添加。
- 确认名称和实例 ID,然后完成该智能体的登录步骤。
搜索只会显示能够在已连接的服务器上运行的智能体。Registry 智能体是第三方代码;添加之前请审阅其源代码和许可证。
添加本地命令
在设置 → 提供方 → 添加提供方中,选择显示更多,然后选择本地 ACP 命令。输入所选环境(environment)上的可执行文件名称或路径,每行添加一个字面参数,并选定一个显示名称。DeepSeek Harness 请使用 dsh,参数为 --profile 和 acp。
本地命令不需要 Registry 条目,也不需要下载。环境覆盖会作用于该命令;凭据和技能仍由已安装的智能体或其包装程序管理。模型和推理选项来自 ACP,也包括模型 ID 里含有 JSON 的情况。T3 Code 直接启动该可执行文件,不会展开 shell 表达式。
智能体在何处运行
Registry 智能体始终运行在托管你的 T3 Code 服务器的那台机器上。经由 app.t3.codes、T3 Connect 或中继(relay)连接时也是如此。
智能体安装在 T3 主目录内的 tools/<agent-id>/<version>/ 下。Registry 条目如果提供了 SHA-256,T3 Code 会进行校验;没有校验和的条目,则仍保留 Registry 的 HTTPS 分发保证。Registry 的 npx 和 uvx 软件包使用 T3 拥有的 npm 前缀和 Python 工具目录,版本与 Registry 发布的版本完全一致。它们的命令可以在新的服务器终端中用于登录和直接调用。移除某个智能体的最后一个提供方实例时,会删除 T3 管理的二进制文件,但会保留已安装的软件包。若要使用已有的本地二进制文件,请显式设置可执行文件覆盖。
登录
在 Web 或桌面端,打开设置 → 提供方里该智能体的账户部分。选择登录;如果该智能体提供多种方式,从中选一种。对于已安装并配置好的提供方,移动端同样提供设置 → 提供方。
浏览器登录会显示该智能体的 URL,等你打开或复制之后,才让智能体继续。页面在你的设备上打开,智能体则在环境(environment)上运行。终端方式在该环境的应用内终端中进行。在移动端,通过终端回复字段发送回应。终端登录之后,T3 Code 会重新连接,并等到智能体确认登录,才报告成功。过期的尝试可以取消或重试。
浏览器登录和终端登录都会把凭据留在智能体自己的存储中。通过环境变量使用 API 密钥的智能体,仍在该实例的环境设置中接收这些密钥。配置好的环境或智能体主目录会同时用于登录和聊天。
如果智能体声明支持登出,选择登出。更改共享的智能体登录后,该环境上同一智能体的各个实例中,正在运行的对话线程(thread)会停止。对话线程的历史和工作区文件都会保留。ACP 没有描述账户隔离,因此再添加一个实例并不能保证账户彼此独立;如果智能体支持,请用它自己的配置来隔离账户。
如果某个智能体无法在远程走完它所声明的流程,它的 CLI 在服务器上仍然可用。例如,Codex 支持 codex login --device-auth,Grok Build 支持 grok login --device-auth。
模型与选项
模型选择器列出智能体报告的模型。如果智能体没有报告任何模型,或隐藏了一部分,请在实例设置的自定义模型中添加你自己的模型 ID。
智能体提供的其他设置,例如推理强度或批准模式,会出现在 Composer(编写器)的模型选择器中、模型列表旁边,与内置提供方(provider)一样。智能体运行期间发生变化的模型和选项会更新选择器,不必再等待下一次提供方探测。
命令与技能
提供方会话(session)运行期间,智能体提供的斜杠命令会出现在 / 菜单的提供方下。智能体用 $ 前缀命名的命令,则会改出现在 T3 Code 的 $ 技能菜单中。
原生会话
当智能体声明支持列出并导入 ACP 会话时,展开它的提供方卡片,选择一个项目(project),再选择列出会话。导入一条会话会创建一条确定性的 T3 对话线程(thread),并由该原生会话支撑。再次导入同一条智能体会话会返回已有的对话线程,换一个客户端(client)执行导入时也是如此。
这条对话线程会把原生会话的标题和最后更新值保留为提供方元数据,不会覆盖你在 T3 Code 中设置的标题。报告 ACP 上下文用量的智能体,会驱动对话线程详情中的上下文窗口和累计费用元数据。要在 Web 和桌面端显示这些信息,参见命令与技能。文本资源和链接会渲染为助手输出;T3 Code 尚不能渲染的二进制资源、图像和音频会显示为明确的占位,而不是直接消失。
权限与终端
Registry 智能体在自己的沙箱和批准规则下,自行读取文件、编辑和运行命令。它们以自己的默认模式启动,模型选项菜单中的模式选择器可以切换该模式。智能体被约束到什么程度,取决于该模式以及智能体自己的设置;在这一点重要时,请使用它的沙箱和权限控件。
当 Registry 智能体请求批准时,T3 Code 按该对话线程(thread)的权限模式来回应:监督会在对话中显示该请求,自动接受编辑会批准编辑并显示其余请求,自动和完全访问则会自动批准。文件读取和搜索从不等待批准。
Devin 通过 T3 Code 的终端运行命令,这些命令遵循对话线程的权限模式。对其他智能体,T3 Code 会显示智能体报告的命令、输出和退出状态,但不会运行或停止它们的终端。
Registry 智能体可以调度工作,并使用 T3 的 MCP 工具。子任务如何呈现,取决于智能体暴露了什么:ACP 没有可移植的原生子智能体谱系约定,因此更丰富的委派视图仍然因智能体而异。
检查点
检查点(checkpoint)回滚会照常恢复你的文件。ACP 智能体无法倒回自己的对话,因此回滚之后的下一回合(turn)会开启一个新的智能体会话,它不再记得检查点之前的对话。
Registry 实例不会用于 T3 应用自己持有的文本生成,例如对话线程标题、提交消息、分支名或拉取请求(pull request)描述。这些操作请配置一个具备文本生成能力的提供方。
高级配置
- 可执行文件覆盖会运行已有的本地可执行文件,而不是托管的分发版本,同时保留 Registry 所声明的参数和环境。
- 认证方式在智能体声明了不止一种方式时,选定其中一种。
- 自定义模型添加智能体没有报告的模型 ID。