vet-cc-weekly-report
v1.0.5
Published
从 GitLab 提交记录自动生成中文工作周报,支持 **MCP 模式**(Claude Code 原生调用)和 **CLI 模式**(命令行直接运行)。
Readme
vet-cc-weekly-report
从 GitLab 提交记录自动生成中文工作周报,支持 MCP 模式(Claude Code 原生调用)和 CLI 模式(命令行直接运行)。
MCP 模式(推荐)
让 Claude Code 直接调用工具拿数据,自己分析生成周报,无需本地安装 claude CLI。
配置
第一步:全局安装(推荐,避免 npx 冷启动超时)
# 国内用户使用镜像
npm install -g vet-cc-weekly-report --registry https://registry.npmmirror.com
# 或使用官方源
npm install -g vet-cc-weekly-report第二步:编辑 ~/.claude.json,添加 MCP 配置:
{
"mcpServers": {
"gitlab-weekly-report": {
"command": "weekly-report-mcp",
"args": [],
"env": {
"GITLAB_URL": "https://gitlab.your-company.com",
"GITLAB_TOKEN": "glpat-xxxxxxxxxxxx",
"AUTHOR_EMAIL": "[email protected]",
"PROJECT_FILTER": "backend,api",
"USE_DIFF": "true"
}
}
}
}PROJECT_FILTER 和 USE_DIFF 为可选,不需要可删掉。也可以不在配置文件里写,直接在对话中通过工具参数传入。
为什么不用 npx? npx 每次冷启动需要重新下载包,Claude Code 的 MCP 连接超时为 30 秒,网络不稳定时容易超时失败。全局安装后直接调用二进制,启动即时。
使用
在 Claude Code 中直接对话:
帮我用 get_weekly_commits 获取本周提交记录,生成工作周报
帮我生成上周的周报,时间范围 2026-03-16 到 2026-03-22
只看 backend 相关项目,帮我整理本周的工作内容
工具参数:get_weekly_commits
| 参数 | 类型 | 说明 |
|------|------|------|
| since | string | 开始日期(YYYY-MM-DD),默认本周一 |
| until | string | 结束日期(YYYY-MM-DD),默认今天 |
| projects | string[] | 项目名关键词过滤(模糊匹配),留空取全部 |
| include_diff | boolean | 是否包含代码 diff,默认 false |
CLI 模式
命令行直接运行,自动调用本机 claude CLI 润色后写入文件。
前置条件
- Node.js 18+
- 本地已安装并登录
claudeCLI(即 Claude Code)
使用
1. 配置 .env
GITLAB_URL=https://gitlab.your-company.com
GITLAB_TOKEN=glpat-xxxxxxxxxxxx
[email protected]2. 运行
# 基于 commit message 生成
npx vet-cc-weekly-report
# 分析代码改动(commit message 随便写时推荐)
USE_DIFF=true npx vet-cc-weekly-report生成的周报保存到当前目录的 reports/ 文件夹,文件名格式:YYYY-MM-DD~YYYY-MM-DD.md。
环境变量
| 变量 | 必填 | 说明 |
|------|:----:|------|
| GITLAB_URL | ✓ | GitLab 实例地址,不带末尾 / |
| GITLAB_TOKEN | ✓ | Personal Access Token,需 read_api 权限 |
| AUTHOR_EMAIL | ✓ | 你的 GitLab 注册邮箱 |
| PROJECT_FILTER | - | 项目名过滤,逗号分隔,模糊匹配,如 backend,api |
| USE_DIFF | - | true 则分析代码改动而非 commit message |
| NO_AI | - | true 则跳过 AI 润色,输出原始记录 |
| DATE_START | - | 自定义开始日期,如 2026-03-17 |
| DATE_END | - | 自定义结束日期,如 2026-03-23 |
获取 GitLab Token
GitLab → 右上角头像 → Preferences → Access Tokens → 新建,勾选 read_api 权限。
输出示例
## 本周工作总结
**后端服务 / user-service**
- 完成用户权限模块重构,将角色校验逻辑统一收敛至中间件层,消除各接口重复判断
- 修复登录态过期时并发请求导致的 Token 刷新竞态问题
**前端 / dashboard**
- 实现数据大屏实时刷新功能,基于 WebSocket 替换原有轮询方案,降低服务端压力
- 优化首屏加载性能,通过路由懒加载将初始包体积减少 40%