Files
lofyerandfactory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com> b9fbd4c6af refactor: simplify product copy
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2026-08-25 11:37:59 +08:00

135 lines
8.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 产教数据中台,厂商运营原型
本目录展示厂商如何管理招聘数据采集、检查、发布和学校交付。数据来源包括商业招聘平台、公共就业平台和校内系统。
## 运行
直接打开 `index.html`,或在本目录启动静态服务:
```bash
python3 -m http.server 8080
```
访问 <http://localhost:8080>。
## 产品定位
该页面用于管理产教分析所需的数据:
1. 注册和版本化管理商业、公共、校内三类数据源;
2. 调度采集任务,管理地域、行业、岗位族、分片、失败隔离和增量水位;
3. 保存原始快照、内容哈希、连接器代码版本和任务追踪编号;
4. 将不同来源映射到统一的招聘岗位、企业、薪资和技能契约;
5. 执行质量校验、企业归一、岗位分类和技能抽取;
6. 通过带 Manifest、Schema、质量报告、血缘和校验和的数据包向学校交付。
## 已纳入的目标数据源
| 类别 | 数据源 | 生产接入方式 | 目标数据 |
|---|---|---|---|
| 商业平台 | BOSS直聘 | 官方合作 API / 授权数据包 | 岗位、企业、地区、薪资、岗位职责、技能 |
| 商业平台 | 智联招聘 | 官方合作 API / 书面授权数据包 | 岗位、企业、地区、薪资、岗位职责、技能 |
| 公共平台 | 全国中小企业招聘平台 | 官方接口优先;获准公开页 | 中小企业岗位、校招、实习和招聘活动 |
| 公共平台 | 国家大学生就业服务平台 | 官方接口优先;获准公开页 | 高校毕业生岗位、专场招聘和实习 |
| 公共平台 | 中国公共招聘网 | 官方交换 / 提供单位授权 | 公共就业岗位、重点行业和招聘活动 |
| 公共平台 | 国聘 | 官方合作 API / 授权数据包 | 国资央企岗位和校园招聘 |
| 公共平台 | 杭州人才网 | 书面许可接口 / 低速公开页 | 杭州都市圈企业和岗位 |
| 校内系统 | 就业管理系统 | 租户只读视图 / API / 文件 | 毕业去向、岗位、企业、薪资和专业相关度 |
| 校内系统 | 实习管理系统 | 租户 API / 文件 | 实习岗位、企业、工资、过程和企业评价 |
页面上的“正式运行”、记录数、成功率和时间线均为静态产品样板数据,不代表仓库当前正在访问这些站点。生产连接器默认禁止公网访问,必须完成来源授权、robots、域名白名单、限速和小样本结构审批后才能启用。逐来源方案见 [`../../docs/crawler-source-implementation.md`](../../docs/crawler-source-implementation.md),实现位于 [`../crawler/`](../crawler/)。
## 交互范围
- **运行总览**:生产批次、采集量、质量、来源健康度、流水线和运营事项。
- **运营处置**:问题确认与指派、排障、不可变质量处置、独立发布审批、逐学校交付回执、失败重试与租户级回滚。
- **数据源管理**:来源分类、搜索、资产详情、采集配置、字段映射、运行与审计。
- **采集任务**:筛选、任务详情、暂停/恢复、新建任务和小样本预检。
- **采集数据**:查看标准岗位、源端记录、原始快照和隔离记录,支持来源、地区、关键词检索、明细追溯和结果导出。
- **数据标准**:外部岗位、校内就业、交付 Manifest 三套版本化契约。
- **导入与导出**:文件拖放、CSV 头部预检、样例下载、Manifest 生成和记录导出。
- **质量与归一**:质量规则、发布阈值、岗位别名人工确认和批量处理。
- **审计与交付**:采集、质量、发布、导入导出事件及相关记录。
## 可重复演示流程
“运营处置”提供一条刷新后仍可继续的示例流程:
```text
告警 → 确认 → 指派 → 开始排障
→ 修复并重放 → 记录数 / 规则 / 复核签名 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/school-internship.schema.json`
- `SCHOOL-INTERNSHIP V2.1`
- 校内实习数据契约,包含租户隔离、学生令牌化、岗位任务和评价记录
- `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](./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`