-
v1.1.2: sandbox 卡片采集 + 性能解析 Stable
released this
2026-09-14 16:01:20 +08:00 | 31 commits to main since this releasev1.1.2
sandbox 行为新发现:表格 10 列(工号/姓名/单位/岗位/合同类型/起止日期/剩余天数/预警/建议/材料包按钮),进入 hr/contracts 页面后需刷新触发 mock 数据加载,「续聘材料包」按钮不是下载文件,而是触发页面下方显示「续聘准备任务书」+「单位清单」卡片(含 checklist + 近三年考核表)。
改动:
- platform_collector:新列序映射 + 刷新触发 + 抓卡片文本(含考核数据 checklist)
- _persist_contracts:同步解析卡片文本 → performance_records
- repository.upsert_performance_record + 等次→分数映射(优秀=90 称职=75 基本称职=60 不称职=30)
- repository.parse_sandbox_card_performance:双模式正则(行格式 + 叙述式)
实测(sandbox 3 合同):
contract_id 教师 解析 perf 条数 generate-renewal-task 输出 RPA-T20190033-20260415 钱实验 4 observe RPA-T20200055-20260630 孙助理 6 observe(sandbox hint 一致) RPA-T20180021-20260831 王明远 6 observe 端到端链路:sandbox 采集 → 卡片抓取 → 解析进 performance_records → scan-expiring-contracts → generate-renewal-task → decision_source=rules → HTML 任务书(含 AI 建议来源 + 材料计数)。
仓库
Downloads
-
released this
2026-09-14 15:37:40 +08:00 | 32 commits to main since this release1.1.1
- AI 续聘建议升级:本地规则版 → LLM 优先 + 规则降级
- 新增
scripts/service/llm_decision.py:调宿主jiangchang_skill_core.llm_manager.call_llm_json(prompt 含教师信息 + 业绩 + 材料文本摘要),输出decision_source ∈ {llm, rules, rules_no_materials} scripts/service/task_generator.py:AI 决策统一改为调llm_decision.decide_suggestion;降级版 reason 文案加「已结合材料包(含 X 个文件,Y 字内容)」前缀
- 新增
- SmartCampus HR 平台 RPA 采集(新增)
- 新增
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]
- 新增
- 数据模型扩展
- 新增表
materials_content(contract_id / file_name / file_path / extracted_text / parse_method / parsed_at) renewal_tasks加列:decision_source/materials_summary- 新增
scripts/db/migrations.py:idempotent ALTER/CREATE,init-db自动应用
- 新增表
- HTML 任务书升级
scripts/templates/task.html.j2footer 加 "AI 建议来源:{{DECISION_SOURCE}} · 已审阅材料 {{MATERIALS_COUNT}} 份"scripts/service/html_renderer.py模板 ctx 加DECISION_SOURCE/MATERIALS_COUNT
- CLI 列表:v1.1.0 的 9 个 + 2 个新增 = 11 个
- 新增:
collect-from-platform/parse-materials
- 新增:
- 依赖新增(
requirements.txt):playwright / pypdf / python-docx / pdf2image / pytesseract / Pillow .env.example新增项:SMARTCAMPUS_BASE_URL / SMARTCAMPUS_PROFILE_DIR / MATERIALS_DOWNLOAD_DIR / OCR_LANG / LLM_MODEL_NAME- SKILL.md:version 1.1.0 → 1.1.1;用户意图路由表加 2 行;加「数据来源」段说明三层来源 + AI 决策来源透明化
验证
- 11 个 CLI 全部 exit code = 0
- Playwright RPA 实测:headless + profile cookie 复用,抓 3 行合同落库
- 依赖:playwright>=1.40, pypdf>=4.0, python-docx>=1.1, pdf2image>=1.17, pytesseract>=0.3.10
- 平台目标:https://sandbox.jc2009.com/industries/campus/smartcampus/app/hr/contracts
Downloads
- AI 续聘建议升级:本地规则版 → LLM 优先 + 规则降级