Install
openclaw skills install @ldxs001/workday-calendaropenclaw skills install @ldxs001/workday-calendar正向触发:
📚 渐进式加载:本技能采用渐进式 MD 体系,
SKILL.md为入口(≤230行),详细内容拆分到references/*.md按需加载。
| 能力 | 说明 |
|---|---|
| 法定假日管理 | 区间形式存储节假日,支持 AI 批量导入 |
| 补班日管理 | 单独记录调休上班日期 |
| 周末规则可配置 | 双休/单休/单双休/自定义周几 |
| 工作日计算 | 自动计算年度总工日,含所有休息类型统计 |
| 轮休系统 | skip/add 双模式,可配置周期,跨年缓存 |
| 特殊休息 | 公休/临修,支持单日和区间,最高优先级 |
| 个人日程 | 添加/删除/更新/查询/冲突检测 |
| 排班时段 | 15 分钟粒度,支持岗位+人员多赋值 |
| HTML 导出 | 排班周历 / 日程周历 / 排班表(周/月/日期范围) |
| 定时任务 | 自动化配置,Markdown 输出 |
| 配置中心 | Web 界面(settings.py,端口 8765) |
| 文件名 | 分类 | 包含内容 | 审计关联 |
|---|---|---|---|
references/LICENSE.md | 许可协议 | MIT 许可证完整文本 | R-26 |
references/antipatterns.md | 规范指南 | 常见反模式与避坑指引 | R-18 |
references/changelog.md | 版本管理 | 版本更新日志 | R-24 |
references/cli.md | 命令参考 | CLI 命令完整列表 | 无 |
references/data_format.md | 参考文档 | JSON 数据格式说明 | 无 |
references/examples.md | 使用示例 | 各场景完整交互示例 | R-25 C-17 |
references/faq.md | 常见问题 | 常见疑问与解答 | R-19, R-25 C-19 |
references/guide.md | 使用指南 | Python API 使用示例 | 无 |
references/permissions.md | 权限与测试 | 权限扫描说明与测试结论 | R-15, R-16 |
references/test-report.md | 测试报告 | skill-function-test 测试结论 | 无 |
当某年没有法定假日数据时(load_holiday_intervals(year) 返回空列表),必须主动联网查询国务院办公厅放假安排通知:
export_rules_template 格式组织 JSON → 输出:标准规则模板import_rules_from_template() → 输出:数据写入 JSON 文件python scripts/workday_calendar.py rules 20XX → 输出:规则确认表calculate_total_workdays(20XX) → 输出:年度工日统计联网查询要求:
组织规则模板(export_rules_template 格式):
{
"version": "1.0",
"year": 2027,
"base_type": "holiday",
"rules": {
"weekend_config": {"weekends": [0, 6]},
"holiday_intervals": [
{"name": "元旦", "start": "2027-01-01", "end": "2027-01-03"}
],
"compensatory_days": [
{"date": "2027-01-04", "note": "元旦补班"}
],
"rotation_configs": [],
"special_rests": []
}
}
执行导入:
template = {上面组织好的 JSON}
import_rules_from_template(template)
导入后核对:
python scripts/workday_calendar.py rules 2027
⚠️ 核对步骤必须执行:节假日日期、补班日必须与国务院通知完全一致。
底板(法定假休, 永远不变)
└→ weekend_config(双休/单休/自定义周几)
└→ 排班规则(轮休/公休/临修, 始终叠在 weekend_config 上)
├─ toggle OFF → 假休保留(不受排班影响)
└─ toggle ON → 排班全面覆盖(包括假休)
└→ 个人日程(记事本, 永远最上层)
| 优先级 | 类型 | 规则 |
|---|---|---|
| 1 | 补班日 | 强制计为工作日 |
| 2 | 临修 | 强制计为休息日 |
| 3 | 公休 | 强制计为休息日 |
| 4 | 轮休 | 按配置生成的休息日 |
| 5 | 法定假日 | 强制计为休息日 |
| 6 | 周末 | 按配置的周末规则 |
| 7 | 工作日 | 其他日期 |
添加日程时自动检测时间冲突
更新日程时重新检测冲突,冲突则自动还原
scripts/workday_calendar.py — 核心逻辑
scripts/settings.py — 配置中心 Web 服务器