mcpField
D
devvit-logs

devvit-logs

github.com/reddit开发154 次安装13 周前更新
代码仓库

关于 devvit-logs

devvit-logs 是用于调试已安装 Devvit 应用的技能,可调用 `devvit logs` 捕获日志,并在首批输出出现或 5 秒后自动结束,避免持续等待。适合需要快速查看指定 subreddit 中应用日志的开发者。

主要功能

  1. 01运行 `devvit logs` 捕获日志
  2. 02要求提供目标 subreddit
  3. 03可选指定应用名称和历史时间范围
  4. 04首批输出后或 5 秒后自动退出
  5. 05以 JSON 格式返回捕获结果

适用场景

  1. 01快速检查 subreddit 中已安装应用的运行日志
  2. 02按指定时间范围查看历史日志
  3. 03避免日志流命令持续挂起
  4. 04在无日志时根据提示触发应用活动或重试

安装

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

$npx skills add https://github.com/reddit/devvit-skills --skill devvit-logs

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

附带文件scripts/devvit-logs.cjs

详细介绍

Devvit 日志

从已安装的 Devvit 应用流式传输日志事件,以便快速调试。此技能封装了 devvit logs,并在短暂等待(5 秒)后自动退出,避免流式命令一直运行。

工作原理

  1. 询问用户目标 subreddit(必填)。
  2. 可选接受应用名称和 --since=... 标志。
  3. 运行 devvit logs 并捕获输出。
  4. 在收到第一批输出后或 5 秒后(以先发生者为准)自动退出。

用法

node ./scripts/devvit-logs.cjs <subreddit> [app-name] [--since=1h]

脚本路径相对于此技能所在目录。

参数:

  • subreddit - 必填。要从中流式传输日志的 subreddit。
  • app-name - 可选。如果要从其他文件夹流式传输日志,则填写应用名称。
  • --since=Xd - 可选。历史日志时间范围(例如:--since=30m、--since=1d)。

示例:

node ./scripts/devvit-logs.cjs my-subreddit
node ./scripts/devvit-logs.cjs my-subreddit my-app --since=1h

输出

{
  "ok": true,
  "reason": "timeout",
  "exitCode": null,
  "signal": null,
  "stdout": "=============================== streaming logs for my-app on my-subreddit ================================\n[DEBUG] Dec 8 15:55:23 Action called!",
  "stderr": ""
}

向用户展示结果

  • 如果用户未提供 subreddit,请明确询问。
  • 总结捕获到的日志(如有),并说明 5 秒的捕获窗口。
  • 如果没有捕获到日志,请说明这一点,并建议在有活动时重试或使用 --since=...。

故障排查

  • 未找到 Devvit CLI:安装 devvit,或确保 devvit 位于 PATH 中。
  • 尚未登录:运行 devvit login 并重试。
  • 没有日志:在应用中触发一个操作,或使用 --since=...。
  • 权限错误:确认应用已安装在该 subreddit 中,并且你有访问权限。

评论

支持 Markdown