agentengine CLI 会读取一组少量的环境变量,这些变量会改变 CLI 本身的运行方式。本页面文档了这些输入。配置已部署代理、本地开发堆栈或生成的容器的变量记录在这些功能中。
当命令为同一设置公开标志时,该标志的优先级高于环境变量。
检查更新
发布的二进制文件会检查是否有更新版本,并在存在更新版本时向 stderr 打印通知。该检查最多每 24 小时运行一次,并将其状态记录在 ~/.agentengine/update-check.json 中。
设置 AGENTENGINE_NO_UPDATE_CHECK=1 以禁用该检查。当设置了 CI 环境变量且二进制文件是本地开发构建时,也会跳过该检查。
遥测
CLI 具有两个独立的报告渠道。在发布的二进制文件中,两者默认均为开启状态;而在开发构建中,以及设置了 CI 时,两者均为关闭状态。
AGENTENGINE_TELEMETRY_ENABLED控制发送到代理引擎网关的产品使用情况分析。AGENTENGINE_SENTRY_ENABLED控制发送到 Sentry 的崩溃和错误报告。报告还需要在构建时嵌入 Sentry DSN,发布构建版本中包含该 DSN。
将任一变量设置为 0、false、no 或 off 以禁用该渠道。
产品分析也会自动为合成(金丝雀/测试)账户选择退出:当登录解析出一个禁用了遥测功能的账户时,CLI 会在安装时记录该情况,并停止发送产品分析(包括登录前事件),直到稍后以真实账户登录时清除该状态。上述变量仍然优先,因此设置 AGENTENGINE_TELEMETRY_ENABLED=0 将始终保持遥测功能关闭。
产品使用分析记录了功能的使用情况,而不是您使用这些功能的对象:每次 CLI 调用都会根据其命令路径(示例 agentengine dev up)、成功/失败结果以及失败时的粗略错误类进行计数,同时还会记录安装、登录和功能里程碑事件。事件绝不包含命令参数、文件路径、密钥值或错误消息文本。登录前的运行记录在一个假名匿名 ID 下,当您登录时,该 ID 会链接到您的帐户。
对于 Sentry 而言,CLI 会阻止发布版本构建中嵌入的 DSN,因此,它启动的容器在您选择加入之前不会报告。容器报告需要环境中的 AGENTENGINE_SENTRY_ENABLED=1 和明确的 AGENTENGINE_SENTRY_DSN,这些生成的堆栈将其转化为容器读取的名称。
日志记录
CLI 将会话日志写入平台日志目录下的文件中。以下变量控制该日志。标志 --log-level、--log-file 和 --no-log 设置相同的行为,并且在多个存在时具有优先级。
变量 | 标记 | 默认 | 效果 |
|---|---|---|---|
|
|
| 文件详细程度: |
|
| 平台日志目录中带时间戳的路径 | 将日志写入到此路径 |
|
| 未设置 | 禁用文件日志记录 |
| — |
| 在删除最旧的日志文件之前要保留的日志文件数量 |
| — | 未设置 | 禁用自动日志修剪 |
这两个布尔值都接受 1、true、yes 或 on 作为 true,且不区分大小写。任何其他值(包括未设置的变量)均为 false。本页上的其他变量各自在上方说明了其接受的值。
命令输出
大多数命令会在输出顶部打印一行上下文,显示该命令将作用于的组织、项目、工作区和环境。将 AGENTENGINE_NO_BREADCRUMB 设置为任何非空值即可隐藏该行,这适用于解析命令输出的脚本。
本地开发 TLS 检查
agentengine dev up 构建从 PyPI 和 npm 获取包的本地镜像。在拦截 HTTPS 并使用公司 CA 的网络上,将 AGENTENGINE_CA_BUNDLE 设置为该 CA 的 PEM 文件(或传递 --ca-bundle)。CLI 会在包安装之前将其嵌入到生成的镜像中,因此 uv 和 npm 会信任重新签名的流量,代理的运行时 HTTPS 调用通过代理也能正常工作。CA 会在 ~/.agentengine/ 下的每个工作区中记录,并在同一台机器上的后续运行中重复使用;工作区 .env 中的值会被忽略,因此克隆的存储库无法安装 CA。请参阅 本地 agentengine dev up 中的企业 TLS 检查。