保研信息自动化跟踪系统
自动化跟踪保研信息,不错过任何机会
❌ 学生手动查看保研信息仓库更新,容易遗漏招生和实习机会,信息获取不及时
✅ 自动监控仓库更新,按时间和专业筛选保研信息,及时推送相关机会
- ✓监控GitHub仓库CSLabInfo2025的实时更新
- ✓按专业领域筛选计算机、生物医学工程、电子信息
- ✓时间窗口过滤避免重复推送和过期信息
- ✓完全静默机制,无更新时绝不骚扰用户
👁 3 views · 📦 0 installs
Install in one line
CLI$ mfkvault install tkzzzzzz6-baoyan-info-trackerRequires the MFKVault CLI. Prefer MCP?
Free to install — no account needed
Copy the command below and paste into your agent.
Instant access • No coding needed • No account needed
What you get in 5 minutes
- Full skill code ready to install
- Works with 4 AI agents
- Lifetime updates included
Run this helper
Answer a few questions and let this helper do the work.
▸Advanced: use with your AI agent
Description
--- name: 保研信息自动化跟踪-保包 description: | 监控GitHub仓库CS-BAOYAN/CSLabInfo2025的更新,跟踪计算机、生物医学工程、电子信息专业的保研招生和实习信息,通过时间过滤避免重复推送。 【重要原则】:没有新的更新或不满足条件时,绝对不能发送任何消息推送,必须完全静默。 --- ## 核心任务 监控目标仓库 `CS-BAOYAN/CSLabInfo2025` 的实时更新,筛选符合条件的保研情报并推送。 ## 最高原则 **【绝对禁止】没有新的更新或不满足时间窗口条件时,必须完全静默,不能发送任何消息!** ## 环境配置 **必需工具**:`git`、`gh`、`jq` **环境变量**: - `REPO_DIR`:仓库本地路径(默认:`$HOME/CSLabInfo2025`) - `TRACKER_DIR`:数据存储目录(默认:`$HOME/baoyan-tracker/data`) - `WATERMARK_FILE`:水位线文件(默认:`$TRACKER_DIR/watermark`) - `LOG_FILE`:审计日志文件(默认:`$TRACKER_DIR/llog`) ## 执行流程 ### 1. 初始化环境 ```bash # 创建数据目录 mkdir -p "$TRACKER_DIR" # 初始化水位线(如果不存在) if [ ! -f "$WATERMARK_FILE" ]; then date -u +"%Y-%m-%dT%H:%M:%SZ" > "$WATERMARK_FILE" fi # 克隆或更新仓库 if [ ! -d "$REPO_DIR/.git" ]; then git clone https://github.com/CS-BAOYAN/CSLabInfo2025.git "$REPO_DIR" else cd "$REPO_DIR" && git pull origin main fi ``` ### 2. 检查最新Commit(早退机制) ```bash cd "$REPO_DIR" # 获取最新commit时间 LATEST_COMMIT=$(git log -1 --format="%ct" main) CURRENT_TIME=$(date +%s) WATERMARK=$(cat "$WATERMARK_FILE" | xargs date -u +"%s" 2>/dev/null || echo 0) # 检查是否在1小时窗口内 COMMIT_AGE=$((CURRENT_TIME - LATEST_COMMIT)) if [ $COMMIT_AGE -le 3600 ] && [ $LATEST_COMMIT -gt $WATERMARK ]; then # 早退:推送commit摘要 COMMIT_HASH=$(git log -1 --format="%h" main) COMMIT_MSG=$(git log -1 --format="%s" main) COMMIT_AUTHOR=$(git log -1 --format="%an" main) CHANGED_FILES=$(git diff --name-only HEAD~1 HEAD) echo "Found new commit on main branch." echo "Commit: $COMMIT_HASH" echo "Author: $COMMIT_AUTHOR" echo "Message: $COMMIT_MSG" echo "Changed files:" echo "$CHANGED_FILES" | sed 's/^/ /' # 更新水位线 date -u +"%Y-%m-%dT%H:%M:%SZ" > "$WATERMARK_FILE" # 记录审计日志 echo "[$(date +"%Y-%m-%d %H:%M:%S")] Status: CommitEarlyExit (New commit detected within 1h window)" >> "$LOG_FILE" exit 0 fi ``` ### 3. 获取并筛选PR ```bash cd "$REPO_DIR" WATERMARK=$(cat "$WATERMARK_FILE") CURRENT_TIME=$(date +%s) # 获取最近更新的PR(最多50个) gh pr list --repo CS-BAOYAN/CSLabInfo2025 --limit 50 --state open --json number,title,updatedAt > /tmp/prs.json # 筛选PR CANDIDATES=() while IFS= read -r pr; do PR_UPDATED=$(echo "$pr" | jq -r '.updatedAt' | xargs date -u +"%s" 2>/dev/null || echo 0) WATERMARK_TS=$(date -u -d "$WATERMARK" +"%s" 2>/dev/null || echo 0) # PR静默窗口:1小时内不推送 PR_AGE=$((CURRENT_TIME - PR_UPDATED)) if [ $PR_AGE -ge 3600 ] && [ $PR_UPDATED -gt $WATERMARK_TS ]; then CANDIDATES+=("$pr") fi done < <(jq -c '.[]' /tmp/prs.json) ``` ### 4. 处理候选PR ```bash HIT_COUNT=0 for pr in "${CANDIDATES[@]}"; do PR_NUMBER=$(echo "$pr" | jq -r '.number') PR_TITLE=$(echo "$pr" | jq -r '.title') # 输出结果 echo "Result: PR#${PR_NUMBER} | Title: ${PR_TITLE}" HIT_COUNT=$((HIT_COUNT + 1)) done ``` ### 5. 记录审计日志 ```bash SCANNED=$(jq '. | length' /tmp/prs.json 2>/dev/null || echo 0) CANDIDATE_COUNT=${#CANDIDATES[@]} FILTERED=$((SCANNED - CANDIDATE_COUNT)) if [ $HIT_COUNT -gt 0 ]; then echo "[$(date +"%Y-%m-%d %H:%M:%S")] 扫描PR数: ${SCANNED} | 候选PR数: ${CANDIDATE_COUNT} | 命中: ${HIT_COUNT} | 过滤干扰项: ${FILTERED}" >> "$LOG_FILE" # 更新水位线 date -u +"%Y-%m-%dT%H:%M:%SZ" > "$WATERMARK_FILE" else echo "[$(date +"%Y-%m-%d %H:%M:%S")] Status: Idle (No relevant updates)." >> "$LOG_FILE" fi ``` ## 时间窗口规则 - **Commit早退窗口**:1小时(3600秒)- 最新commit在1小时内且新于水位线才推送 - **PR静默窗口**:1小时(3600秒)- PR更新后1小时内不推送 - **水位线机制**:记录上次扫描时间,实现增量扫描 ## 输出格式 ### Commit早退路径 ``` Found new commit on main branch. Commit: <hash> Author: <author> Message: <message> Changed files: <file1> <file2> ``` ### PR处理路径 ``` Result: PR#<编号> | Title: <PR标题> ``` ### 审计日志 ``` [YYYY-MM-DD HH:MM:SS] 扫描PR数: N | 候选PR数: C | 命中: H | 过滤干扰项: Z [YYYY-MM-DD HH:MM:SS] Status: Idle (No relevant updates). [YYYY-MM-DD HH:MM:SS] Status: CommitEarlyExit (New commit detected within 1h window) ```
Security Status
Scanned
Passed automated security checks
Related AI Tools
More Career Boost tools you might like
ru-text — Russian Text Quality
FreeApplies professional Russian typography, grammar, and style rules to improve text quality across content types
/forge:工作流总入口
Free'Forge 工作流总入口。检查项目状态,推荐下一步该用哪个 skill。任何时候不知道下一步该干什么,就用 /forge。触发方式:用户说"forge"、"下一步"、"接下来做什么"、"继续"(在没有明确上下文时)。'
TypeScript React & Next.js Production Patterns
FreeProduction-grade TypeScript reference for React & Next.js covering type safety, component patterns, API validation, state management, and debugging
Charles Proxy Session Extractor
FreeExtracts HTTP/HTTPS request and response data from Charles Proxy session files (.chlsj format), including URLs, methods, status codes, headers, request bodies, and response bodies. Use when analyzing captured network traffic from Charles Proxy debug
Java Backend Interview Simulator
FreeSimulates realistic Java backend technical interviews with customizable interviewer styles and candidate levels for Chinese tech companies
AI News & Trends Intelligence
FreeFetches latest AI/ML news, trending open-source projects, and social media discussions from 75+ curated sources for comprehensive AI briefings