agentrix-run
agentrix-run 用于从命令行或 CI 任务提交 Agentrix CI run。它适合放在流水线里,让
Agentrix 代理审阅 PR、总结变更、生成结构化输出,或者启动一个异步任务后再到 Agentrix
应用里查看结果。
它和主 agentrix 守护进程 CLI 是两套工具。agentrix-run 直接调用 Agentrix API 创建 CI
run,可以持续流式输出事件直到任务结束,也可以只创建任务后立即返回。
前置条件
- CI 任务里有 Node.js 20 或更高版本。
- 有一个能访问目标组织和仓库的 Agentrix API key。
- 能访问 Agentrix API。公有云 API 地址默认是
https://agentrix.xmz.ai。 - 目标仓库已接入 Agentrix。在 GitHub Actions 和 GitLab CI 中,
agentrix-run可以从 CI 环境变量自动识别当前仓库。 - 一个 runner ID。只有部署里配置了默认 cloud runner,或选择的 companion agent 已经绑定机器时,才可以省略。
- 如果使用
--resume,需要已有 task ID;此模式不需要仓库上下文或 runner ID。
建议把 API key 放到环境变量里:
export AGENTRIX_API_KEY=<your-api-key>
也可以通过 --api-key 显式传入 key。只有需要覆盖默认公有云 API 地址时,才需要传
--base-url 或设置 AGENTRIX_BASE_URL。
安全模式
agentrix-run 通过 Agentrix API 创建 CI run。即使传入的是 machine-* runner ID,task
会在对应的本地机器上执行,但这个 CI run 仍然是明文 CI 模式:prompt 和 CI 上下文会作为普通
API 请求数据发送到服务端,并作为普通 task event 保存。
这不同于从 Agentrix 应用里发起的本地 task。应用本地持有用户的加密材料,因此可以提交
encryptedMessage、dataEncryptionKey 和 ownerEncryptedDataKey。不要把密钥或敏感凭据写进
--prompt;这类数据应留在 CI secret store 或机器本地配置里。
在 shell 中运行
CI 里建议固定 npm 包版本。当前包名是 @agentrix/agentrix-run。
npx --yes @agentrix/[email protected] \
--agent codex \
--prompt "Review this change and return one short summary sentence." \
--response-mode stream \
--runner-id cloud-default
如果不是在 GitHub Actions 或 GitLab CI 中运行,需要手动传仓库上下文:
npx --yes @agentrix/[email protected] \
--agent codex \
--prompt "Review this branch." \
--repo '{"gitServerId":"github","owner":"xmz-ai","name":"agentrix"}' \
--base-ref develop \
--head-ref feature/demo \
--pr-number 123 \
--runner-id cloud-default
也可以向已有 task 追加消息。agentrix-run 会复用 task 的执行上下文;worker 在线时直接投递给 agent,worker 已退出时由后端恢复 task:
npx --yes @agentrix/[email protected] \
--resume task-abc123 \
--prompt "继续检查刚才失败的测试,并给出最终结论。" \
--response-mode stream
响应模式
| 模式 | 行为 | 退出码 |
|---|---|---|
stream | 创建 run,流式输出任务事件,等待终态后退出。这是默认模式。 | 只有最终状态为 completed 时返回 0;failed、canceled 或 timeout 会返回非零。 |
async | 创建 run 并打印基础元数据,不等待任务完成。 | run 创建成功时返回 0。 |
使用 --resume 时,响应模式含义相同:stream 会在追加消息被接受后继续流式观察该 task,async 只确认消息已交给后端。
stream 模式下,stdout 会输出 JSON lines:
{"type":"run.created","data":{"runId":"run-..."}}
{"type":"task.event","data":{}}
{"type":"run.completed","data":{"runId":"run-...","status":"completed","result":"...","detailUrl":"..."}}
async 模式下,stdout 会输出标准字段:
run_id=run-abc123
status=queued
detail_url=https://agentrix.xmz.ai/tasks/task-abc123
如果后续 CI 步骤需要读取结果,用 --result-file 写入 JSON 文件:
npx --yes @agentrix/[email protected] \
--agent codex \
--prompt "Summarize this PR." \
--result-file agentrix-result.json
结果文件格式如下:
{
"runId": "run-abc123",
"status": "completed",
"result": "Short summary text.",
"structuredOutput": null,
"detailUrl": "https://agentrix.xmz.ai/tasks/task-abc123"
}
结构化输出
通过 --output-schema 传入 JSON Schema 字符串。agentrix-run 会把对象 schema 规范化为严格结构化输出:对象节点会自动设置 additionalProperties: false,并把所有声明的属性加入 required。
npx --yes @agentrix/[email protected] \
--agent codex \
--prompt "Summarize this change." \
--output-schema '{"type":"object","properties":{"summary":{"type":"string"},"risk":{"type":"string"}}}' \
--result-file agentrix-result.json
规范化后的结构化输出会写入结果文件里的 structuredOutput 字段。GitHub Action 会把它暴露为
structured-output-json 输出。
GitHub Actions
GitHub Actions 中推荐使用公开 action wrapper:
name: Agentrix
on:
pull_request:
jobs:
agentrix:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- id: agentrix
uses: xmz-ai/agentrix-run-action@v1
with:
api-key: ${{ secrets.AGENTRIX_API_KEY }}
agent: codex
prompt: >-
Review this PR and return one short summary sentence.
runner-id: cloud-default
- name: Print result
run: |
echo "run id: ${{ steps.agentrix.outputs.run-id }}"
echo "status: ${{ steps.agentrix.outputs.status }}"
echo "detail url: ${{ steps.agentrix.outputs.detail-url }}"
echo "result: ${{ steps.agentrix.outputs.result }}"
这个 action 会从 GitHub Actions 环境变量中自动识别仓库 owner、仓库名、ref、commit SHA、PR base/head 分支、PR 编号、事件名和 workflow run URL。
GitHub Action 输入
| 输入 | 必填 | 说明 |
|---|---|---|
agent | 是 | Agent ID 或名称,例如 codex。 |
prompt | 是 | 发送给 Agentrix 的任务内容。 |
base-url | 否 | Agentrix API 地址覆盖值。默认是 https://agentrix.xmz.ai。 |
api-key | 是 | Agentrix API key。建议放在 GitHub Actions secrets 中。 |
title | 否 | Agentrix 中显示的自定义任务标题。 |
output-schema | 否 | 用于结构化输出的 JSON Schema 字符串。 |
repo | 否 | 仓库 JSON 覆盖值。自动识别不够用时再传。 |
git-server-id | 否 | 自动识别仓库时使用的 Git server ID,默认是 github。 |
response-mode | 否 | stream 或 async。默认是 stream。 |
issue-number | 否 | Issue 编号覆盖值。PR 编号会从事件 payload 中自动识别。 |
branch-name | 否 | 显式 checkout 分支。设置后会覆盖自动识别到的 PR/MR head 分支,作为 workspace checkout 目标。 |
timeout | 否 | HTTP 读取超时时间;在 stream 模式下同时是总等待时间,单位为秒。async 默认 30 秒,stream 默认 1800 秒。 |
capability-profile | 否 | 传给执行层的 capability profile。 |
runner-id | 通常是 | 指定 runner ID,例如 cloud-* 或 machine-*。只有部署里配置了默认 cloud runner,或选择的 companion agent 已经绑定机器时,才可以省略。 |
GitHub Action 输出
| 输出 | 说明 |
|---|---|
run-id | Agentrix run ID。 |
status | stream 模式下的最终状态,或 async 模式下的创建状态。 |
detail-url | Agentrix 任务 URL。 |
result | 最终结果文本。async 模式下为空。 |
structured-output-json | 最终结构化输出的 JSON 字符串。没有结构化输出时为 null。 |
GitLab CI
在 GitLab CI 中,可以把下面这个隐藏 job 放进项目的 .gitlab-ci.yml,也可以放进你们自己维护的共享 CI 模板:
.agentrix-run:
image: node:20-alpine
variables:
AGENTRIX_RESPONSE_MODE: stream
script:
- |
set -eu
set -- \
--agent "$AGENTRIX_AGENT" \
--prompt "$AGENTRIX_PROMPT" \
--response-mode "${AGENTRIX_RESPONSE_MODE:-stream}" \
--runner-id "$AGENTRIX_RUNNER_ID"
if [ -n "${AGENTRIX_TITLE:-}" ]; then
set -- "$@" --title "$AGENTRIX_TITLE"
fi
if [ -n "${AGENTRIX_OUTPUT_SCHEMA:-}" ]; then
set -- "$@" --output-schema "$AGENTRIX_OUTPUT_SCHEMA"
fi
if [ -n "${AGENTRIX_REPO:-}" ]; then
set -- "$@" --repo "$AGENTRIX_REPO"
fi
if [ -n "${AGENTRIX_BRANCH_NAME:-}" ]; then
set -- "$@" --branch-name "$AGENTRIX_BRANCH_NAME"
fi
if [ -n "${AGENTRIX_TIMEOUT:-}" ]; then
set -- "$@" --timeout "$AGENTRIX_TIMEOUT"
fi
if [ -n "${AGENTRIX_CAPABILITY_PROFILE:-}" ]; then
set -- "$@" --capability-profile "$AGENTRIX_CAPABILITY_PROFILE"
fi
if [ -n "${AGENTRIX_RESULT_FILE:-}" ]; then
set -- "$@" --result-file "$AGENTRIX_RESULT_FILE"
fi
if [ -n "${AGENTRIX_BASE_URL:-}" ]; then
set -- "$@" --base-url "$AGENTRIX_BASE_URL"
fi
npx --yes @agentrix/agentrix-run "$@"
然后在实际 pipeline job 里继承它:
agentrix_review:
extends: .agentrix-run
variables:
AGENTRIX_AGENT: codex
AGENTRIX_PROMPT: Review this merge request and return one short summary sentence.
AGENTRIX_RESPONSE_MODE: stream
AGENTRIX_RUNNER_ID: cloud-default
把 AGENTRIX_API_KEY 保存为 masked CI variable。GitLab CI 自动识别会读取项目路径、commit
ref、commit SHA、MR source/target 分支、MR IID、job URL 和 pipeline URL。
daemon webhook 触发的 pipeline
如果 GitLab pipeline 是由 Agentrix daemon webhook bridge 触发的,daemon 会把 GitLab webhook
规范化成 GITLAB_BRIDGE_EVENT_NAME 和 GITLAB_BRIDGE_EVENT_ACTION,并用同样的
GITLAB_BRIDGE_* 前缀设置 issue/MR/pipeline/comment 相关变量。此时 GitLab 标准变量仍然可用,
agentrix-run 会用 CI_PROJECT_PATH、CI_COMMIT_REF_NAME 和 CI_COMMIT_SHA 自动识别仓库和 commit。
建议每类 webhook 单独写 job,用 rules 按规范化事件变量分流:
agentrix_issue_triage:
extends: .agentrix-run
rules:
- if: '$GITLAB_BRIDGE_EVENT_NAME == "issues"'
when: on_success
- when: never
variables:
AGENTRIX_AGENT: codex
AGENTRIX_RESPONSE_MODE: stream
AGENTRIX_RUNNER_ID: cloud-default
AGENTRIX_TITLE: "Issue #$GITLAB_BRIDGE_ISSUE_NUMBER: $GITLAB_BRIDGE_EVENT_ACTION"
AGENTRIX_PROMPT: >-
Review GitLab issue #$GITLAB_BRIDGE_ISSUE_NUMBER in this repository.
Event action: $GITLAB_BRIDGE_EVENT_ACTION.
Issue title: $GITLAB_BRIDGE_ISSUE_TITLE.
Decide whether this needs agent work, and return a short triage summary.
MR review job:
agentrix_mr_review:
extends: .agentrix-run
rules:
- if: '$GITLAB_BRIDGE_EVENT_NAME == "pull_request" && ($GITLAB_BRIDGE_EVENT_ACTION == "opened" || $GITLAB_BRIDGE_EVENT_ACTION == "reopened" || $GITLAB_BRIDGE_EVENT_ACTION == "synchronize")'
when: on_success
- when: never
variables:
AGENTRIX_AGENT: codex
AGENTRIX_RESPONSE_MODE: stream
AGENTRIX_RUNNER_ID: cloud-default
AGENTRIX_TITLE: "MR !$GITLAB_BRIDGE_PR_NUMBER review"
AGENTRIX_PROMPT: >-
Review GitLab merge request !$GITLAB_BRIDGE_PR_NUMBER.
Source branch: $GITLAB_BRIDGE_HEAD_REF.
Target branch: $GITLAB_BRIDGE_BASE_REF.
Return concise findings and suggested fixes.
评论 job。daemon 默认转发 supported 非 system 评论:
agentrix_comment_command:
extends: .agentrix-run
rules:
- if: '$GITLAB_BRIDGE_EVENT_NAME == "issue_comment"'
when: on_success
- when: never
variables:
AGENTRIX_AGENT: codex
AGENTRIX_RESPONSE_MODE: stream
AGENTRIX_RUNNER_ID: cloud-default
AGENTRIX_TITLE: "Agentrix comment command"
AGENTRIX_PROMPT: >-
Handle this GitLab comment.
Issue: $GITLAB_BRIDGE_ISSUE_NUMBER.
Merge request: $GITLAB_BRIDGE_PR_NUMBER.
Comment: $GITLAB_BRIDGE_COMMENT_BODY
Pipeline failed 诊断 job。Pipeline webhook 会作为 workflow_run 事件转发,包括由 trigger token 创建的 pipeline:
agentrix_pipeline_failed:
extends: .agentrix-run
rules:
- if: '$GITLAB_BRIDGE_EVENT_NAME == "workflow_run" && $GITLAB_BRIDGE_EVENT_ACTION == "completed" && $GITLAB_BRIDGE_WORKFLOW_RUN_CONCLUSION == "failure"'
when: on_success
- when: never
variables:
AGENTRIX_AGENT: codex
AGENTRIX_RESPONSE_MODE: stream
AGENTRIX_RUNNER_ID: cloud-default
AGENTRIX_TITLE: "Pipeline $GITLAB_BRIDGE_WORKFLOW_RUN_ID failed"
AGENTRIX_PROMPT: >-
Diagnose failed GitLab pipeline $GITLAB_BRIDGE_WORKFLOW_RUN_ID.
Ref: $GITLAB_BRIDGE_WORKFLOW_RUN_REF.
SHA: $GITLAB_BRIDGE_WORKFLOW_RUN_SHA.
Pipeline URL: $GITLAB_BRIDGE_WORKFLOW_RUN_URL.
Explain the likely cause and propose the smallest fix.
其他常见分流写法:
agentrix_issue_closed:
extends: .agentrix-run
rules:
- if: '$GITLAB_BRIDGE_EVENT_NAME == "issues" && $GITLAB_BRIDGE_EVENT_ACTION == "closed"'
when: on_success
- when: never
variables:
AGENTRIX_AGENT: codex
AGENTRIX_PROMPT: "Summarize the closing state of GitLab issue #$GITLAB_BRIDGE_ISSUE_NUMBER."
AGENTRIX_RESPONSE_MODE: async
AGENTRIX_RUNNER_ID: cloud-default
不要只依赖 CI_PIPELINE_SOURCE 区分来源。daemon 触发的 pipeline 在 GitLab 中通常也是 trigger
pipeline,应优先用 GITLAB_BRIDGE_EVENT_NAME 和 GITLAB_BRIDGE_EVENT_ACTION 做分流。
CLI 选项
| 选项 | 必填 | 说明 |
|---|---|---|
--agent <agent> | 新建 run 时必填 | Agent ID 或名称。 |
--resume <task-id> | 否 | 向已有 task 追加一条 --prompt 消息。设置后不创建新的 CI run,也不需要 --agent。 |
--prompt <prompt> | 是 | 发送给 Agentrix 的任务内容。 |
--title <text> | 否 | Agentrix 中显示的自定义任务标题。 |
--client-task-id <id> | 否 | 用于幂等创建的稳定业务键。同一 API 用户使用相同业务键重试时返回同一个 run,以首次请求为准。 |
--repo <json> | 通常自动识别 | 仓库 JSON 对象。必须包含 gitServerId,并且包含 serverRepoId 或同时包含 owner 与 name。 |
--output-schema <json> | 否 | 用于结构化输出的 JSON Schema 字符串。对象 schema 会被规范化为严格输出。 |
--ref <ref> | 否 | 本次 run 的 Git ref。会覆盖 CI 自动识别的 ref。 |
--sha <sha> | 否 | 本次 run 的 commit SHA。会覆盖 CI 自动识别的 SHA。 |
--base-ref <ref> | 否 | PR 或 MR 的 base/target 分支,会作为 git.baseRef 传给 API。 |
--head-ref <ref> | 否 | PR 或 MR 的 head/source 分支,会作为 git.headRef 传给 API。 |
--head-sha <sha> | 否 | PR 或 MR 的 head/source commit,会作为 git.headSha 传给 API。 |
--checkout-ref <ref> | 否 | 显式指定 workspace 初始化 ref;这是 git.checkoutRef 的唯一来源。 |
--checkout-sha <sha> | 否 | 显式指定 workspace 初始化 SHA;这是 git.checkoutSha 的唯一来源。 |
--branch-name <name> | 否 | 显式任务工作分支,会作为 git.branchName 传给 API;设置后会创建显式 task branch binding。 |
--pr-number <number> | 否 | PR 或 MR 编号。必须是正整数。 |
--issue-number <number> | 否 | Issue 编号。必须是正整数。 |
--response-mode <stream|async> | 否 | stream 等待完成;async 只创建 run。默认是 stream。 |
--timeout <seconds> | 否 | HTTP 读取超时时间;在 stream 模式下同时是总等待时间。async 默认是 30,stream 默认是 1800。必须是正整数。连接超时固定为 10 秒。 |
--capability-profile <name> | 否 | 传给执行层的 capability profile。 |
--runner-id <cloud-id|machine-id> | 通常是 | 指定 runner,例如 cloud-default 或 machine-...。只有部署里配置了默认 cloud runner,或选择的 companion agent 已经绑定机器时,才可以省略。 |
--result-file <path> | 否 | 把 run 结果 JSON 写入指定路径。 |
--base-url <url> | 否 | Agentrix API 地址覆盖值。默认是 https://agentrix.xmz.ai;优先级高于 AGENTRIX_BASE_URL。 |
--api-key <api-key> | 未设置 AGENTRIX_API_KEY 时必填 | Agentrix API key。推荐通过环境变量或 CI secret 传。 |
--metadata <key=value> | 否 | 给 run 添加 metadata。可以重复传多次。 |
--help | 否 | 打印命令帮助。 |
仓库 JSON
--repo 接收以下形状的 JSON 对象:
{
"gitServerId": "github",
"owner": "xmz-ai",
"name": "agentrix"
}
也可以通过服务端仓库 ID 标识仓库:
{
"gitServerId": "github",
"serverRepoId": "repo-abc123"
}
检测到 CI provider 时,--repo 中的显式字段会覆盖自动识别出来的字段。
分支上下文和 worker 环境
agentrix-run 会把分支上下文放在 CreateCiRunRequest.git 中传给 API:
显式 CLI 参数始终优先。自动探测的 git.ref 和 git.sha 只描述当前 CI Job 的 checkout:
GitHub 使用 GITHUB_REF 和 GITHUB_SHA,GitLab 使用 CI_COMMIT_REF_NAME 和 CI_COMMIT_SHA。
bridge 变量不会覆盖这两个字段。
| CLI 参数 | API 字段 | 含义 |
|---|---|---|
--base-ref | git.baseRef | PR/MR 的目标分支,例如 main。 |
--head-ref | git.headRef | PR/MR 的来源分支,例如 feature/demo。 |
--head-sha | git.headSha | PR/MR 的来源 commit。 |
--checkout-ref | git.checkoutRef | workspace 初始化起点 ref。 |
--checkout-sha | git.checkoutSha | workspace 初始化起点 SHA。 |
--branch-name | git.branchName | 显式任务工作分支覆盖值。 |
API 会把这些值映射到受控的 Agentrix task 字段:
git.baseRef写入 taskbaseBranch。git.headRef和git.headSha保持为观测到的 PR/MR head context。git.ref和git.sha是当前 Job 事实,不会提升为 checkout 指令或 MR head 字段。- 只有显式的
git.checkoutRef和git.checkoutSha才定义 workspace 初始化起点。 - 只有调用方显式传入
git.checkoutSha时才会使用它;不会再从git.sha或git.headSha推导。 - 显式传入
git.branchName时写入 taskbranchName。 - 未传入
git.branchName时,taskbranchName保持未设置,branch binding 保持none。
worker 只会优先使用显式的 checkoutSha;否则使用 checkoutRef 或 base 分支初始化未绑定的 CI
workspace,但不会把这些来源分支绑定成 task 本地分支。显式 branchName 任务仍把该分支作为强任务分支绑定。
最终 agent 进程会从这些 task 字段获得受保护的环境变量:
| Worker 环境变量 | 来源 task 字段 | 含义 |
|---|---|---|
AGENTRIX_BASE_REF | baseBranch | Target/base 分支。 |
AGENTRIX_HEAD_REF | headRef | 观测到的 PR/MR 来源分支。 |
AGENTRIX_HEAD_SHA | headSha | 观测到的 PR/MR 来源 commit。 |
AGENTRIX_CHECKOUT_REF | checkoutRef | workspace 初始化 ref。 |
AGENTRIX_CHECKOUT_SHA | checkoutSha | workspace 初始化 SHA。 |
AGENTRIX_TASK_BRANCH | branchName | 存在绑定时的任务分支。 |
AGENTRIX_TASK_BRANCH_BINDING | branchBinding | 任务分支绑定模式。 |
这些 worker 环境变量属于平台 task context,会覆盖同名的用户自定义 agent 环境变量。
环境变量
| 变量 | 使用方 | 说明 |
|---|---|---|
AGENTRIX_BASE_URL | CLI、GitHub Action 子进程、GitLab 模板 | 可选的 Agentrix API 地址覆盖值。默认是 https://agentrix.xmz.ai;传入 --base-url 时会被覆盖。 |
AGENTRIX_API_KEY | CLI、GitHub Action 子进程、GitLab 模板 | API key,会作为 bearer token 使用。传入 --api-key 时会被覆盖。 |
AGENTRIX_GIT_SERVER_ID | CI 自动识别 | 自动识别仓库时使用的 Git server ID。GitHub Actions 默认是 github,GitLab CI 默认是 gitlab。 |
CI_COMMIT_REF_NAME / CI_COMMIT_SHA | GitLab CI 自动识别 | 当前 GitLab Job 的 ref 和 commit;它们是 git.ref 和 git.sha 唯一的自动来源。 |
GITHUB_REF / GITHUB_SHA | GitHub Actions 自动识别 | 当前 GitHub Job 的 ref 和 commit;它们是 git.ref 和 git.sha 唯一的自动来源。 |
GITLAB_BRIDGE_EVENT_NAME | GitLab daemon webhook 识别 | daemon bridge 注入的规范化事件名。 |
GITLAB_BRIDGE_EVENT_ACTION | GitLab daemon webhook 识别 | daemon bridge 注入的规范化事件动作。 |
GITLAB_BRIDGE_ISSUE_NUMBER | GitLab daemon webhook 识别 | issue 和 issue comment 事件注入的 Issue 编号。 |
GITLAB_BRIDGE_PR_NUMBER | GitLab daemon webhook 识别 | merge request 和 MR comment 事件注入的 PR 编号。 |
GITLAB_BRIDGE_BASE_REF / GITLAB_BRIDGE_HEAD_REF / GITLAB_BRIDGE_HEAD_SHA | GitLab daemon webhook 识别 | 观测到的 MR 上下文,仅在 GitLab 标准 MR 变量不存在时补充。 |
AGENTRIX_JOB_URL | CI 自动识别 | 覆盖自动识别的 job URL。 |
AGENTRIX_AGENT | GitLab 模板 | Agent ID 或名称。 |
AGENTRIX_PROMPT | GitLab 模板 | 任务内容。 |
AGENTRIX_TITLE | GitLab 模板 | 自定义任务标题。 |
AGENTRIX_OUTPUT_SCHEMA | GitLab 模板 | 用于结构化输出的 JSON Schema 字符串。 |
AGENTRIX_REPO | GitLab 模板 | 仓库 JSON 覆盖值。 |
AGENTRIX_BRANCH_NAME | CLI、GitLab 模板 | Task 分支名覆盖值。传入 --branch-name 时会被覆盖。 |
AGENTRIX_RESPONSE_MODE | GitLab 模板 | stream 或 async。模板中默认是 stream。 |
AGENTRIX_TIMEOUT | GitLab 模板 | HTTP 读取超时时间;在 stream 模式下同时是总等待时间,单位为秒。async 默认 30 秒,stream 默认 1800 秒。 |
AGENTRIX_CAPABILITY_PROFILE | GitLab 模板 | Capability profile。 |
AGENTRIX_RUNNER_ID | GitLab 模板 | Runner ID。上面的模板要求设置这个变量。 |
AGENTRIX_RESULT_FILE | GitLab 模板 | 结果 JSON 文件路径。 |
agentrix-run 不会根据 issue 或 workflow 阶段推断 checkout 策略。在 daemon 触发的 GitLab
pipeline 中,GITLAB_BRIDGE_* 只补充 webhook 事件和观测到的 MR 上下文;不会覆盖当前 Job
的 ref/SHA,也不会生成 checkoutRef 或 checkoutSha。