Skill: 记录投递信息
使用前配置检查
每次执行前,先检查本文件是否仍包含以下占位符:
<YOUR_BASE_TOKEN><YOUR_TABLE_ID><YOUR_LARK_HOST>
如果任一占位符未替换,立即停止执行,并提示用户:
⚠️ 这个 Skill 还没有完成飞书配置,暂时不能写入投递记录。
请先完成以下步骤:
1. 在飞书多维表格中准备岗位追踪表。
2. 将本 Skill 中的 <YOUR_BASE_TOKEN> 替换为你的 Base app/base token。
3. 将 <YOUR_TABLE_ID> 替换为目标数据表 table id。
4. 将 <YOUR_LARK_HOST> 替换为你的飞书域名,例如 feishu.cn。
5. 完成飞书 CLI/API 授权,并确认当前账号有目标 Base 的读写权限。
6. 确认目标表已创建「公司、岗位、城市、目前状态、链接」等字段。
完成后再重新执行本 Skill。
适用表格
本 Skill 用于把招聘页面中的岗位信息写入飞书多维表格。
表格信息:
- app_token:
<YOUR_BASE_TOKEN> - table_id:
<YOUR_TABLE_ID>
触发方式
当用户说以下任意一种时,执行本 Skill:
- "帮我记录当前页面的投递信息"
- "记录这个岗位"
- "投完了,记一下"
第一步:登录检测
通过浏览器控制工具读取当前页面,判断是否已登录:
- 页面出现"登录"、"注册"、"Sign in"、"请先登录"等字样
- 或跳转到登录页
- 或页面关键内容无法读取
检测到未登录时,停下来提示:
⚠️ 检测到当前页面需要登录,请先在浏览器中完成登录。
登录完成后回到目标页面,再告诉我「继续」。
收到「继续」后重新读取页面。
第二步:判断页面类型
分支 A:单个岗位详情页
特征:页面包含一个职位名称、职位描述、任职要求等。
处理方式:直接提取该岗位信息,进入第三步。
分支 B:投递记录页 / 列表页
特征:页面包含多条岗位记录,每条有状态、时间等。
处理方式:
- 提取列表中的岗位名称、投递状态、城市等基础信息。
- 如缺少 JD,尝试跳转到职位列表页或岗位详情页补全。
- 展示候选岗位,请用户确认记录全部或指定序号。
分支 C:无法识别的页面
提示:
⚠️ 当前页面无法识别为招聘页,请确认是否打开了正确的页面。
第三步:提取字段
| 字段名 | 提取规则 |
|---|---|
| 公司 | 从页面标题、公司介绍区域或招聘站点信息提取,使用通用简称 |
| 机构类型 | 根据公司名称推断,如互联网、AI、咨询、金融、国央企、外企、实业民营 |
| 岗位 | 提取职位标题完整内容,保留 BU / 方向信息 |
| 城市 | 提取地点信息,去除"市"、"省"等后缀 |
| 目前状态 | 页面有状态则映射;页面无状态时默认"已投递" |
| 投递截止时间 | 统一为 yyyy/MM/dd;页面无截止时间则留空 |
| 时间线1-投递 | 优先使用页面投递时间;页面无投递时间则使用当天日期 |
| JD | 提炼核心职责和任职要求,2-4 句话,不超过 200 字 |
| 链接 | 当前页面 URL |
| 备注 | 志愿顺序、推荐来源或其他用户确认后的补充信息 |
状态映射:
- 已投递 / 投递成功 / 待处理 → 已投递
- 笔试 / 测评 → 笔试
- 一面 / 初试 → 一面
- 二面 / 复试 → 二面
- 三面 / 终面 → 三面
- Offer / 录用 → Offer
- 拒绝 / 不合适 / Reject → Reject
第四步:查重检测
写入前先查询表格中是否已存在相同记录。
匹配规则:
- 公司匹配:提取公司名与表格公司字段互相包含,或明显为同一公司。
- 岗位匹配:岗位名有 50% 以上关键词重叠,且方向一致。
- 公司和岗位同时匹配才判定为重复。
匹配不确定时,展示候选记录让用户确认:
🔍 发现可能重复的记录,请确认是否为同一岗位:
表格中已有:[公司] - [岗位]
当前提取:[公司] - [岗位]
回复「是」按更新逻辑处理,回复「否」按新增逻辑处理。
处理逻辑:
- 未找到重复记录:新增一行。
- 找到重复记录:不新增,只更新状态、投递时间、链接等字段。
第五步:写入飞书
写入前再次检查:
<YOUR_BASE_TOKEN>、<YOUR_TABLE_ID>、<YOUR_LARK_HOST>均已替换。- 飞书 CLI/API 已完成授权。
- 当前用户对目标 Base 有写入权限。
- 目标表已创建字段映射中列出的字段。
任一条件不满足时,不执行写入,先引导用户补齐配置。
写入要求:
- 使用字段名写入,不使用字段 ID。
- 使用用户身份操作,例如
--as user。 - 多选字段用数组。
- 日期字段按当前 CLI/API 要求转换为对应格式。
新增记录示例:
npx @larksuite/cli base +record-upsert \
--base-token <YOUR_BASE_TOKEN> \
--table-id <YOUR_TABLE_ID> \
--as user \
--json '{"公司":"xxx","岗位":"xxx","机构类型":["互联网"],"城市":["上海"],"目前状态":"已投递","链接":"https://...","JD":"..."}'
字段映射:
| 字段名 | 写入内容 |
|---|---|
| 公司 | 公司全称 |
| 机构类型 | 推断值 |
| 岗位 | 岗位名称 |
| JD | 岗位核心职责摘要 |
| 城市 | 提取值 |
| 目前状态 | 提取或默认"已投递" |
| 投递截止时间 | yyyy/MM/dd,无则留空 |
| 链接 | 当前页面 URL |
| 时间线1-投递 | 实际投递时间或当天日期 |
| 时间线2-笔试 | 投递阶段留空 |
| 时间线3-一面 | 投递阶段留空 |
| 时间4-二面 | 投递阶段留空 |
| 备注 | 用户确认后的补充信息 |
第六步:完成回复
单条:
✅ 已记录:[公司] - [岗位]
📋 查看表格:https://<YOUR_LARK_HOST>/base/<YOUR_BASE_TOKEN>?table=<YOUR_TABLE_ID>
批量:
✅ 已记录 N 条:
1. [公司] - [岗位]
2. [公司] - [岗位]
📋 查看表格:https://<YOUR_LARK_HOST>/base/<YOUR_BASE_TOKEN>?table=<YOUR_TABLE_ID>
写入失败时输出具体报错,并提示检查飞书 CLI 登录状态。