[aw] Weekly CI runtime analyst is missing required tool

这个报错发生在 Langfuse 仓库的“Weekly CI runtime analyst”自动化工作流中,核心原因是该工作流使用的 GitHub 集成令牌/MCP 服务器因保密策略(secrecy policy)限制,无权读取 Actions 运行与任务数据(actions_list / act

快速结论:这个报错发生在 Langfuse 仓库的“Weekly CI runtime analyst”自动化工作流中,核心原因是该工作流使用的 GitHub 集成令牌/MCP 服务器因保密策略(secrecy policy)限制,无权读取 Actions 运行与任务数据(actions_list / actions_get 等接口),并非代码逻辑错误。优先排查工作流身份(GitHub App 或 token)的 Actions 读取权限范围。

适用环境:Langfuse 仓库的 agentic-workflows CI 自动化(ci-runtime-analyst 工作流),运行于 GitHub Actions;Issue 中反复出现于 2026-07-30 的多次 workflow_dispatch 运行中(runs 30553320896 等)。

最快修复方案:暂无确认的一步修复方案。Issue 虽然已被关闭(标记为 stale),但评论中并未提供已实测有效的修复步骤,只给出了“调整工作流身份的 secrecy-policy 范围以允许读取 Actions 数据”的方向性建议。

注意事项:所有评论均确认该问题为持续性的授权范围限制(persistent blocker),而不是临时故障;仅重试工作流无法解决。在 Issue 中同样没有确认修改具体哪个配置文件或 token 后即恢复的证据,因此下述步骤均为“可能原因”排查项,而非已验证方案。

问题场景

该问题发生在 Langfuse 仓库由 GitHub agentic-workflows 驱动的“Weekly CI runtime analyst”定时任务中。此工作流的目的是每周分析 CI 运行耗时与 vitest 测试日志,但在执行过程中,代理(agent)调用 GitHub Actions MCP 的 actions_list / actions_get 相关方法(例如 list_workflow_runs、list_workflow_jobs、get_workflow、get_workflow_run、get_job_logs)时,所有请求均被服务器拒绝。该问题在同一天内的 4 次独立 workflow_dispatch 运行中重复出现,且跨周连续复现,属于持续性阻断。

报错原文

[aw] Weekly CI runtime analyst is missing required tool

Missing Tools Reported: The agent reported missing tools during execution.

Missing Tools:
- GitHub Actions API read access (actions_list / actions_get MCP methods): Every actions_list/actions_get call (list_workflow_runs, list_workflow_jobs, get_workflow, get_workflow_run) is rejected this session with "filtered by secrecy policy ... not authorized to access private-scoped data" — reproduced for every method and both resource_ids

原因分析

可能原因:该工作流运行时所使用的 GitHub 集成身份(GitHub App 或 fine-grained token)以及 MCP 服务器的保密策略(secrecy policy)配置,不允许访问私有作用域(private-scoped)的 Actions 数据。Issue 评论中多次明确指出:“A human should verify the workflow’s GitHub App/token scopes or the MCP server’s secrecy-policy config, since in-run retries cannot resolve an authorization-scope restriction.” 换言之,这是运行身份授权范围配置问题,而非工作流脚本本身的缺陷。

环境排查

  • 确认 ci-runtime-analyst 工作流使用的 GitHub App 或 Personal Access Token 是否被授予了 Actions: Read 权限。
  • 若使用 GitHub App,检查该 App 是否已安装到 langfuse/langfuse 仓库,并且是否授予了 Actions 的读取权限。
  • 若使用 fine-grained PAT,确认其 Repository access 是否包含 langfuse/langfuse,且 Permissions 中 Actions 是否设为 Read-onlyRead and write
  • 确认 MCP 服务器(actions_list / actions_get)的 secrecy-policy 配置中是否添加了允许访问 Actions 私有数据的规则。
  • 对比同一仓库中能够正常读取 Actions 数据的其他工作流,确认其使用的身份与权限配置。

解决步骤

  1. 可优先尝试:检查运行该工作流所使用的 GitHub 身份(GitHub App 或 token)的权限配置;确认该身份已具备 Actions: Read 权限,并将此权限覆盖至 langfuse/langfuse 仓库。
  2. 若当前使用的是 GitHub App,请前往该 App 的安装设置页面,确认 langfuse/langfuse 在仓库列表中,并且 Actions 权限已被勾选为 Read-only;修改后等待数分钟使权限生效。
  3. 若当前使用 fine-grained PAT,请在 token 设置中确认 Repository access 包含 langfuse/langfuse,并将 Actions 权限设为 Read-only;随后重新生成并更新仓库中的 token 密钥。
  4. 检查 MCP 服务器的配置文件,特别是 secrecy-policy 相关规则;确保在策略中显式放行 Actions 数据读取(例如 actions_list / actions_get 方法)的访问。
  5. 人工触发一次该工作流(workflow_dispatch),确认 actions_list / actions_get 调用是否恢复正常。
  6. 如果上述调整无法解决,或工作流使用的是平台级默认身份,则需联系仓库管理员或 GitHub 技术支持,核对工作流身份在组织/仓库层面的 Actions 读取授权。

验证方法

工作流重新运行后,可在 Actions 日志中搜索“Missing Tools Reported”或“filtered by secrecy policy”标记;若以上关键字未再出现,同时代理完成的报告中包含了 CI 耗时与 vitest 统计(不再是“No timing/vitest data obtainable”),则说明授权范围问题已解决。也可直接在 CI 运行日志中确认 actions_list / actions_get 返回的数据不再是“not authorized to access private-scoped data”。

参考来源

langfuse/langfuse #15640

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 21666

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注