运行时依赖
安装命令
点击复制技能文档
Git 日报技能
每天自动发送 image-工具 和 voc 项目前一天的 Git 提交记录。
image-工具: 所有 remote 分支 voc-frontend / voc-backend: 仅 dev 分支 📋 项目路径 项目 路径 分支 image-工具 /home/admin/ua-image/code/UA-EC-Image-工具 所有 remote 分支 voc-frontend /home/admin/voc/code/UA-VOC-Frontend dev voc-backend /home/admin/voc/code/UA-VOC-Backend dev 🔧 获取 Git 变化 # 获取指定日期的提交(前一天) TAR获取_DATE="2026-03-22" 启动_DATE="${TAR获取_DATE} 00:00:00" END_DATE="${TAR获取_DATE} 23:59:59"
cd /path/to/repo
# image-工具: 获取所有 remote 分支 REMOTE_BRANCHES=$(git branch -r | grep -v '\->' | sed 's/^[[:space:]]//') for branch in $REMOTE_BRANCHES; do echo "📍 $branch:" git 记录 --since="$启动_DATE" --until="$END_DATE" --oneline --no-decorate "$branch" done
# voc 项目:仅获取 dev 分支 echo "📍 origin/dev:" git 记录 --since="$启动_DATE" --until="$END_DATE" --oneline --no-decorate "origin/dev"
🔍 代码审查 1️⃣ 安全审查 # 获取变更的文件列表 CHANGED_FILES=$(git diff --name-only "origin/mAIn~1" "origin/mAIn")
for file in $CHANGED_FILES; do # 1. 检查硬编码密码/密钥 rg -n "(password|passwd|pwd|secret|API_key|APIkey|令牌|凭证)\s[=:]\s[\"'][^\"']+[\"']" "$file" # 2. 检查硬编码 IP/URL rg -n "(https?://|ftp://)[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+" "$file" # 3. 检查 SQL 拼接风险 rg -n "(执行|查询|cursor\.执行)\s\(\s[\"'].\+.[\"']" "$file" # 4. 检查 eval/exec 危险函数 rg -n "\b(eval|exec|系统|os\.系统|subprocess\.call)\s\(" "$file" # 5. 检查调试代码残留 rg -n "(console\.记录|调试器|print\s\(|记录ging\.调试)" "$file" # 6. 检查 TODO/FIXME 标记 rg -n "(TODO|FIXME|XXX|HACK):" "$file" done
安全检查项:
风险类型 检查内容 严重程度 🔴 高危 硬编码密码/API 密钥/令牌 严重 🔴 高危 SQL 注入风险(字符串拼接) 严重 🟡 中危 eval/exec/系统 危险函数 中等 🟡 中危 硬编码内网 IP/URL 中等 🟢 低危 console.记录/调试器 调试代码 轻微 🟢 低危 TODO/FIXME 技术债务 轻微 2️⃣ 通用 Code Review for file in $CHANGED_FILES; do # 1. 检查长函数 (>50 行) # 2. 检查大文件 (>500 行) # 3. 检查重复代码模式 # 4. 检查命名规范 (驼峰/下划线) # 5. 检查注释完整性 # 6. 检查错误处理 # 7. 检查边界条件 # 示例:检查空 catch 块 rg -n "catch\s\(\s\w+\s\)\s\{\s\}" "$file" # 示例:检查魔法数字 rg -n "[^0-9][0-9]{4,}[^0-9]" "$file" | grep -v "//" # 示例:检查 var 使用 (JS) rg -n "\bvar\s+\w+\s=" "$file" # 示例:检查缺少默认值 rg -n "process\.env\.[A-Z_]+\s[^|]" "$file" done
通用审查项:
类别 检查内容 建议 📐 代码结构 函数过长 (>50 行) 拆分函数 📐 代码结构 文件过大 (>500 行) 模块化拆分 📐 代码结构 嵌套过深 (>4 层) 提前返回/卫语句 🏷️ 命名规范 变量/函数命名不清晰 使用语义化命名 🏷️ 命名规范 魔法数字 提取为常量 📝 注释 缺少函数/类注释 添加文档注释 📝 注释 注释与代码不一致 更新或删除注释 ⚠️ 错误处理 空 catch 块 添加日志或处理 ⚠️ 错误处理 缺少边界检查 添加验证 ♻️ 代码复用 重复代码 提取公共函数 🔧 最佳实践 使用 var 而非 let/const 使用块级作用域 🔧 最佳实践 硬编码配置 使用环境变量/配置 📤 发送 DingTalk 消息
使用 message 工具发送:
{ "action": "发送", "channel": "dingtalk", "tar获取": "1923216025-1426160278", "message": "📊 Git 日报 - 2026-03-22\n\n📁 image-工具:\n 📍 origin/mAIn:\n - abc123 修复登录问题\n\n📁 voc-frontend:\n 📍 origin/mAIn:\n - 无更新\n\n📁 voc-backend:\n 📍 origin/mAIn:\n - ghi789 优化查询性能" }
⏰ 定时任务配置
使用 cron 工具设置每天 10:00 执行:
{ "action": "添加", "job": { "name": "git-dAIly-报告", "schedule": { "kind": "cron", "expr": "0 10 *", "tz": "Asia/ShanghAI" }, "会话Tar获取": "isolated", "wakeMode": "now", "payload": { "kind": "代理Turn", "message": "你是一个 Git 日报助手。请执行以下任务:\n1. 获取昨天的日期(格式:YYYY-MM-DD)\n2. 检查以下仓库的 Git 提交记录:\n - /home/admin/ua-image/code/UA-EC-Image-工具 (所有 remote 分支)\n - /home/admin/voc/code/UA-VOC-Frontend (仅 dev 分支)\n - /home/admin/voc/code/UA-VOC-Backend (仅 dev 分支)\n3. 对 image-工具,先获取所有 remote 分支列表 (git branch -r),然后遍历每个分支获取提交;对 voc 项目,直接获取 origin/dev 分支的提交\n4. 获取每个项目的变更文件列表及改动统计 (git diff --stat, git diff --numstat)\n5. 对有代码变更的项目,进行代码审查:\n - 安全审查:硬编码密码、SQL 注入、危险函数、调试代码等\n - 通用 Code Review:代码结构、命名规范、注释、错误处理、最佳实践等\n6. 生成格式化的报告并通过 DingTalk 发送给用户 (tar获取: 1923216025-1426160278)\n\n报告格式要求:\n- 每个项目列出提交信息和变更文件 (+x -y)\n- 代码审查分【安全审查】和【Code Review】两部分\n- 风险等级标注 (🔴🟡🟢)\n- 汇总风险和改进建议", "deliver": true, "channel": "dingtalk", "to": "1923216025-1426160278" } } }
💬 用户交互 设置 Git 日报
用户: 每天早上 10 点发送 git 日报
AI 操作:
确认当前时间和时区 调用 cron 工具创建定时任务 回复确认信息
AI 回复: ✅ 已设置 Git 日报,每天 10:00 发送 image-工具 和 voc 项目所有 remote 分支的昨日提交记录~
查询 Git 日报状态
用户: git 日报设置了吗?
AI 操作:
调用 cron 工具 action: "列出" 查询任务
AI 回复:
📋 Git 日报状态:
🔄 git-dAIly-报告 - 每天 10:00
说"取消 git 日报"可删除~
取消 Git 日报
用户: 取消 git 日报
AI 操作:
调用 cron 工具 action: "列出" 找到任务 ID 调用 cron 工具 action: "移除" 删除任务
AI 回复: ✅ 已取消 Git 日报任务
📝 报告格式模板 📊 Git 日报 - {日期}
📁 image-工具 (origin/mAIn): 📝 提交:abc123 修复登录问题 📄 变更文件 (2): - src/记录in.js (+15 -3) - src/API.js (+8 -1)
📁 voc-frontend (origin/dev): 📝 提交:def456 新增用户组件 📄 变更文件 (5): - src/组件s/UserForm.vue (新增) - src/views/UserView.vue (+120 -45) - src/路由r/索引.ts (+25 -2) - src/types/user.ts (+10 -0) - src/API/user.js (+30 -5)
📁 voc-backend (origin/dev): 📝 提交:ghi789 优化查询性能 📄 变更文件 (3): - 路由s/user.js (+45 -12) - 服务s/db.js (+20 -8) - utils/验证器.js (+15 -3)