新增:
- scripts/service/platform_collector.py:Playwright RPA(持久化 browser profile 复用登录态),抓合同表(姓名/单位/到期日/剩余天数/预警/建议),逐行点"续聘材料包"按钮下载 PDF/Word 到 data/materials/
- scripts/service/material_parser.py:PDF/Word 文本提取(pypdf → pdf2image + pytesseract OCR 扫描件兜底;python-docx 抽 docx;antiword 兜底 .doc)
- scripts/service/llm_decision.py:AI 决策统一入口(优先调宿主 jiangchang_skill_core.llm_manager.call_llm_json;本地降级到规则版;输出 decision_source ∈ {llm, rules, rules_no_materials})
- scripts/db/migrations.py:idempotent ALTER/CREATE,建 materials_content 表 + renewal_tasks 加 decision_source / materials_summary 列
修改:
- scripts/db/connection.py:init_db() 自动调 apply_all() 应用 v1.1.1 迁移
- scripts/db/repository.py:加 insert_material / list_materials_for_contract / list_pending_materials / summarize_materials / get_task_full
- scripts/service/task_generator.py:AI 决策统一改为调 llm_decision.decide_suggestion(materials_summary=...);reason 文案加「已结合材料包(X 份文件,Y 字 / 待解析)综合判断:...」
- scripts/service/html_renderer.py:ctx 加 DECISION_SOURCE(LLM 推理 / 本地规则 / 本地规则(无材料))+ MATERIALS_COUNT
- scripts/templates/task.html.j2:footer 加 "AI 建议来源:{{DECISION_SOURCE}} · 已审阅材料 {{MATERIALS_COUNT}} 份"
- scripts/cli/app.py:新增 2 个 CLI(collect-from-platform / parse-materials);现有 9 个不动
- 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 / LLM_API_BASE_URL / LLM_API_TOKEN
- SKILL.md:version 1.1.0 → 1.1.1;用户意图路由表加 2 行;新增「数据来源」段(三层来源 + AI 决策透明化)
- README.md:使用前要准备 → 加 playwright install chromium 步骤
- CHANGELOG.md:v1.1.1 条目
- scripts/util/constants.py:SKILL_VERSION 1.1.0 → 1.1.1
本地验证:11 个 CLI 全部 exit 0;decision_source=rules;reason 含「已结合材料包(6 份文件,待解析)」;HTML footer 含决策来源。
Co-Authored-By: Claude Code <noreply@anthropic.com>
4.4 KiB
4.4 KiB
description
| description |
|---|
| 每日凌晨扫描全校教职工合同电子台账,对距离到期日 90/60/30 天的合同分级预警,自动生成个人版续聘任务书和单位版本月到期清单。 |
合同到期智能预警与续聘辅助
每日凌晨自动扫描全校教职工合同电子台账,对距离到期日 90 天 / 60 天 / 30 天的合同分别给黄 / 橙 / 红三级预警,自动生成《续聘准备任务书》推给教师本人,把《本月合同到期人员清单及续聘建议》推给二级单位人事秘书,把劳动纠纷和年终突击签合同彻底挡在门外。
这个技能能帮你做什么
- 每日凌晨自动扫描:无需人工介入,按合同到期日距今 90/60/30 天分别给出黄/橙/红三级预警
- 自动预填续聘考核表:根据该教师近 3 年年度考核结果和师德师风考评,自动生成「近三年工作业绩摘要」
- AI 建议续聘意见:依据考核结果(优秀/称职/基本称职/不称职),给出续聘 / 续聘观察 / 不续聘的建议,并附理由(如「连续两年考核排名后 10%」)
- 双轨派发:个人版《续聘准备任务书》发给教师本人;单位版《本月合同到期人员清单》发给二级单位人事秘书
- 红头预警自动抄送:30 天红色紧急提醒自动抄送分管校领导
适合什么场景
- 人事处合同管理员想从「年底集中突击签合同」转向「全年前置预警」
- 二级单位人事秘书每月初就想知道本月谁需要办续聘、还差什么材料
- 教师本人提前 90 天就知道合同什么时候到期、需要准备什么材料
- 分管校领导 30 天内必须知道谁有合同逾期风险
使用前需要准备什么
- 合同电子台账数据已与人事系统同步(合同类型、起止日期、聘任岗位、试用期)
- 该教师近 3 年年度考核结果可由党委教师工作部系统接口获取
- 师德师风考评记录可由党委教师工作部系统接口获取
- 二级单位人事秘书通讯录已登记到本技能
.env - (v1.1.1)首次启用 SmartCampus HR 平台采集:运行
playwright install chromium下载浏览器;用python scripts/main.py collect-from-platform --show-browser弹出浏览器手工登录一次保存 cookie
怎么使用
本技能支持数据管理(合同台账表上点工具栏按钮)、对话任务(自然语言让 Agent 完成)、定时任务(每日凌晨 02:00 自动扫描)。三种入口触发同一套业务能力。
逐步操作与排障,请查看技能市场「使用教程」Tab。
执行后你会得到什么
- 个人版《续聘准备任务书》:发给教师本人,含合同基本信息、近三年业绩摘要、续聘建议、所需材料清单、截止时间
- 单位版《本月合同到期人员清单及续聘建议》:发给二级单位人事秘书,含本月全部到期 / 即将到期人员名单、AI 续聘建议、任务派发状态
- 预警提醒:90 天黄色 / 60 天橙色 / 30 天红色,三档分级
- 任务派发日志:每一条预警的派发状态、接收人、是否已读
注意事项
- 本技能不替代人事处终审,续聘 / 不续聘的最终决定权仍由人事处与分管校领导行使
- 涉及劳动合同解除 / 不续聘的处分性决定仍须走线下流程,技能仅给出 AI 建议
- 考核结果、师德师风数据延迟同步可能导致预警等级失真,建议每日扫描完成后人工核对一次
- 30 天红色预警触发后,系统将自动抄送分管校领导,请勿手动屏蔽通知
常见问题
这个技能适合我吗?
如果你的工作包含「管理全校教职工劳动合同 + 每月办理续签」,本技能可以接管日常预警与材料预填。
教师本人能看到 AI 建议的续聘意见吗?
个人版《续聘准备任务书》默认不展示 AI 续聘建议,仅展示业绩摘要与所需材料;单位版《清单》才展示 AI 建议,避免给教师造成预判压力。
数据来源(考核、师德)延迟怎么办?
技能每日凌晨扫描时若发现考核数据缺失,会将该合同标记为「数据待补」并跳过预警;考核数据补齐后会自动重新触发。
试用期合同也在扫描范围内吗?
是。试用期合同同样按到期日距今 90/60/30 天分级预警;试用期考核不通过的处理建议由人事处另行判定。