production-scheduler:制造业工单排程与 HTML 甘特图

前言

车间排程往往卡在 Excel 和口头约定之间:工单到达时间、交期、优先级一变,就要手工重排各机台时间线,还要单独做负荷图给计划会看。通用 BI 能画甘特图,却很少自带「先到先做」或负载均衡类排程逻辑,更不会按两班倒、白班和节假日把非工作时间从时间轴里扣掉。

下面介绍 SkillHub 社区 Skill production-scheduler(@user_145b9757/production-scheduler,v1.0.0)。它把 CSV 工单导入、多种排程算法、工作时间日历和 HTML 甘特图放在同一套脚本里,适合在 Agent 对话里用自然语言触发,也可在本地命令行直接跑。

这是什么

production-scheduler 是面向制造业工单排程与可视化的 Agent Skill,发布者为社区用户 user_145b9757,分类为 data-analysis,不需要 API Key(requires_api_key=false)。

一句话定位:从 CSV 读入工单,按所选算法生成排程结果,并输出可打开的 HTML 甘特图,用于查看各机器与各工序的负荷分布。官方简介中的触发词包括:生产调度、排程、甘特图、工单排程、机器负荷、生产计划、工作时间、日历、蚁群算法、负载均衡。

在 SkillHub 上该 Skill 评分为 100000,下载约 675 次(页面统计会变动,以 SkillHub 为准)。

核心功能

以下能力均来自 Skill 包内 SKILL.md 与脚本说明,可与安装后的目录对照核实。

工单数据

  • 支持从 CSV 导入工单,字段包括:order_id、product、quantity、arrival_time(YYYY-MM-DD HH:MM)、due_date(YYYY-MM-DD)、priority(数字越小优先级越高)。
  • 包内附带 orders_sample.csv 等示例文件,便于对齐格式。

排程算法

  • FCFS(先到先做):按到达时间排序,适合规则简单的场景。
  • Greedy(贪婪负载均衡):每次选择当前负荷最小的机器。
  • ACO(蚁群算法负载均衡):迭代优化,目标为缩小各机器负荷差异;可通过 ACOConfig 调整蚂蚁数量、迭代次数、信息素与启发权重等(默认值见 Skill 文档)。

工作时间日历

  • 命令行通过 --shift 选择班次:24h(默认连续生产)、day(白班 8:00–17:00,默认周一至周五)、2shift(白班 8–17 + 夜班 18–02)、3shift(三班倒覆盖 24 小时)。
  • --work-days 可传入 0–6(0 为周一)自定义工作日。
  • work_calendar.py 支持休息日、节假日列表及按机器的维护窗口;维护时段内排程会自动跳过。

可视化输出

  • gantt_generator.py 生成 HTML 甘特图,展示机器与工序层面的排程与负荷。
  • 加 --sim 可额外生成仿真可视化页面(车间布局、工件流转、设备状态与倍速播放等,见 Skill 文档第 8 节)。

默认产线模型

Skill 内置示例工序链(下料 → 机加工 → 焊接 → 表面处理 → 质检)及对应机器与单件工时;可在 scripts/scheduler.py 中修改 DEFAULT_PROCESSES 和 DEFAULT_MACHINES 以贴近自家产线。

安装与启用

安装 SkillHub CLI(若尚未安装)

command -v skillhub && skillhub --version

未安装时可按 SkillHub 官方说明执行(完整安装或仅 CLI):

curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash

安装 production-scheduler

安装时必须用 --dir 指向当前 Agent 的 skills 目录,否则默认装到 ./skills/ 可能不会被识别。SkillHub 页面给出的坐标为 @user_145b9757/production-scheduler。

skillhub install production-scheduler --namespace user_145b9757 --dir ~/.cursor/skills/

其他常见客户端 skills 目录(摘自 SkillHub 安装文档,按你实际使用的工具替换 --dir):

  • Cursor:~/.cursor/skills/
  • Claude Code:~/.claude/skills/
  • Codex:~/.codex/skills/ 或项目下的 .agents/skills/

安装完成后,技能通常位于类似 ~/.cursor/skills/@user_145b9757/production-scheduler/ 的路径下。若 Agent 未立刻识别新 Skill,可按所用客户端说明重启或刷新技能列表。

典型用法

先做三件事:准备 CSV、进入 Skill 目录、调用 gantt_generator.py。下面命令假设已 cd 到安装目录(将路径换成你本机的 skills 目录)。

1. 准备工单 CSV

order_id,product,quantity,arrival_time,due_date,priority
WO-001,零件A,5,2026-04-18 08:00,2026-04-20,1
WO-002,零件B,3,2026-04-18 09:00,2026-04-21,2

也可直接使用包内的 orders_sample.csv 或 orders.csv。

2. 命令行排程并出图

cd ~/.cursor/skills/@user_145b9757/production-scheduler

# FCFS,默认 24h 连续生产
python scripts/gantt_generator.py orders_sample.csv output.html --algo fcfs

# 蚁群算法 + 两班倒(Skill 文档中的组合示例)
python scripts/gantt_generator.py orders_sample.csv output.html --algo aco --shift 2shift

# 白班 + 自定义工作日(含周六)
python scripts/gantt_generator.py orders_sample.csv output.html --algo greedy --shift day --work-days 0 1 2 3 4 5

# 附带仿真页面
python scripts/gantt_generator.py orders_sample.csv output.html --shift 2shift --sim

常用参数:

参数 取值 说明
--algo fcfs / greedy / aco 排程算法
--shift 24h / day / 2shift / 3shift 工作班次
--work-days 0–6,空格分隔 工作日,0=周一
--sim 无值 同时生成仿真 HTML

在浏览器中打开生成的 output.html(及仿真相关页面)即可查看甘特图与负荷。

3. 在对话里使用

向支持 Skills 的 Agent 说明需求即可,例如:「用 production-scheduler 对这份工单 CSV 做蚁群排程,两班倒,输出甘特图。」Agent 会按 SKILL.md 中的流程调用上述脚本。也可按官方页面提示,让 Agent 参照 https://skillhub.cn/install/skillhub.md 安装 @user_145b9757/production-scheduler。

4. Python 集成(可选)

需要在代码里挂维护窗口或自定义日历时,可将 scripts 加入 sys.path,调用 gantt_generator.jobs_to_json 与 generate_gantt_html。完整示例见安装目录下的 SKILL.md 第 4、5 节。

适用场景与注意

适合谁

  • 需要快速验证排程规则、对比 FCFS 与负载均衡算法效果的小团队或方案阶段。
  • 已在用 Cursor、Claude Code 等带 Skills 的 Agent,希望用对话驱动「导入 CSV → 排程 → 出 HTML 报告」的闭环。
  • 产线工序与内置五道工序模型接近,或愿意改 scheduler.py 中的默认工序与机器表。

限制与注意

  • 默认机器与工序是示例配置,上线前必须按真实工艺路线改 DEFAULT_PROCESSES / DEFAULT_MACHINES,否则结果只具演示意义。
  • ACO 比 FCFS、Greedy 更耗算力,工单量大时需关注迭代参数与运行时间。
  • 节假日等细粒度日历多在 work_calendar 模块中配置,不一定都有对应 CLI 开关,复杂日历建议读 work_calendar.py 与 SKILL.md 再改。
  • 本 Skill 为社区来源(community),维护节奏取决于发布者;版本以 SkillHub 登记的 1.0.0 为准。

结尾

production-scheduler 把工单 CSV、FCFS / Greedy / ACO 排程、班次与日历约束以及 HTML 甘特图串成一条可复现链路,适合作为制造业排程原型或 Agent 侧的「排程 + 可视化」工具包。

  • SkillHub 页面:https://www.skillhub.cn/skills/user_145b9757/production-scheduler
  • API 坐标页:https://api.skillhub.cn/user_145b9757/production-scheduler

安装与目录配置以 https://skillhub.cn/install/skillhub.md 为准。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜