init
This commit is contained in:
commit
d295c7f139
1527 files changed
+270726
No files matched your search
@@ -0,0 +1,64 @@
|
||||
# 模式: pipeline — 待处理 URL 收件箱 (第二大脑)
|
||||
|
||||
用于批量处理记录在 `data/pipeline.md` 中的职位 URL 链接。候选人可以随时向待处理列表中追加抓取的岗位链接,然后运行 `/career-ops pipeline` 一键自动化评估所有待投递机会。
|
||||
|
||||
## 实时工作流
|
||||
|
||||
1. **读取数据**:分析 `data/pipeline.md` 文件,找出 "Pending" 模块下所有标记为 `- [ ]` 的待处理项目。
|
||||
2. **循环遍历处理**:对每一个未处理的 URL:
|
||||
a. **计算新报告编号**:扫描 `reports/` 目录,找出当前最大的三位数字前缀并加 1,作为 `REPORT_NUM`。
|
||||
b. **抓取职位描述 (JD)**:首选 Playwright (通过 `browser_navigate` + `browser_snapshot`) 渲染网页抓取,备选 `WebFetch` 提取静态文本,最后使用 `WebSearch` 搜索同名岗位快照。
|
||||
c. **异常处理**:若链接因权限、失效等原因完全无法打开,将该项标记为 `- [!]`,附加错误描述,并继续处理下一个。
|
||||
d. **执行一键管道评估**:运行 A-F 维度评估 → 保存为报告 `.md` 文件 → 根据设定生成简历 PDF(若评分达到阈值)→ 自动记录至 tracker。
|
||||
e. **将记录从“待处理”移入“已处理”**:更新状态为 `- [x] #NNN | 职位链接 | 公司名称 | 职位名称 | 评分/5 | PDF 状态`。
|
||||
|
||||
**关于自动生成 PDF 的分流控制 (Configurable):**
|
||||
系统将读取个人配置 `config/profile.yml` 中的 `auto_pdf_score_threshold`(自动生成 PDF 评分阈值)。如果该配置项不存在,则默认阈值为 `3.0`。
|
||||
如果本次岗位的评估得分低于该阈值,系统将**跳过**简历 PDF 的生成步骤(照常撰写评估报告,并在报告头部标明 `**PDF:** not generated — run /career-ops pdf {company-slug} to create on demand`,同时在 tracker 的 PDF 列登记为 ❌)。
|
||||
如果评分等于或高于该阈值,则照常自动生成量身定制的简历 PDF。
|
||||
|
||||
*注:此机制可以大幅节省批量扫描时的 Playwright 渲染排版开销(每次渲染需要 30-60 秒)。候选人可在后续通过执行命令单独生成心仪岗位的 PDF。*
|
||||
3. **并发加速**:如果待处理的 URL 达到 3 个及以上,建议以并发方式(在后台启动子 Agent)并行执行评估,以实现最大处理效率。
|
||||
4. **输出批处理总结**:处理完毕后,输出一份汇总清单表格:
|
||||
|
||||
```text
|
||||
| 编号 | 公司名称 | 岗位名称 | 综合评分 | PDF 状态 | 投递建议 |
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `pipeline.md` 语法规范
|
||||
|
||||
```markdown
|
||||
## Pending
|
||||
- [ ] https://jobs.example.com/posting/123
|
||||
- [ ] https://boards.greenhouse.io/company/jobs/456 | 某某科技 | 资深 AI 产品经理
|
||||
- [!] https://private.url/job — 错误:需要登录后查看
|
||||
|
||||
## Processed
|
||||
- [x] #143 | https://jobs.example.com/posting/789 | 极客科技 | AI 研发工程师 | 4.2/5 | PDF ✅
|
||||
- [x] #144 | https://boards.greenhouse.io/xyz/jobs/012 | 某大厂 | 解决方案架构师 | 2.1/5 | PDF ❌
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 智能解析 URL 职位描述
|
||||
|
||||
1. **Playwright (首选)**:`browser_navigate` + `browser_snapshot`。能够稳定处理所有单页面应用 (SPA)。
|
||||
2. **WebFetch (备选)**:适用于静态页面,或在 Playwright 环境不可用时作为后备。
|
||||
3. **WebSearch (最终手段)**:在第三方招聘聚合平台上查找同名职位的快照。
|
||||
|
||||
**特殊情况处理:**
|
||||
- **LinkedIn**:可能会触发强登录校验拦截。若多次失败,标记为 `[!]` 并引导候选人直接粘贴 JD 文本。
|
||||
- **PDF 文件**:如果 URL 链接直接指向一份 PDF 文档,使用 Read 工具读取二进制文档。
|
||||
- **本地文件前缀 `local:`**:如果是本地路径,直接读取对应文件。例如:`local:jds/linkedin-pm-ai.md` 指向读取本地的 `jds/linkedin-pm-ai.md` 文件。
|
||||
|
||||
---
|
||||
|
||||
## 数据一致性校验
|
||||
|
||||
在启动处理之前,先执行以下脚本检查简历与配置的同步状态:
|
||||
```bash
|
||||
node cv-sync-check.mjs
|
||||
```
|
||||
如果检测到简历或个人偏好数据存在脱节风险,在继续执行前向求职者发出警示。
|
||||
Reference in new issue
Block a user