用途:把 Basecamp 的项目活动或个人活动抓取为按天缓存的 JSON 数据,供 recap 插件使用。支持两种范围:--project 抓取某项目内全部事件,--person 抓取某用户的全部活动。
主要能力与用法: 调用形式: /recap:basecamp-activity --project 43483623 --since 2026-03-23 /recap:basecamp-activity --project 43483623 --since 2026-03-23 --until 2026-03-30 --reuse /recap:basecamp-activity --person "Jeremy Daer" --since 2026-03-23 参数:--project 与 --person 二选一;--since 必填(YYYY-MM-DD);--until 可选,默认今天;--reuse 可选,缓存存在且标记完整时跳过抓取。
输出与缓存:每个 activity.json 含 scope、date、events、metadata(complete、count)。缓存路径为 ~/.cache/recap/basecamp-project/{id}/{YYYY-MM-DD}/activity.json 或 ~/.cache/recap/basecamp-person/{slug}/{YYYY-MM-DD}/activity.json。
特性:幂等,相同输入产生相同输出;按天缓存;识别限流,遇 429 自动指数退避重试。
快速运行示例(按原样保留命令): basecamp auth status | jq -e '.data.authenticated' || { echo "Run: basecamp auth login"; exit 1; } SINCE=$(date -d "7 days ago" +%Y-%m-%d); UNTIL=$(date +%Y-%m-%d) "$SKILL_DIR/scripts/basecamp-activity.sh" --project 43483623 --since "$SINCE" --until "$UNTIL" ls ~/.cache/recap/basecamp-project/43483623/
前置条件:已安装并认证 basecamp CLI(basecamp auth login)、jq、curl。
限制与失败处理:未认证需重新登录;缺少配置需 basecamp config setup;限流由脚本自动退避;范围内无事件属正常,空天也会缓存为完整;HTTP 404 通常是项目 ID 错误,需在 Basecamp URL 中核对。费用、价格、平台支持范围等资料暂未提供。