Job Hunting Hub - 求职全流程管理
依赖说明
本技能依赖以下技能,执行时会自动加载:
| 依赖技能 | 用途 | 必需 |
|----------|------|------|
| docx | 生成Word格式简历(.docx) | ✅ 必需 |
| excel_master | 维护投递记录表(.xlsx) | ✅ 必需 |
| tianyancha-cn | 企业信息查询(天眼查/企查查/爱企查) | ✅ 推荐 |
| pdf | 生成PDF格式简历 | ⭕ 可选 |
| topic_tracking | 公司信息实时追踪 | ⭕ 可选 |
⚠️ 执行此技能前,请确保已安装
docx、excel_master和tianyancha-cn技能。
tianyancha-cn 技能说明
企业信息查询技能,支持:
- 🏢 企业基本信息(注册资本、成立时间、法人等)
- 👥 股东/高管信息
- 📊 财务数据
- ⚖️ 法律风险
- 📈 经营状况
何时使用
- 用户需要整理个人经历、构建简历素材库
- 用户有JD需要匹配,想生成针对性简历
- 用户想查询目标公司的公开信息
- 用户想管理和跟踪投递进度
- 用户说"帮我找工作"、"准备简历"、"分析这个JD"、"查一下这家公司"等
核心功能模块
模块一:简历知识库构建
功能说明
将用户的所有工作相关经历系统化存储,形成可复用的简历素材库。支持自动模块化存储和标签管理。
知识库目录结构
./简历知识库/
├── 个人优势.md # 核心竞争力总结
├── 技能清单.md # 技术技能、软技能等
├── 工作经历/
│ ├── 公司A_职位.md
│ └── 公司B_职位.md
├── 项目经历/
│ ├── 项目名称A.md
│ └── 项目名称B.md
├── 教育背景.md
├── 证书资质.md
├── 其他亮点.md # 爱好、志愿活动等可写入简历的内容
└── 索引.md # 全局标签索引,快速定位素材
信息录入流程
步骤1:询问用户要录入的内容类型
- 个人优势
- 技能清单
- 工作经历
- 项目经历
- 教育背景
- 证书资质
- 其他亮点
步骤2:引导用户提供详细信息 根据不同类型,采集关键字段:
| 类型 | 关键字段 | |------|----------| | 工作经历 | 公司、职位、时间、职责、成果、技术栈、团队规模 | | 项目经历 | 项目名、角色、时间、背景、挑战、方案、成果、技术栈 | | 技能 | 技能名、熟练度、使用年限、应用场景 | | 个人优势 | 优势描述、支撑案例 |
步骤3:结构化存储
- 创建对应的md文件
- 使用标准模板格式(见templates/目录)
- 在文件头部添加标签:
--- tags: [后端, Java, 分布式, 高并发] related_jd_keywords: [Java开发, 架构师, 技术专家] highlight_level: high # high/medium/low ---
步骤4:更新索引
在 索引.md 中维护全局标签索引,便于快速检索。
步骤5:同步到记忆(重要!)
将录入的关键信息同步写入 MEMORY.md:
- 工作经历 → 更新「工作经历索引」表
- 项目经历 → 更新「项目经历索引」表
- 技能清单 → 更新「核心技能标签」
- 求职偏好 → 更新「求职偏好」部分
⚠️ 必须执行此步骤,否则跨会话将无法回忆用户信息!
标签体系
- 职能标签:后端/前端/产品/运营/设计/数据分析...
- 技能标签:Java/Python/React/SQL/Figma...
- 行业标签:电商/金融/教育/医疗...
- 亮点标签:高并发/团队管理/从0到1/大厂经验...
模块二:JD智能匹配
功能说明
根据用户提供的JD,自动从简历知识库中提取最匹配的经历和技能,生成针对性的简历。
JD匹配流程
步骤1:解析JD 提取JD中的关键信息:
- 岗位名称
- 必备技能(must-have)
- 加分技能(nice-to-have)
- 工作年限要求
- 学历要求
- 行业偏好
- 核心职责
- 加分项
输出格式:
## JD解析结果
**岗位**:高级Java开发工程师
**年限要求**:3-5年
**学历要求**:本科及以上
### 必备技能
- Java/JVM
- Spring全家桶
- MySQL
- 分布式系统
### 加分项
- 高并发经验
- 金融行业背景
- 团队管理经验
### 核心职责
1. 负责核心系统架构设计
2. 指导团队成员技术成长
3. 解决技术难题
步骤2:知识库匹配 根据JD关键词,从知识库中检索匹配度最高的素材:
- 扫描所有文件的tags和相关关键词
- 计算 match_score(匹配分数)
- 按 highlight_level 和 match_score 排序
步骤3:生成针对性简历 根据匹配结果,生成简历文档:
- 文件命名:
简历_{公司名}_{岗位名}_{日期}.md - 存放路径:
./简历输出/
简历生成原则:
- 相关性优先:只展示与JD高度相关的经历
- 亮点前置:最匹配的经历放前面
- 数据量化:强调可量化的成果
- 关键词命中:确保JD中的关键词在简历中出现
- 篇幅控制:根据JD复杂度调整篇幅,一般1-2页
步骤4:输出匹配报告
## 匹配报告
**匹配度**:85%
### 优势匹配
✅ Java开发经验(5年)- JD要求3-5年
✅ 分布式系统设计经验 - JD核心要求
✅ 高并发项目经验 - JD加分项
### 部分匹配
⚠️ 金融行业背景 - 有互联网金融经验,非传统金融
### 缺失项
❌ 团队管理经验 - JD提及但简历库无此素材
步骤5:更新投递记录表 将匹配度录入投递记录表中对应公司的行:
- 更新「简历匹配度」字段
- 更新「简历版本」字段
步骤6:AI筛选优化检测 进入「模块三:AI筛选优化」流程,确保简历能通过ATS筛选。
模块三:AI筛选优化
背景说明
越来越多的公司使用ATS(Applicant Tracking System)或AI系统进行简历初筛。据统计,约75%的简历在到达HR手中之前就被ATS过滤掉了。了解AI筛选机制,针对性优化简历,是提高通过率的关键。
AI筛选简历的常见机制
1. 关键词匹配(权重最高)
- 系统扫描JD中的关键词,检查简历中是否出现
- 匹配度 = 简历命中关键词数 / JD关键词总数
- 关键:技能名词、工具名称、行业术语必须准确命中
2. 技能权重评分
- 不同技能权重不同(必备技能 > 加分技能)
- 计算加权得分,低于阈值的简历被淘汰
- 关键:必备技能必须明确写出
3. 经验年限验证
- 检查工作经历的时间跨度
- 与JD要求对比,不符合的直接过滤
- 关键:时间线清晰,总年限达标
4. 格式解析能力
- ATS需要正确解析简历内容
- 复杂格式(表格、图片、双栏)可能导致解析失败
- 关键:格式简洁,避免花哨排版
5. 语义理解(高级AI)
- 部分AI会理解上下文,判断经历真实性
- 识别"包装"过度或夸大的表述
- 关键:表述真实、具体、可验证
AI友好简历优化指南
优化原则一:关键词覆盖
操作方法:
- 提取JD中的所有关键词(技能、工具、方法论、行业术语)
- 确保每个必备关键词在简历中出现至少1次
- 加分关键词尽量出现
示例:
JD要求:熟悉Java、Spring Boot、MySQL、Redis,有分布式系统经验
❌ 差简历:
"有后端开发经验,熟悉主流技术栈"
✅ 好简历:
"5年Java开发经验,熟练使用Spring Boot框架,深入理解MySQL索引优化和Redis缓存策略,主导过分布式交易系统的设计与开发"
技巧:
- 使用JD原文的表述(如"Spring Boot"而非"Spring全家桶")
- 关键词自然融入经历描述,不要堆砌
- 技能清单单独列出,方便AI抓取
优化原则二:格式简洁可解析
推荐格式:
个人简历.docx / 个人简历.pdf(纯文本版)
结构:
1. 个人信息(姓名、联系方式)
2. 个人优势/职业总结(3-5条)
3. 技能清单(分类列出)
4. 工作经历(倒序)
5. 项目经历
6. 教育背景
7. 其他(证书、语言能力)
避免:
- ❌ 表格嵌套表格
- ❌ 双栏/多栏布局
- ❌ 图片、图标、装饰元素
- ❌ 特殊字体、颜色
- ❌ 头像(除非明确要求)
- ❌ 页眉页脚放重要信息
原因:这些元素可能导致ATS解析错误或丢失内容。
优化原则三:技能表述标准化
使用行业通用术语: | 建议写法 | 避免写法 | |----------|----------| | Java、Spring Boot、MyBatis | 后端框架 | | MySQL、PostgreSQL | 数据库 | | Redis、Memcached | 缓存 | | Docker、Kubernetes | 容器化 | | 微服务架构 | 分布式 |
技能等级表述:
- 精通:5年+实战经验,能解决复杂问题
- 熟练:3-5年经验,独立完成开发
- 熟悉:1-3年经验,基本使用
- 了解:有接触,能看懂代码
优化原则四:量化成果
AI更容易识别带数字的成果:
❌ 模糊表述:
"负责系统优化,提升了性能"
✅ 量化表述:
"主导核心交易系统优化,将接口响应时间从800ms降至50ms,QPS从1000提升至10000,支撑双11峰值流量"
量化维度:
- 性能:响应时间、QPS、吞吐量
- 业务:用户数、GMV、转化率
- 团队:管理人数、项目规模
- 成本:节省资源、降本幅度
优化原则五:关键词密度合理
避免两个极端:
- ❌ 关键词过少:匹配度低,被过滤
- ❌ 关键词堆砌:被AI识别为作弊
合理密度:
- 核心技能词出现2-3次(不同上下文)
- 相关技能词出现1次即可
- 自然融入,不是生硬罗列
优化原则六:时间线完整
ATS会验证:
- 工作经历是否连续
- 空窗期是否过长
- 总年限是否符合要求
建议:
- 所有经历按时间倒序列出
- 空窗期可标注(如"学习充电"、"创业探索")
- 每段经历明确起止年月
简历AI检测工具
生成简历后,可使用以下工具自检:
关键词覆盖检测:
- 将简历和JD文本对比
- 输出关键词覆盖率和缺失关键词列表
- 给出补充建议
格式可解析性检测:
- 检查简历格式是否符合ATS规范
- 提示可能解析失败的部分
- 给出格式优化建议
匹配度预评分:
## 简历AI检测报告
### 关键词覆盖率
- 必备技能:5/6 (83%) ⚠️ 缺少"Kubernetes"
- 加分技能:3/4 (75%)
- 行业术语:2/2 (100%)
### 格式检测
✅ 格式简洁,易于解析
✅ 无复杂表格和图片
⚠️ 建议:将技能清单移到工作经历之前
### 预估匹配得分:78/100
### 建议:
1. 补充Kubernetes相关经历
2. 在项目经历中增加分布式系统的具体描述
与JD匹配功能的联动
当用户使用「JD匹配」功能生成简历时,自动执行AI优化:
步骤5:AI筛选优化检测
- 关键词覆盖分析 → 提示缺失关键词
- 格式规范检查 → 生成ATS友好版本
- 输出优化建议 → 用户确认后修改
步骤6:生成多格式简历
使用 docx 和 pdf 技能生成多种格式:
| 格式 | 文件名 | 用途 | 使用技能 |
|------|--------|------|----------|
| Markdown | 简历_公司_岗位.md | AI可读,后续处理 | 原生支持 |
| Word | 简历_公司_岗位.docx | 投递给HR | docx |
| PDF | 简历_公司_岗位.pdf | 投递/打印 | pdf |
⚠️ 生成Word和PDF版本需要依赖
docx和
模块四:公司信息查询
功能说明
查询目标公司的公开信息,帮助用户做出更明智的求职决策。查询结果会自动录入投递进度表。
查询维度
基础信息
- 公司全称、成立时间、注册资本
- 法人代表、股东结构
- 公司性质(国企/民企/外企/合资)
- 员工规模
融资信息
- 融资轮次、金额、时间
- 投资方背景
- 估值情况
- 上市状态及交易所
业务信息
- 主营业务、行业分类
- 核心产品/服务
- 技术优势/特点(技术栈、技术亮点)
- 业务发展趋势
口碑信息
- 员工评价(看准网、脉脉等)
- 行业口碑
- 风险提示(法律诉讼、经营异常等)
查询流程
步骤1:确认公司名称
- 用户提供的公司名可能不完整,先确认准确的公司全称
- 如果有歧义,列出可能的选项让用户确认
步骤2:调用企业查询技能
优先使用 tianyancha-cn 技能查询企业信息:
技能调用:tianyancha-cn
查询参数:{公司名}
返回数据:企业基本信息、股东高管、财务数据、法律风险、经营状况
tianyancha-cn 技能支持:
- 天眼查 API(数据质量高,需API Token)
- 企查查 API(数据质量高,需API Token)
- 爱企查(免费,无API,需网页查询)
💡 如果没有API Token,可使用
topic_tracking技能配合search_web获取公开信息。
配合 search_web 工具补充查询:
{公司名} 技术栈或{公司名} 技术团队{公司名} 员工评价{公司名} 最新动态
步骤3:信息整合 将查询结果整合成结构化报告:
## 公司调研报告:XX科技有限公司
### 基础信息
- **成立时间**:2018年
- **注册资本**:5000万
- **公司性质**:民营
- **员工规模**:500-1000人
### 融资情况
- **融资状态**:C轮
- 2023年 C轮 2亿美元 红杉资本领投
- 2021年 B轮 5000万美元
- 当前估值:约10亿美元
### 业务信息
- **核心业务**:企业级SaaS服务
- **技术优势**:微服务架构、云原生技术栈、AI赋能
- 业务稳定增长,年营收约3亿
### 口碑评价
- 技术团队氛围好
- 产品竞争力强
- 加班情况适中
### 风险提示
- 无重大风险记录
步骤4:存档
将报告保存到 ./公司信息/{公司名}.md
步骤5:自动录入投递记录表(重要!) 提取关键信息,自动在投递记录表中创建一行记录:
| 字段 | 录入内容 | |------|----------| | 公司名称 | {公司名} | | 成立时间 | {成立年份} | | 注册资金 | {注册资本} | | 公司规模 | {员工规模} | | 公司性质 | {国企/民企/外企} | | 融资/上市状态 | {融资轮次/上市情况} | | 核心业务 | {主营业务} | | 技术优势/特点 | {技术亮点} | | 状态 | 待投递 |
⚠️ 必须执行此步骤,确保投递记录表与公司查询联动!
步骤6:询问用户意图 询问用户是否要投递该公司:
- 如果是 → 进入JD匹配流程
- 如果否 → 记录保留,后续可随时投递
模块五:投递进度管理
功能说明
自动生成并维护投递进度表格,帮助用户系统化管理求职进度。包含公司基础信息、匹配度评估、投递状态跟踪。
技能依赖
本模块依赖 excel_master 技能进行Excel表格操作:
- 创建投递记录表(.xlsx格式)- 首次使用时自动生成
- 自动录入公司信息
- 更新匹配度和状态
- 生成统计报表
⚠️ 执行前请确保已安装
excel_master技能。 📝 投递记录表会在首次使用时动态创建,无需预先准备模板文件。
数据存储结构
主表格:./投递进度/投递记录表.xlsx
| 字段分组 | 字段名 | 说明 | 数据来源 | |----------|--------|------|----------| | 基础信息 | 序号 | 自动编号 | 系统生成 | | | 公司名称 | 目标公司 | 用户输入 | | | 岗位名称 | 投递岗位 | 用户输入 | | | 投递日期 | 提交申请的日期 | 自动记录 | | | 渠道 | 投递渠道 | 用户选择 | | 公司信息 | 成立时间 | 公司注册年份 | 查询公司时自动录入 | | | 注册资金 | 注册资本 | 查询公司时自动录入 | | | 公司规模 | 员工人数规模 | 查询公司时自动录入 | | | 公司性质 | 国企/民企/外企/合资 | 查询公司时自动录入 | | | 融资/上市状态 | A轮/B轮/已上市等 | 查询公司时自动录入 | | | 核心业务 | 主营业务方向 | 查询公司时自动录入 | | | 技术优势/特点 | 公司技术亮点 | 查询公司时自动录入 | | 匹配与进度 | 简历匹配度 | JD与简历匹配百分比 | 生成简历时智能计算 | | | 状态 | 当前投递状态 | 用户更新 | | | 面试轮次 | 面试进度 | 用户更新 | | | 下一步 | 下一步行动 | 用户/系统生成 | | 其他 | 简历版本 | 使用的简历文件名 | 系统记录 | | | 备注 | 其他信息 | 用户填写 |
简历匹配度计算
匹配度分为四个等级,自动标记颜色:
| 匹配度 | 等级 | 颜色标记 | 说明 | |--------|------|----------|------| | ≥85% | 高匹配 | 🟢 绿色 | 强烈建议投递 | | 70-84% | 良好匹配 | 🟡 浅绿 | 建议投递 | | 55-69% | 基本匹配 | 🟠 黄色 | 可以投递 | | <55% | 低匹配 | 🔴 红色 | 慎重考虑 |
投递状态说明
| 状态 | 说明 | 颜色标记 | |------|------|----------| | 待投递 | 已收集信息,未投递 | 白色 | | 已投递 | 已提交申请 | 🟡 黄色 | | 已回复 | HR已回复 | 🟢 浅绿 | | 面试中 | 正在面试流程 | 🔵 蓝色 | | 已offer | 已收到offer | 🟢 深绿 | | 已拒绝 | 用户拒绝offer | 🔴 深红 | | 已淘汰 | 未通过筛选 | ⚫ 灰色 |
进度更新流程
新增投递记录 当用户:
- 查询了公司信息
- 生成了针对性简历
- 明确表示要投递
自动创建记录:
| XX科技 | 高级Java开发 | 2024-03-15 | Boss直聘 | 简历_XX科技_Java_20240315.md | 已投递 | - | 等待回复 | - |
更新进度 用户说:
- "XX公司回复了"
- "明天二面"
- "拿到offer了"
- "这个不去了"
更新对应记录的状态字段。
统计报表
周报/月报 按用户设定的频率(每日/每周)生成统计:
## 求职进度周报(2024.03.11 - 2024.03.17)
### 整体数据
- 本周新增投递:5家
- 累计投递:23家
- 已回复:8家(回复率35%)
- 面试中:4家
- 已offer:1家
### 状态分布
| 状态 | 数量 | 占比 |
|------|------|------|
| 已投递待回复 | 15 | 65% |
| 已回复 | 8 | 35% |
| 面试中 | 4 | 17% |
| 已offer | 1 | 4% |
| 已淘汰 | 3 | 13% |
### 本周行动建议
1. 跟进XX科技、YY公司(投递超过7天无回复)
2. 准备下周二面试(ZZ公司二面)
3. 继续投递,目标行业:电商、金融科技
模块六:记忆同步持久化
功能说明
将用户录入的所有求职相关信息同步写入Agent的记忆系统(MEMORY.md),确保跨会话信息不丢失。即使文件系统发生变化,Agent也能通过记忆快速恢复用户背景。
为什么需要记忆同步?
痛点:
- 用户今天录入了工作经历,明天换个会话问"我有什么经历",Agent不知道
- 简历知识库文件可能被误删或迁移
- 需要快速回忆用户背景时,不用每次都读取文件
解决:
- 双重存储:文件系统(结构化) + 记忆系统(持久化)
- 跨会话可用:任何新会话都能通过memory_search找到用户背景
- 快速恢复:即使文件丢失,也能从记忆重建知识库
记忆存储结构
在 ./MEMORY.md 中维护以下结构:
## 求职信息摘要
### 个人背景
- **求职状态**:在职看机会 / 离职求职
- **目标岗位**:{目标岗位类型}
- **期望行业**:{行业偏好}
- **工作年限**:{总年限}
- **最高学历**:{学历}
### 核心技能标签
{技能1}、{技能2}、{技能3}...
### 工作经历索引
| 公司 | 职位 | 时间 | 核心亮点 |
|------|------|------|----------|
| XX公司 | 高级开发 | 2020-2024 | 高并发、分布式 |
| YY公司 | 开发工程师 | 2017-2020 | 从0到1搭建系统 |
### 项目经历索引
| 项目名 | 角色 | 核心成果 |
|--------|------|----------|
| 交易系统重构 | 技术负责人 | QPS提升10倍 |
| 新业务平台 | 核心开发 | 0到1上线 |
### 求职偏好
- **期望薪资**:{范围}
- **期望城市**:{城市}
- **期望公司类型**:大厂/创业公司/外企
- **不接受的**:{排除项}
### 投递进度摘要
- 最近投递:{最近投递的公司}
- 面试中:{当前面试的公司}
- 已offer:{已获得的offer}
同步触发时机
每次录入信息后,立即同步到记忆:
| 操作 | 记忆更新内容 | |------|--------------| | 录入工作经历 | 更新「工作经历索引」,添加技能标签 | | 录入项目经历 | 更新「项目经历索引」 | | 录入个人优势 | 更新「核心技能标签」 | | 录入求职偏好 | 更新「求职偏好」部分 | | 投递新公司 | 更新「投递进度摘要」 | | 面试状态变化 | 更新「投递进度摘要」 |
同步实现方式
方式一:追加式更新(推荐)
使用 edit_file 的 append 或 replace_one 模式,增量更新记忆:
# 伪代码示例
def sync_to_memory(info_type, content):
if info_type == "工作经历":
# 在工作经历索引表中追加一行
update_memory_table("工作经历索引", content)
# 更新技能标签(去重合并)
merge_skill_tags(content.skills)
方式二:定期全量同步 每次会话结束时,将知识库核心信息同步到记忆摘要。
记忆查询优先级
当用户询问个人背景时,按以下优先级获取信息:
- 优先查记忆:
memory_search("我的工作经历")- 快速、跨会话可用
- 再查文件:
read_file("./简历知识库/工作经历/")- 获取完整细节
- 兜底询问:如果都没找到,再问用户
示例流程
用户录入工作经历后:
Agent:
1. 创建文件:./简历知识库/工作经历/XX公司_高级开发.md
2. 更新记忆 MEMORY.md:
- 工作经历索引表追加一行
- 核心技能标签合并新标签
3. 告知用户:已录入并记住,以后不用再重复说
新会话用户问"我有什么工作经历":
Agent:
1. memory_search("工作经历")
2. 从记忆中找到索引,快速回复
3. 如需详情,再读取对应文件
文件结构
./简历知识库/ # 个人经历素材库
./简历输出/ # 生成的针对性简历
./公司信息/ # 查询过的公司报告
./投递进度/ # 投递管理表格和报表
./MEMORY.md # 记忆系统(求职信息摘要)
使用示例
示例1:录入工作经历
用户:帮我把上一份工作的经历录入一下
Agent:好的,请告诉我以下信息:
1. 公司名和职位
2. 工作时间
3. 主要职责
4. 主要成果(最好有数据)
5. 用到的技术栈
用户:...
Agent:已录入!
📁 文件:工作经历/XX公司_高级开发.md
🧠 记忆:已记住这段经历,以后不用再说了
🏷️ 标签:[后端, Java, 分布式]
示例2:JD匹配
用户:帮我看看这个JD,生成一份简历
[粘贴JD内容]
Agent:让我解析一下这个JD...
[输出JD解析结果]
正在从知识库匹配...
[输出匹配报告]
已生成简历:简历_XX科技_Java开发_20240315.md
匹配度85%,建议补充:团队管理经验
示例3:查询公司
用户:帮我查一下字节跳动
Agent:正在查询字节跳动的公开信息...
[输出公司调研报告]
已存档,要投递这家吗?
示例4:进度管理
用户:帮我统计一下这周的投递情况
Agent:生成周报...
[输出周报内容]
本周投递5家,回复率35%,建议继续投递。
注意事项
- 隐私保护:简历知识库中的个人信息仅存储在用户环境,不上传到任何外部服务器
- 数据安全:敏感信息(如具体薪资)不建议录入
- 定期备份:建议用户定期备份简历知识库目录
- 简历真实性:生成简历时确保内容基于真实经历,不虚构
- 信息时效性:公司信息查询结果有时效性,建议投递前刷新
- 记忆同步:每次录入信息后必须同步到记忆,确保跨会话可用
- 双重存储:文件+记忆双重保障,即使文件丢失也能从记忆恢复
Scan to contact