无持久服务也能审计CI里的Agent:agent-beacon ci命令完整实践

发布时间:2026/10/11 17:04:04
无持久服务也能审计CI里的Agent:agent-beacon ci命令完整实践 【免费下载链接】agent-beaconThe cross-harness, self-improving memory layer for AI agents.项目地址https://gitcode.com/gh_mirrors/ag/agent-beacon点击查看免费下载agent-beacon是面向 AI Agent 的跨 harness 遥测与记忆层它能在本地、浏览器和CI 流水线中统一采集 Agent 行为事件。其中的beacon ci命令专为 CI 场景设计不安装任何持久化 endpoint 服务、不改动 runner 上的 Agent 全局配置就能为单次 CI 作业临时拉起遥测收集器审计 Claude Code、Codex 等 AI Agent 的提示词、工具调用与命令执行并在作业退出前校验事件是否真正采集成功。为什么 CI 里的 Agent 需要专门审计越来越多的流水线会用 AI Agent 自动审查 PR、跑测试、修复失败。但这些作业有两个特点Runner 是临时环境每次作业用完即销毁无法像开发机那样装一个常驻的遥测服务Agent 行为不可见Agent 执行了什么命令、读了哪些文件、调用了哪些工具默认只散落在 CI 日志里事后无法追溯。传统思路是给 runner 装持久服务但这对临时 runner 既不优雅也不现实。beacon ci的解法是把遥测生命周期压缩进一次作业——开一个本地 OpenTelemetry 收集器注入最小配置跑完即收产物落成一份标准化 JSONL 事件文件。beacon ci 命令全景4 个子命令beacon ci提供 4 个子命令覆盖包裹单条命令和跨步骤会话两种典型用法实现见 cli/beacon/cmd/ci.go子命令用途适用场景beacon ci exec包裹并执行一条 Agent 命令自动完成采集、校验、产物输出workflow 中直接运行claude、codex等命令beacon ci start启动一个分离式遥测会话导出环境变量供后续步骤继承第三方 Action 在内部拉起 Agent你无法直接包裹beacon ci finish停止分离式会话校验并导出遥测产物与start配对放在always()清理步骤beacon ci validate单独校验已有的 runtime 日志是否合规采集与 Agent 执行分离管理时执行流程可以概括为 6 步详见 docs/runtimes/claude-code-ci.mdx启动临时本地 OpenTelemetry 收集器为选定的 Agent harness 注入遥测配置Claude 走环境变量Codex 走生成的CODEX_HOME运行--之后的命令或让后续 CI 步骤继承会话导出把归一化事件写入runtime.jsonl写入前会做脱敏、清洗、截断与事件大小限制校验是否采集到足量匹配事件默认至少 1 条留下runtime.jsonl作为 CI 产物或上传目标然后结束。30 秒上手用 ci exec 包裹一条 Agent 命令最常见的场景是 workflow 里直接跑 Agent 命令。只需要在原命令前加beacon ci exec --beacon ci exec -- claude -p Review this pull request就这么简单。exec会保留子命令的退出码Agent 任务失败时 CI 依然判失败并在结束时打印校验结果与产物路径Beacon CI validation: pass Runtime log: /home/runner/work/_temp/beacon/runtime.jsonl几个最常用的参数完整参数表见 docs/cli/ci-exec.mdx参数作用--harness claude,codex指定要配置的 Agent harness支持逗号分隔--log-path path指定 runtime 日志路径方便后续作为 artifact 引用--min-events n校验时要求的最少匹配事件数默认 1--require-telemetry false校验失败只告警、不阻断构建灰度接入时很有用--json输出机器可读的 JSON 结果便于脚本消费--upload s3/--upload gcs校验通过后把runtime.jsonl直传对象存储可重复使用新手建议刚接入时先用--require-telemetryfalse跑一周确认遥测链路稳定后再打开硬门禁。多步骤 workflowstart finish 会话模式当 Agent 是被第三方 Action 在内部拉起的你无法在命令前加exec改用会话模式start在前、finish在后中间放任意步骤beacon ci start --harness claude,codex # 这里执行拉起 Agent 的 CI 步骤 beacon ci finish --min-events 1工作原理start启动分离式收集器并写会话状态文件同时把遥测环境变量如 Claude 的 OTLP 配置、Codex 的CODEX_HOME追加到$GITHUB_ENV后续run:/uses:步骤自动继承实现见 cli/beacon/internal/ci/session.go。⚠️关键细节finish步骤务必加if: always()这样即使前面的 Agent 步骤失败收集器也能被正确停止、产物也不会丢。用 GitHub Action 一行接入如果你用 GitHub Actions仓库根目录的 action.yml 提供了现成的复合 Action自动处理二进制下载、校验和、artifact 上传只需一个步骤- name: Run Claude with Beacon telemetry uses: asymptote-labs/agent-beaconv0.0.95 env: ANTHROPIC_API_KEY: ${{ secrets.ANTHROPICE_API_KEY }} with: command: claude --print Review this pull request upload-artifact: true artifact-name: beacon-runtime-log对应的会话模式就是mode: start与mode: finish两个步骤。仓库提供了可直接复制的参考 workflowexamples/github-actions/claude-code-telemetry.yml —— exec 模式完整示例examples/github-actions/claude-security-review-session.yml —— 包裹第三方 Agent Actionexamples/github-actions/splunk-forward-telemetry.yml / falcon-forward-telemetry.yml —— 直推 SIEM校验与产物audit 的最后一公里runtime.jsonl是核心产物——每行一个完整 Beacon 事件遵循与 endpoint 日志相同的 事件 schema。默认产物路径产物默认路径Runtime 日志$RUNNER_TEMP/beacon/runtime.jsonl收集器配置$RUNNER_TEMP/beacon/otelcol.yaml收集器 spool$RUNNER_TEMP/beacon/spool/otlp.jsonl如果遥测采集和 Agent 执行是分开管理的可以用validate独立做门禁beacon ci validate --harness claude --min-events 3它会检查日志存在、能按 JSONL 解析、且匹配事件数达标不达标则返回非零退出码可以直接作为 CI 质量门。事件落盘后你可以上传 workflow artifactAction 默认行为供安全团队事后下载分析--upload s3/--upload gcs校验通过后直传对象存储桶名由BEACON_CI_S3_BUCKET/BEACON_CI_GCS_BUCKET等环境变量控制--forward splunk/--forward falcon通过 HEC 端点直推自家 SIEMtoken 从BEACON_CI_*_HEC_TOKEN环境变量读取绝不作为输入参数明文传递。完整导出方案见 docs/log-forwarding/ci-telemetry-exports.mdx。当这些事件汇入统一平台后就能在安全总览里看到 harness、模型、工具调用与事件的分布支持哪些 Agent harness--harness支持claude、codex及逗号分隔的组合别名如claude_code、codex_cli也可识别归一化逻辑见 cli/beacon/internal/ci/harness.go。exec默认claudestart默认claude,codex。Beacon 整体覆盖的 Agent 运行时矩阵远不止 CI 场景Claude Code、Codex、Cursor、Gemini CLI、opencode、Devin 等你可以在 endpoint 模式下探测每个运行时的检测、遥测与配置状态常见问题Q会在 runner 上留下常驻进程吗不会。收集器随命令生命周期启停exec模式在子命令结束后 5 秒内强制停止start模式由finish收尾。产物默认保留在$RUNNER_TEMP/beacon下--keep-artifacts默认开启供审计下载。QCI 里的 API key 会出现在遥测事件里吗不会。事件写入前会经过脱敏、清洗与截断redaction/sanitization/truncation下游拿到的就是与本地 endpoint 一致的归一化 JSONL 契约。Q不是 GitHub Actions 能用吗可以。只要设置了CI环境变量Beacon 会将其标记为 ephemeral CI 运行GitHub Actions 特有的 run 元数据workflow、commit、ref、actor是在检测到GITHUB_ACTIONStrue时额外附加的。Q遥测链路故障会拖垮构建吗用--require-telemetryfalse可把遥测校验降级为告警构建结果仍由 Agent 子命令本身决定。延伸阅读CI 命令总览docs/cli/ci.mdx子命令参考ci-exec · ci-start · ci-finish · ci-validateClaude Code CI 运行时指南docs/runtimes/claude-code-ci.mdx遥测导出artifact / S3 / GCS / SIEMdocs/log-forwarding/ci-telemetry-exports.mdx事件字段与 schemadocs/telemetry-schema/event-schema.mdx一句话总结一条beacon ci exec让每次 CI 里的 Agent 都留下可审计、可校验、可导出的遥测证据——不需要在 runner 上留下任何持久服务。赞分享【免费下载链接】agent-beaconThe cross-harness, self-improving memory layer for AI agents.项目地址https://gitcode.com/gh_mirrors/ag/agent-beacon点击查看免费下载相关推荐Claude Cookbooks 的 CI 自动化 PR 审查命令review-pr-ci 的设计与实现全解Claude Cookbooks 的 CI 自动化 PR 审查命令review pr ci 的设计与实现全解 Claude Cookbooks 这个 Note示例工程3步掌握GIM图像匹配系统从零部署到实战应用3步掌握GIM图像匹配系统从零部署到实战应用 GIM通用图像匹配器是一个基于深度学习技术的图像匹配系统能够从海量互联网视频中学习泛化能力在不同光照条件Cycle.js持续集成服务对比Travis CI、GitHub Actions与GitLab CICycle.js持续集成服务对比Travis CI、GitHub Actions与GitLab CI 你还在为开源项目选择持续集成服务而纠结本文将以Cycl前端Web框架创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询