mcpField
W
worker-logs

worker-logs

github.com/openagentsinc云与 DevOps45837 次安装今天更新
代码仓库

关于 worker-logs

worker-logs 是用于查看网站和 API 所用 Cloudflare Workers 实时日志的仓库技能。开发者可在复现问题时追踪请求、状态、控制台输出和授权故障。

主要功能

  1. 01实时流式查看 Worker 日志
  2. 02检查请求和状态码
  3. 03按状态、方法和文本筛选
  4. 04输出 JSON 格式日志
  5. 05关联 API 与网站 Worker

适用场景

  1. 01排查 401 或 500 响应
  2. 02检查内部请求头是否到达
  3. 03复现问题时追踪 API 调用
  4. 04关联网站与 API Worker 日志

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/openagentsinc/openagents --skill worker-logs

安装后在 Claude Code 中输入/worker-logs确认已加载。

详细介绍

检查 Cloudflare Worker 日志

当你需要查看已部署的 Workers 内部情况时,请使用此技能:请求路径、响应状态、console.log 输出和错误。主站和 API 分别是独立的 Cloudflare Workers。

何时使用此技能

  • 调试来自 openagents.com 或 openagents.com/api 的 401/500 错误。
  • 确认 Worker 是否收到了预期的标头(例如 X-OA-Internal-Key),以及它为何可能返回 "unauthorized"。
  • 查看 Rust API 或 Web 应用中的 console.log / console_error! 输出。
  • 与 Khala 日志关联(Khala 会调用 API Worker;重现问题时对 API Worker 执行 tail)。

此仓库中的 Workers

Worker配置路由用途
openagents-apiapps/api/wrangler.tomlopenagents.com/api/*Rust API:legacyparity、control、D1、R2 等。
openagents-web-appapps/web/wrangler.jsoncopenagents.com(主站)TanStack/React 应用(Node compat)。

请从包含相应 Worker 配置的应用目录运行 wrangler tail(或使用 --config / --cwd)。

Wrangler tail(仅实时)

Cloudflare 不通过 CLI 提供历史 Worker 日志。你会获得请求和日志的实时流。如需查看历史数据,请使用控制台:Workers & Pages → 你的 Worker → Logs / Real-time Logs 或 Logpush。

基本用法
# API worker (Rust) — run from apps/api
cd apps/api
npx wrangler tail

# Web app worker — run from apps/web
cd apps/web
npx wrangler tail

让命令持续运行,然后在浏览器中重现问题。你会看到每个请求、状态和任何控制台输出。

Tail 选项
选项含义
--format pretty易于阅读的格式(默认)。
--format json每行一个 JSON 对象(例如通过管道传给 jq)。
--status ok仅显示成功的请求。
--status error仅显示错误/失败的请求。
--method GET按 HTTP 方法筛选。
--search "legacyparity"按 console.log 消息中的文本筛选。
--header "x-oa-internal-key"按标头是否存在筛选。
--sampling-rate 1记录 100% 的请求(默认可能会采样)。
示例
# API worker: only errors, pretty
cd apps/api
npx wrangler tail --status error --format pretty

# API worker: JSON and filter by URL path with jq
cd apps/api
npx wrangler tail --format json | jq 'select(.url | contains("legacyparity"))'

# Web worker: tail while reproducing a page error
cd apps/web
npx wrangler tail
两个 Worker,两个终端

调试某个流程时(例如 Hatchery 调用 Khala、Khala 调用 API),如需同时查看站点和 API:

  1. 终端 1:cd apps/api && npx wrangler tail --format pretty
  2. 终端 2:cd apps/web && npx wrangler tail --format pretty
  3. 可选:在第三个终端查看 Khala 日志:cd apps/web && npx khala logs --prod --success

然后重现问题;留意发往 API Worker 的请求以及任何 console.log / 诊断输出。

限制

  • **仅实时:**没有 --history;tail 会持续输出,直到你按 Ctrl+C。
  • **采样:**负载较高时,tail 可能会采样;使用 --sampling-rate 1 可减少采样。
  • **最多 10 个客户端:**每个 Worker 最多允许 10 个并发 tail 会话。
  • **密钥:**日志不得打印密钥;诊断日志中请使用长度或记录“存在/缺失”。

诊断日志(此仓库)

对于 legacyparity 身份验证,API Worker 会记录:

  • legacyparity auth: no internal key header path=... — 请求已到达 Worker,但缺少 X-OA-Internal-Key 标头(例如标头被剥除或 Khala 未发送)。
  • legacyparity auth 401: path=... provided_len=... expected_len=... — 标头存在,但值与 Worker 密钥不匹配(比较长度;如果长度相同,则说明值不同)。
  • legacyparity auth ok path=... key_len=... — 内部密钥匹配;请求已通过授权。

重现 401 时,请在 apps/api 中使用 wrangler tail,查看出现了哪一行。Khala 操作会在每次请求前记录 [legacyparityApi <label>] fetch key_len=<n> url=...;将其与 Worker 日志关联,以确认 Khala 发送了什么以及 Worker 收到了什么。

评论

支持 Markdown