v1.1.1 final: 标注「续聘材料包」功能待 sandbox 部署

当前 sandbox mock 未部署「续聘材料包」按钮:
- RPA 仅采集 6 列台账(姓名/单位/到期日/剩余天数/预警/建议)
- 材料下载代码已就绪,sandbox 补按钮后自动生效
- parse-materials CLI + material_parser 链路可用(本地放 PDF/Word 即可)

更新:
- SKILL.md: 数据来源章节标注 sandbox 材料按钮缺失
- CHANGELOG.md: v1.1.1 条目加实测结果 + sandbox 状态说明

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
2026-09-14 15:37:40 +08:00
parent 213ab5e209
commit 2f06291270
2 changed files with 5 additions and 1 deletions

View File

@@ -11,6 +11,8 @@
- 新增 `scripts/service/platform_collector.py`:Playwright 持久化 browser profile 复用登录态 → 抓合同表(姓名/单位/到期日/剩余天数/预警/建议) → 点"续聘材料包"按钮下载 PDF/Word → 落库
- 平台:`https://sandbox.jc2009.com/industries/campus/smartcampus/app/hr/contracts`
- 新增 CLI `collect-from-platform [--limit N] [--show-browser]`
- **当前 sandbox mock 未部署「续聘材料包」按钮**,RPA 仅采集 6 列台账;材料下载代码已就绪,sandbox 补按钮后自动生效
- 实测:headless 模式 + profile cookie 复用,抓 3 行合同(钱实验/孙助理/王明远)→ 落 `contracts` 表
- **材料包 PDF/Word 文本提取(新增)**
- 新增 `scripts/service/material_parser.py`:pypdf → pdf2image + pytesseract OCR(扫描件兜底);python-docx 抽 docx;antiword 兜底 .doc
- 新增 CLI `parse-materials [--contract-id C001]`

View File

@@ -74,7 +74,9 @@ python {baseDir}/scripts/main.py init-db
本技能合同 / 业绩数据有 **三层来源**,按优先级:
1. **HR 系统 API(生产环境推荐)**:通过宿主 `jiangchang_skill_core` 包揽
2. **SmartCampus HR 平台 RPA 采集(v1.1.1 新增)**:`collect-from-platform` CLI 用 Playwright 抓 `https://sandbox.jc2009.com/industries/campus/smartcampus/app/hr/contracts` 表格 + 点"续聘材料包"下载 PDF/Word → 本地 `data/materials/`
2. **SmartCampus HR 平台 RPA 采集(v1.1.1 新增)**:`collect-from-platform` CLI 用 Playwright 抓 `https://sandbox.jc2009.com/industries/campus/smartcampus/app/hr/contracts` 表格 6 列(姓名/单位/到期日/剩余天数/预警/建议)→ 落 `contracts` 表
- **当前 sandbox mock 未部署「续聘材料包」按钮**,RPA 仅能采集 6 列台账;材料下载功能预留,sandbox 后端补按钮后自动启用
- `parse-materials` CLI + `material_parser`(pypdf/python-docx/OCR)已实现,本地 `data/materials/` 放 PDF/Word 即可跑解析
3. **样例 CSV(本地开发)**:`examples/contracts_sample.csv` + `performance_sample.csv`,首次 `init-db` 自动加载
AI 续聘建议(v1.1.1)默认调宿主 `jiangchang_skill_core.llm_manager.call_llm_json`;本地无 LLM 时降级到规则版(基于分数阈值),并在 `renewal_tasks.decision_source` 列标注 `llm` / `rules` / `rules_no_materials` 三种来源。