阿拉丁工牌管家工坊(aladin-badge-forge)
把工牌 / 门禁卡 / 临时卡发放回收台账(一张 CSV,Excel 另存即可)一键稽核成证卡安全三件套:自包含 HTML 证卡看板(评分环 + 8 项 KPI + 风险明细 + 部门概览 + 证卡台账)、可勾选的 Markdown 整改清单(含贴给行政/IT 的发卡收卡例行检查单)、Excel 直开的 CSV 台账(带风险标记列)。12 条体检规则把"离职半个月门禁卡还能刷开机房、卡丢了三周没人注销、同一个卡号登记在两个人名下"变成 1 分钟例行安检。阿拉丁出品。
与自家办公线工具分工明确:资产工具管"设备在谁手里"、访客工具管"外人进来登记了没"、席位工具管"人坐哪儿住哪儿",本技能管"员工的门禁凭证发了谁、离职收没收、丢了有没有闭环",并把离职未收卡名单沿 aladin.badge/v1 契约递给离职清缴/人事环节。
何时触发
- "门禁卡台账帮我稽核一下" / "工牌发放记录做个体检" / "证卡台账查一查"
- "离职的人卡收回来了吗" / "上个月走的人门禁注销了没"
- "有没有卡丢了没挂失的" / "临时卡有没有超期没收回的"
- "谁的门禁权限能进机房/财务室" / "敏感区域权限都有审批吗"
- "有没有一人好几张卡" / "有没有卡号发重的" / "押金都退了吗"
- 英文关键词:badge audit / access card ledger / door access review / offboarding badge check
何时不触发
- 想对接门禁系统实时开关门——本技能只稽核台账,不对接任何门禁硬件与后台 API
- 想做人脸识别/考勤打卡——打卡数据请用考勤方向的工具,本技能只管证卡本身
- 想管IT 账号权限(VPN/邮箱/系统账号)——本技能只管物理证卡与门禁区域权限
- 想设计工牌样式/打印胸卡——不涉及制卡与设计
- 只是问"门禁卡多少钱一张"——采购咨询,与台账稽核无关
能力边界
能做:
- 证卡台账 CSV/TSV/JSON 一键清洗归一(中文表头别名、四种日期格式、卡类型/状态知识库归一、¥金额清洗、完全重复行去重、GB18030 自适应)
- 12 条规则稽核:离职未收卡/丢失挂失未闭环/幽灵持卡人/一人多卡/敏感权限无审批/日期倒挂/状态矛盾/临时卡超期/重复卡号/押金未退/缺关键字段/在册无卡
- 在册员工名单、离职名单(含离职日期)、敏感区域词表三路交叉稽核
- 100 分制评分 + A-D 等级 + SECURE/WATCH/ALERT 三档门禁
- 输出 HTML 看板 + Markdown 整改清单 + utf-8-sig CSV 台账三件套
- 离职未收卡/待注销卡号/超期临时卡沿
aladin.badge/v1契约递给资产清缴、人事、门禁后台处置环节 - 全流程离线、确定可复现(
--today固定基准日后同输入双跑产物逐字节一致)
不能做:
- 不对接门禁系统/闸机硬件,不能远程失效卡片——注销动作需管理员在门禁后台执行
- 不联网,不上传任何员工与门禁数据
- 不识别证卡照片/门禁截图(需先自行整理成表格)
- 不管理 IT 系统账号权限(只管物理证卡)
- 不替管理员做最终处置决定——P0 问题给出证据链,收卡注销由人拍板
输入输出规范
输入:
- 必需:证卡发放回收台账(CSV/TSV/JSON),需含 姓名/卡类型/卡号/发放日期/状态 等列(支持常见中文表头别名,详见
references/data-contracts.md) - 可选:
--staff在册员工名单(txt 每行一名或 CSV 含姓名列)、--leavers离职名单(可含离职日期)、--sensitive敏感区域词表(缺省用内置知识库:机房/财务/档案/研发/配电/监控/金库等 12 词)、--today稽核基准日、--temp-days临时卡超期预警天数(默认 7)
输出:
_badge_ir.json(aladin.badge-ir/v1中间层)与_badge.json(aladin.badge/v1稽核结果契约)badge_dashboard.html自包含证卡看板 /badge_actions.md整改清单 /badge_ledger.csvExcel 直开台账
工作流
Step 1:清洗归一(badge_ingest.py)
python scripts/badge_ingest.py 证卡台账.csv --staff 员工名单.txt --leavers 离职名单.csv -o _badge_ir.json
中文表头别名自动识别(姓名/持卡人、卡类型/证卡类型、卡号/工牌号/门禁卡号、发放日期/发卡日期/开通日期、回收日期/退卡日期/归还日期、状态、门禁权限/授权区域、押金、审批人);日期支持 2026-07-01 / 2026/7/1 / 20260701 / 7月1日;卡类型归一为工牌/门禁卡/临时卡/停车卡/电梯卡/钥匙;状态归一为在用/已回收/挂失/丢失/注销;权限区域自动比对敏感词知识库;完全重复行自动去重。
Step 2:稽核评分(badge_audit.py)
python scripts/badge_audit.py _badge_ir.json --today 2026-07-29 -o _badge.json
12 条规则(详见 references/audit-rules.md)按 P0×25 / P1×8 / P2×3 扣分,100 分制 A-D 分级;存在 P0 或低于 60 分门禁 ALERT(建议当日处置并复核门禁系统),有 P1 为 WATCH,干净为 SECURE。同时产出 KPI(在用证卡/持卡人数/敏感权限卡/敏感卡审批率/离职未收卡/丢失挂失未闭环/临时卡超期/押金未退合计)与 per_dept 汇总、feedback 联动名单。
规则速览:
| 规则 | 级别 | 查什么 | |------|------|--------| | B1 | P0 | 离职人员证卡仍在用未回收(标注敏感权限) | | B2 | P0/P1 | 丢失未注销(P0);已挂失待闭环(P1) | | B3 | P1 | 持卡人不在在册名单(幽灵持卡人) | | B4 | P1 | 一人持多张同类型在用卡 | | B5 | P1 | 敏感区域权限无审批人 | | B6 | P1 | 回收日期早于发放日期(倒挂) | | B7 | P1/P2 | 在用却有回收日期(P1);已回收缺日期(P2) | | B8 | P0/P1 | 临时卡超 30 天未收(P0);超 7 天(P1,可调) | | B9 | P1 | 同一卡号登记在多人名下均在用(串卡) | | B10 | P2 | 已回收/注销但押金未退 | | B11 | P1/P2 | 缺卡号(P1);缺发放日期(P2) | | B12 | P2 | 在册员工无任何在用证卡(漏登记) |
Step 3:出看板三件套(badge_report.py)
python scripts/badge_report.py _badge.json _badge_ir.json --outdir 输出目录
生成自包含 HTML 看板(无外部依赖、双击即开)、按 P0 当日/P1 一周/P2 建议分档的可勾选整改清单(附发卡收卡例行检查单),以及带风险标记列的 utf-8-sig CSV(Excel 直开不乱码)。
复用资源
| 文件 | 用途 | 加载时机 |
|------|------|----------|
| references/audit-rules.md | B1-B12 规则判定口径、级别与扣分、门禁档位详解 | 用户问"为什么这条被判 P0"或需调整口径时加载 |
| references/data-contracts.md | 输入表头别名全表 + aladin.badge-ir/v1 / aladin.badge/v1 契约字段说明 | 准备输入数据或对接下游工具时加载 |
| references/usage-examples.md | 3 个完整场景示例(月度例行安检/离职专项/临时卡专项)+ 最佳实践 + FAQ | 首次使用或用户要示例时加载 |
| demo/ | 可直接跑通的演示台账(埋雷版+干净版+名单) | 用户想先看效果时加载 |
重要约束
- 只读稽核,不动门禁:本技能不对接门禁后台,给出待注销卡号清单后由管理员执行,不代做失效操作(→ Trust)
- 数据不出本机:全流程离线、纯 Python 标准库零依赖,员工姓名与门禁权限数据不上传(→ Trust)
- 结果确定可复现:
--today固定基准日后,同输入双跑产物逐字节一致,稽核结论可回溯(→ Reliability) - 报错即停:输入缺列/契约不符/日期非法时明确报错退出(exit=2),不带病出报告(→ Reliability)
- 平台中立:不绑定任何门禁品牌与 HR 系统,任何来源的台账导出成 CSV 即可用(→ Adaptability)
- 证据链完整:每条风险给出持卡人/卡号/规则/详情四要素,方便逐条核实(→ Convention)
阿拉丁出品 · 纯本地离线稽核 · 数据不出本机
Scan to join WeChat group