人员安全看板运维

SKILL运维和基础设施
运维和基础设施 未标注权限 许可证不明确
安装这个技能

人员安全智能管理看板系统的全流程运维。当用户提到「安全看板」「人员管理智能表格」「体检报告自动更新」「企微推送/企业微信推送(暂停/恢复/手动推一次)」「监控服务保活」「公网同步/看板地址同步」或发现「放了体检报告但看板没更新/没推送」等运维问题时使用。涵盖:一键状态检查、手动运行管线、手动/暂停/恢复推送、重启监控服务、公网自动同步、数据增删后的预期行为、故障排查。

累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_277791ed/safety-dashboard-ops

技能档案

运维和基础设施
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_277791ed仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791619562
正文体量7.3 KBSKILL.md 原文大小,越大说明说明书写得越细

SKILL.md 全文

7.3 KB
模型实际读到的说明书原文,来自技能仓库

人员安全智能管理看板系统 · 运维

Overview

监控桌面「项目安全资料」中的体检报告 PDF、违章台账、特种作业台账、班前教育签到、人脸考勤 5 类数据源;任一文件新增/修改/删除 → 2 秒内自动重跑管线 → 看板与智能表格更新 → 企微推送(与定时播报同模板)→ 公网 1~2 分钟内自动同步。本 skill 提供这套系统的全部日常运维操作与故障排查方法。

核心前提:代码、脚本、路径全部固化在 references/paths.md(含 python 解释器、目录、端口、公网地址、webhook 位置)。执行任何命令前先读取该文件确认路径仍有效(用户目录变化时需更新)。

快速状态总览(第一步都先跑这个)

"<PY>" "<SKILL>/scripts/status.py"

输出:监控服务端口/进程、保活进程、数据版本与人数、推送开关状态、数据源文件数、公网是否同步。任何"没反应/异常"类问题,先跑它定位是哪个环节断了。

Workflow Decision Tree

用户报障(没推送 / 看板没更新 / 想手动操作)
│
├─ 跑 status.py → 看哪一环断了
│
├─ 8766 无监听(监控服务死了)
│   ├─ 查 pythonw(keep_alive) 是否在跑:在 → 等 ≤60s 自动复活;不在 → 见「重启监控服务」
│   └─ 复活后服务会自动重跑管线 + 补公网同步 + 推送(受推送开关约束)
│
├─ 推送没到(但服务正常)
│   ├─ 推送开关状态?→ --push-off 过则 ⏸,需 --push-on
│   ├─ webhook 配置?→ config.py WECOM_WEBHOOK / 环境变量
│   └─ 查 push_log/*.jsonl 最近记录(send_ok / 错误码)
│
├─ 看板页面旧数据
│   ├─ 本地页 → 10 秒轮询 version 自动热更新;检查 HTTP JSON 是否新(curl 127.0.0.1:8766)
│   └─ 公网页 → 自动同步约 1~2 分钟;超时未更 → 手动跑 deploy_sync.py(前提:WorkBuddy 桌面端开着)
│
└─ 数据没进表(新放 PDF 不在人员列表)
    ├─ 文件名/格式是否符合解析器(对照现有 PDF 版式)
    ├─ 单独解析该 PDF 看是否报错:PY -c "import parse_health; ..."
    └─ 防抖窗口(约几秒)内多次变化会合并,稍等再查

Task 1:一键状态检查

scripts/status.py,见上。关键指标:8766 LISTENING、pythonw keep_alive、推送模式、version、人数、体检 PDF 份数、公网 version 一致性。

Task 2:手动运行一次管线(重新生成看板 + 智能表格)

cd "<SYS>" && "<PY>" run.py

产出:output/人员安全智能管理看板.html、output/人员管理智能表格.json、output/人员管理智能表格.xlsx;并自动同步 deploy/ 目录。注意:本操作不推送、不同步公网(那是监控服务的职责)。数据无变化时内容与线上一致。

Task 3:手动企微推送一次

两种方式:
- 推送最新 JSON 快照(快,不重跑管线):
"<PY>" -c "import json,wecom_push as w; r=json.load(open(r'<OUT>/人员管理智能表格.json',encoding='utf-8')); print('推送:', w.notify_schedule(r))"
- 先重跑再推送(保证最新):cd "<SYS>" && "<PY>" wecom_push.py --send-schedule

内容与定时播报同模板(KPI + 高危名单 + 证书提醒 + 公网链接)。推送开关关闭时会跳过(打印 ⏸)。

Task 4:暂停 / 恢复推送(持久开关)

cd "<SYS>" && "<PY>" wecom_push.py --push-off    # 暂停
cd "<SYS>" && "<PY>" wecom_push.py --push-on     # 恢复
cd "<SYS>" && "<PY>" wecom_push.py --push-status # 查看状态

开关持久化在 safety_system/.push_mode.json,跨服务重启/电脑重启记忆,不会自动恢复。暂停只影响企微消息,看板/监控/公网同步照常。

Task 5:重启监控服务(加载新代码)

监控服务由 keep_alive.py(pythonw 常驻,每 60 秒检查 8766)保活。正确重启方式 = 杀掉当前 auto_watch 进程,等 ≤60s 自动拉起(会自动用最新代码重跑管线):

  1. netstat -ano | grep ':8766.*LISTENING' 拿 PID
  2. 杀进程(PowerShell Stop-Process -Id <PID> -Force)
  3. 等 60~80 秒,确认新 PID 监听 + watchdog.log 出现启动日志

若 keep_alive 本身没在跑:直接 PowerShell Start-Process pythonw 运行 <SYS>/keep_alive.py(隐藏窗口);开机自启入口在启动文件夹的「安全看板保活.vbs」。不要用 Bash 后台 & 或 run_in_background 拉服务——会随会话回收退出(本项目反复踩过的坑)。

Task 6:公网同步(手动触发)

cd "<SYS>" && "<PY>" deploy_sync.py

自动比对本地/公网 JSON version,不一致才部署。依赖 WorkBuddy 桌面端运行的 connector-proxy(MCP 地址+令牌从 ~/.workbuddy/logs 自动发现);桌面端关闭时脚本自动跳过(打印原因,本地不受影响)。

Task 7:数据增删的预期行为(向用户说明用)

  • 新增体检报告 PDF → ≤2s 检测 → 重跑 → 人数 +1 → 立即推送(含新增人员)→ 公网 1~2min 跟进
  • 删除 PDF → 指纹消失判定「删除」→ 人数 -1 → 推送「人员移除」
  • 修改台账 → 同上链路重跑推送(无人员变化时推送内容与定时播报一致,仅标题为「数据更新即时播报」)
  • 服务停机期间的变化:重启时首次同步自动补齐

References

  • references/paths.md — 全部路径/端口/地址/webhook/阈值等环境常量
  • references/architecture.md — 系统架构、推送模板与开关、公网同步原理、热更新机制
  • references/troubleshooting.md — 历史踩坑记录与排查要点(GBK 崩溃、端口占用、touch 空文件、WebFetch 缓存、会话级进程回收等)

注意

  • 所有命令中的 <PY>/<SYS>/<OUT> 请替换为 references/paths.md 中的实际值。
  • 涉及用户桌面「项目安全资料」文件的删除/清理必须先与用户确认;测试用 PDF 生成后用完即删。
  • 公网链接是静态资源入口,管理入口在 WorkBuddy「设置-数据管理-我发布的应用」。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。