khlilo

Intern Radar v2.0.1.1(实习情报雷达)

2026-04-10
Python飞书 APILLMPlaywrightAPScheduler

实习JD处理智能助手,LLM 多维度评分筛选

自动从招聘平台爬取岗位,用 AI 多维度评分,高分岗位入库飞书多维表格并推送通知。也支持手动发送 URL / 截图到飞书机器人解析。

架构

┌─ 飞书 App(lark-cli WebSocket 长连接)────────────┐
│  用户发 URL / 截图 → 解析 → 评分 → 入库 → 卡片回执  │
└──────────────────────────────────────────────────────┘

┌─ 爬虫调度(APScheduler)──────────────────────────┐
│  定时抓取牛客/Boss 直聘 → trafilatura 抓 JD         │
│  → LLM 5 维评分 → 70 分以上入库 + 飞书推送          │
└──────────────────────────────────────────────────────┘

功能

  • 手动模式:飞书发 URL 或截图,自动解析评分入库
  • 自动模式:定时爬取牛客实习广场 / Boss 直聘,高分岗位自动推送飞书
  • 多 URL 解析:一条消息中多个链接逐个解析入库
  • 富文本支持:飞书 post 消息(含文字 URL + 图片混合)全部识别处理
  • 截图补链:截图模式自动提取职位名+城市,生成 Boss 直聘搜索链接
  • 多维度评分:技术视野 / 产品主导权 / 高杠杆投入率 / AI 杠杆 / 资产沉淀度
  • 70 分门槛:低于 70 分不入库不推送
  • 城市限制:默认仅限北京

多维度评分体系

每个岗位入库时按 5 个维度打分,加权计算综合匹配度:

| 维度 | 含义 | 评分标尺 | |------|------|---------| | Tech_Vision | 技术视野要求 | 80+ 大模型边界+Agentic Workflow / 60-79 方案选型 / 40-59 了解概念 / 40 纯业务 | | Product_Dominance | 产品业务主导权 | 80+ 独立主导敏捷验证闭环 / 60-79 有话语权 / 40-59 执行层 / 40 纯执行 | | Leverage_Ratio | 高杠杆投入率 | 80+ 策略/架构为主 / 60-79 创作执行各半 / 40-59 执行为主 / 30 纯重复 | | AI_Leverage | AI/自动化杠杆空间 | 80+ AI工具链解构复杂系统 / 60-79 部分自动化 / 40-59 少量辅助 / 40 纯人工 | | Asset_Sedimentation | 资产沉淀度 | 80+ 沉淀为方法论/作品集 / 60-79 部分可沉淀 / 40-59 难以复用 / 40 纯消耗 |

加权公式Tech×0.15 + Product×0.20 + Leverage×0.20 + AI×0.30 + Asset×0.15

Red_Flags 机制:检测到纯线性劳动、极度内卷、无产品话语权等警报信号时,分数上限 60。

字段 schema

| 字段 | 类型 | 说明 | |------|------|------| | 公司 | 文本 | 公司名称 | | 职位名称 | 文本 | 职位名称 | | 城市 | 文本 | 工作城市 | | 业务线 | 文本 | 业务线/产品线 | | 硬标签 | 文本 | 核心硬性技能(最多 5 个) | | 红旗项 | 文本 | 警报词汇(最多 3 个) | | 技术视野 | 数字 | 技术视野要求 0-100 | | 产品主导力 | 数字 | 产品业务主导权 0-100 | | 高杠杆投入率 | 数字 | 高杠杆投入率 0-100 | | AI杠杆 | 数字 | AI/自动化杠杆空间 0-100 | | 资产沉淀度 | 数字 | 资产沉淀度 0-100 | | 综合匹配度 | 数字 | 综合匹配度 1-100 | | 打击策略 | 文本 | 差异化包装策略 | | 核心短板 | 文本 | 核心短板分析 | | 投递网址 | 文本 | 岗位投递/搜索链接 | | 投递状态 | 单选 | 未投递 / 简历未通过 / 简历通过 / 一面通过 / 二面通过 / 三面通过 | | 备注 | 文本 | 人工备注 | | 创建时间 | 日期时间 | 创建时间 | | 原始输入 | 文本 | 原始输入(消息/图片名) |

使用

手动模式

发给机器人:

  • https://lagou.com/wn/jobs/12345678 → 解析网页
  • 一条消息多个 URL → 逐个解析入库
  • 富文本消息(含链接+图片混合)→ 全部识别处理
  • 任意招聘页截图 → vision 识别 + 自动补搜索链接
  • 纯聊天 → 回"没 URL,跳过"
  • LLM 判定与招聘无关 → 回"跳过"并附原因
  • 重复发送同一 URL → 自动去重,回复"已入库"

自动模式

启动后自动运行:

  • 启动时立即扫描一次
  • 之后每天定时扫描(默认早 9 点)
  • 支持多数据源:牛客直爬(无依赖)、Boss 直聘(需 Playwright)
  • 70 分以上岗位入库飞书表格 + 推送通知卡片到配置的群

项目链接

GitHub

Automatically crawl job postings from recruitment platforms, score them with AI across multiple dimensions, and push high-scoring positions to Lark Bitable with notifications. Also supports manually sending URLs/screenshots to a Lark bot for parsing.

Architecture

┌─ Lark App (lark-cli WebSocket long connection) ──────┐
│  User sends URL / screenshot → parse → score → store → card receipt │
└──────────────────────────────────────────────────────┘

┌─ Crawler Scheduler (APScheduler) ────────────────────┐
│  Scheduled crawl Nowcoder/Boss Zhipin → trafilatura fetches JD     │
│  → LLM 5-dimension scoring → 70+ score入库 + Lark push             │
└──────────────────────────────────────────────────────┘

Features

  • Manual Mode: Send URL or screenshot in Lark, auto-parse and score
  • Automatic Mode: Scheduled crawling of Nowcoder/Boss Zhipin, high-scoring positions auto-pushed to Lark
  • Multi-URL Parsing: Multiple links in one message parsed individually
  • Rich Text Support: Lark post messages (text URLs + images mixed) fully recognized
  • Screenshot Link Generation: Auto-extract job title + city from screenshots, generate Boss Zhipin search links
  • Multi-dimensional Scoring: Tech Vision / Product Dominance / Leverage Ratio / AI Leverage / Asset Sedimentation
  • 70-point Threshold: Below 70 not stored, not pushed
  • City Restriction: Beijing only by default

Multi-Dimensional Scoring System

Each position is scored on 5 dimensions with weighted composite matching:

| Dimension | Meaning | Scoring Scale | |-----------|---------|---------------| | Tech_Vision | Technical vision requirements | 80+ LLM boundaries + Agentic Workflow / 60-79 Solution selection / 40-59 Concept awareness / 40 Pure business | | Product_Dominance | Product/business decision power | 80+ Independent agile validation loop / 60-79 Has voice / 40-59 Execution layer / 40 Pure execution | | Leverage_Ratio | High-leverage input ratio | 80+ Strategy/architecture focused / 60-79 Creation-execution balanced / 40-59 Execution-focused / 30 Pure repetition | | AI_Leverage | AI/automation leverage space | 80+ AI toolchain解构 complex systems / 60-79 Partial automation / 40-59 Minor assistance / 40 Pure manual | | Asset_Sedimentation | Asset sedimentation value | 80+ Distills to methodology/portfolio / 60-79 Partially reusable / 40-59 Hard to reuse / 40 Pure consumption |

Weighted formula: Tech×0.15 + Product×0.20 + Leverage×0.20 + AI×0.30 + Asset×0.15

Red_Flags mechanism: When detecting pure linear labor, extreme involution, or lack of product decision power, score capped at 60.

Field Schema

| Field | Type | Description | |-------|------|-------------| | 公司 | Text | Company name | | 职位名称 | Text | Job title | | 城市 | Text | Work city | | 业务线 | Text | Business line | | 硬标签 | Text | Core hard skills (max 5) | | 红旗项 | Text | Warning signals (max 3) | | 技术视野 | Number | Tech vision 0-100 | | 产品主导力 | Number | Product dominance 0-100 | | 高杠杆投入率 | Number | Leverage ratio 0-100 | | AI杠杆 | Number | AI leverage 0-100 | | 资产沉淀度 | Number | Asset sedimentation 0-100 | | 综合匹配度 | Number | Composite match 1-100 | | 打击策略 | Text | Differentiation strategy | | 核心短板 | Text | Critical gap analysis | | 投递网址 | Text | Application URL | | 投递状态 | Select | Not applied / Resume rejected / Resume passed / Round 1 passed / Round 2 passed / Round 3 passed | | 备注 | Text | Manual notes | | 创建时间 | DateTime | Created at | | 原始输入 | Text | Raw input (message/image name) |

Usage

Manual Mode

Send to the bot:

  • https://lagou.com/wn/jobs/12345678 → Parse webpage
  • Multiple URLs in one message → Parse individually
  • Rich text messages (links + images mixed) → All recognized
  • Any recruitment page screenshot → Vision recognition + auto-generate search link
  • Plain chat → Reply "no URL, skip"
  • LLM determines unrelated to recruitment → Reply "skip" with reason
  • Duplicate URL → Auto-dedup, reply "already stored"

Automatic Mode

Runs automatically after startup:

  • Immediate scan on startup
  • Daily scheduled scan (default 9 AM)
  • Multiple data sources: Nowcoder direct crawl (no dependencies), Boss Zhipin (requires Playwright)
  • 70+ score positions stored to Lark table + push notification cards to configured group

Links

GitHub