Files
edu-industry/admin-tools/demo/README.md
T
lofyerandfactory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com> 92515928d9 feat: add edu-industry platform demos
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2026-08-24 11:19:43 +08:00

8.1 KiB
Raw Blame History

产教数据中台,厂商运营原型

本目录用于讨论厂商侧招聘数据采集与治理产品。商业招聘平台、公共就业平台和校内系统统一作为正式数据来源纳入数据生产与治理体系。

运行

直接打开 index.html,或在本目录启动静态服务:

python3 -m http.server 8080

访问 http://localhost:8080。

产品定位

这不是多个招聘网站爬虫脚本的简单集合,而是面向产教分析的数据生产控制面:

  1. 注册和版本化管理商业、公共、校内三类数据源;
  2. 调度采集任务,管理地域、行业、岗位族、分片、失败隔离和增量水位;
  3. 保存原始快照、内容哈希、连接器代码版本和任务追踪编号;
  4. 将不同来源映射到统一的招聘岗位、企业、薪资和技能契约;
  5. 执行质量校验、企业归一、岗位分类和技能抽取;
  6. 通过带 Manifest、Schema、质量报告、血缘和校验和的数据包向学校交付。

已纳入的正式数据源

类别 数据源 原型状态 目标数据
商业平台 BOSS直聘 正式运行 岗位、企业、地区、薪资、岗位职责、技能
商业平台 智联招聘 正式运行 岗位、企业、地区、薪资、岗位职责、技能
公共平台 全国中小企业招聘平台 正式运行 中小企业岗位、校招、实习和招聘活动
公共平台 国家大学生就业服务平台 正式运行 高校毕业生岗位、专场招聘和实习
公共平台 中国公共招聘网 正式运行 公共就业岗位、重点行业和招聘活动
公共平台 国聘 正式运行 国资央企岗位和校园招聘
公共平台 杭州人才网 降速保护 杭州都市圈企业和岗位
校内系统 就业管理系统 正式运行 毕业去向、岗位、企业、薪资和专业相关度
校内系统 实习管理系统 正式运行 实习岗位、企业、工资、过程和企业评价

交互范围

  • 运行总览:生产批次、采集量、质量、来源健康度、流水线和运营事项。
  • 运营处置:问题确认与指派、排障、不可变质量处置、独立发布审批、逐学校交付回执、失败重试与租户级回滚。
  • 数据源管理:来源分类、搜索、资产详情、采集配置、字段映射、运行与审计。
  • 采集任务:筛选、任务详情、暂停/恢复、新建任务和小样本预检。
  • 采集数据:查看标准岗位、源端记录、原始快照和隔离记录,支持来源、地区、关键词检索、明细追溯和结果导出。
  • 数据标准:外部岗位、校内就业、交付 Manifest 三套版本化契约。
  • 导入与导出:文件拖放、CSV 头部预检、样例下载、Manifest 生成和记录导出。
  • 质量与归一:质量规则、发布阈值、岗位别名人工确认和批量处理。
  • 审计与交付:采集、质量、发布、导入导出事件及证据链。

原型黄金闭环

“运营处置”提供一条可重复演示、刷新后保留的最小生产黄金路径:

告警 → 确认 → 指派 → 开始排障
     → 修复并重放 → 记录数 / 规则 / 复核签名 VERIFIED
     → 豁免 / 丢弃 → REVIEWED_BLOCKED,继续阻断
     → REL-20260823-01 候选版本 → 生成并冻结候选 Manifest → 提交审批
     → 独立审批人批准 / 驳回 → 发布
     → 逐学校发送状态 → 记录数 + SHA-256 回执
     → ACKNOWLEDGED / 单校失败重试 / 单租户回滚
     → 全局回滚申请 → 独立回滚审批 → 执行稳定别名回滚
  • 杭州人才网问题 ISSUE-HZRC-20260823-01 可完整流转。只有最后一次处置是 FIX_REPLAY,且重放记录数一致、质量规则通过、复核签名存在时,候选版本质量门禁才进入 PASS。
  • WAIVE 与 DISCARD 的独立复核会写入 REVIEWED_BLOCKED,分别提示另行风险审批或重建候选,不会复用 VERIFIED/PASS。
  • 发布申请人默认为陈致远,审批人若选择同一人会被四眼规则阻止。
  • 候选发布必须同时满足质量门禁和候选 Manifest 已生成;审批中 Manifest 冻结,驳回后返回草稿并使旧候选失效。
  • 候选 Manifest 使用输入指纹保证重复生成幂等;产品、租户、截止日期、格式、质量处置和交付摘要未变化时复用原候选,不重复写审计或交换日志。
  • 候选版本、数据版本和包分别为 REL-20260823-01、V2026.08.23、EDU-PKG-20260823-01。
  • 杭州科技职业技术学院使用共享标识 TENANT-HZVTC。另外展示浙江机电职业技术大学和宁波城市职业技术学院,交付状态按租户隔离。
  • 原型仓库使用 localStorage 命名空间 eduIndustry.vendorOperations.v1,当前 schemaVersion=2,包含 issues、workOrders、qualityDispositions、releases、approvals、deliveries、auditEvents。页面提供“重置演示数据”恢复种子。
  • PACKAGE-MANIFEST V1.2 新增 release_id 和 release_status,并按三个租户输出彼此独立的记录数与 SHA-256 文件项。候选 Manifest 保持 DRAFT,正式发布时生成 PUBLISHED Manifest,approval_reference 固定引用 APPROVED 审批单。
  • 全局回滚和单租户回滚严格分离。全局回滚必须填写原因、由不同于申请人的审批人批准后才可执行,审计证据保存目标稳定版本、审批引用和影响范围锁。
  • 静态演示的审计、质量处置、问题时间线和交换日志采用明确保留上限;正式系统必须使用服务端分页、归档和 WORM 审计。

静态跨端边界

本目录是厂商端静态 SPA 原型,与仓库根目录下的校园端 /demo/ 没有运行时连接。双方仅通过约定标识(TENANT-HZVTC、EDU-PKG-20260823-01、V2026.08.23)对照展示,不共享浏览器存储,也不通过静态页面传输数据。

按钮中的发送、回执、重试与回滚均为本地状态机模拟:不会访问学校接口、不会写入校园端、不会发送真实数据。正式跨端同步必须由经过鉴权、签名、幂等和审计控制的服务端 API 执行。

标准文件

  • schemas/external-job-source.schema.json
    • JOB-SIGNAL V3.0
    • 商业和公共招聘平台的统一岗位信号契约
  • schemas/school-employment.schema.json
    • SCHOOL-EMPLOYMENT V2.2
    • 校内就业事实契约,包含租户隔离和学生令牌化要求
  • schemas/package-manifest.schema.json
    • PACKAGE-MANIFEST V1.2
    • 版本化导入、导出和学校交付包清单
  • samples/external-job-sample.csv
    • 可在“导入与导出”页面上传并执行前端结构预检

“可生产”的含义

原型已将正式产品必须具备的对象、状态和证据做进界面与标准,但静态页面不直接执行公网采集。正式后端应实现:

  • 独立连接器运行时与容器化任务;
  • 消息队列、分片调度、租约、心跳和重试;
  • 原始对象存储、解析层、标准层和交付层分区;
  • 密钥管理、网络出口、源端策略和任务限额;
  • PostgreSQL 元数据、审计事件和数据版本;
  • Schema Registry、质量引擎、岗位与企业归一服务;
  • 数据包签名、租户范围校验和可回滚发布。
  • 问题与工单 API、质量处置不可变事件 API、独立审批 API、版本别名发布/回滚 API;
  • 按租户幂等交付 API、回执验签 API、失败隔离与单租户重试/回滚 API;
  • 服务端强制状态迁移、RBAC/职责分离、并发版本控制与 WORM 审计,不能信任浏览器 localStorage。

详细实现建议见 PRODUCTION_ARCHITECTURE.md。

验收建议

  • 桌面:1440 × 900
  • 移动:390 × 844
  • 可见业务文字不小于 13px
  • 页面级无横向溢出,宽表仅在自身容器内横向滚动
  • 所有深层按钮必须打开业务内容或形成列表状态变化
  • JavaScript 语法检查:node --check app.js
  • JSON 文件检查:python3 -m json.tool <file>

新增闭环预览:

  • preview-admin-operations.png
  • preview-admin-operations-mobile.png