研发日报¶
基于 git-contribution-stats 的每日研发贡献报告,通过 repo-scanner MCP → Hermes skill → 飞书推送。
架构¶
git-contribution-stats/ (独立仓库)
├── scripts/collect.py ← 每日采集 35 仓库 GitHub + GitCode 提交
├── core/report.py ← 日报数据查询
└── docker/mcp-server/ ← MCP server (build context for repo-scanner-mcp)
│
▼
repo-scanner-mcp (容器, port 8001)
3 个 MCP tools: get_daily_report, query_commits, query_authors
│
▼
Hermes daily-dev-report skill
→ DeepSeek LLM 润色
→ 飞书私聊推送
调度¶
| 时间 | 任务 | 方式 |
|---|---|---|
| 07:45 | git-contribution-stats 采集 | launchd |
| 07:55 | Hermes cron 推送日报 | 容器内 Hermes cron |
常用命令¶
# 查看日报数据(必须带 readonly=True —— 容器里 /data 是只读挂载,
# 默认的 daily_report_as_dict() 会执行 PRAGMA journal_mode=WAL 而报
# "unable to open database file";MCP server 自己也是用 readonly=True 调的)
docker compose exec repo-scanner-mcp python3 -c "from core.report import daily_report_as_dict; print(daily_report_as_dict(readonly=True))"
# 查看 MCP 连接
docker compose exec hermes /opt/hermes/.venv/bin/hermes mcp list | grep repo-scanner
# 查看 Hermes cron 状态
docker compose exec hermes /opt/hermes/.venv/bin/hermes cron list | grep daily-dev
# 手动推送测试
cat /tmp/report.txt | docker compose exec -T hermes python3 /opt/hermes-skills/daily-dev-report/tools/send_card.py
数据来源¶
git-contribution-stats 采集 35 个仓库(15 个 GitHub + 20 个 GitCode,见 configs/repos.toml),数据存储在 ~/.myagentdata/repo-scanner/repos.sqlite(只读挂载到 repo-scanner-mcp 容器)。