README.md 7.4 KB

🛡️ 拉迷家居 · 风险预警审计工具包

独立可分发 | 开箱即用 | 适用于 Parse Server + QiWe 企微群聊风控系统

快速开始

# 1. 安装依赖
npm install parse dotenv

# 2. 复制配置模板 → 编辑环境变量
cp .env.example .env

# 3. 运行
npx tsx audit-coverage.ts        # 覆盖审计 → HTML 报告
npx tsx audit-deep-analysis.ts   # 深度分析 → MD 报告

文件说明

文件 作用
audit-coverage.ts 覆盖审计 — 扫全量消息,检测关键词命中但未预警的「漏报」,AI 逐条评审
audit-deep-analysis.ts 深度分析 — 多维度统计 + 类别有效性排名 + AI 管理建议
parse-client.ts Parse Server 连接初始化(读 .env 中的 PARSE_* 变量)
.env.example 环境变量模板
README.md 本文档

输出产物

脚本 输出 说明
audit-coverage.ts audit-risk-YYYY-MM-DD.html 可视化 HTML,浏览器打开
audit-deep-analysis.ts audit-deep-YYYY-MM-DD.md Markdown 管理报告

环境变量

# ── Parse Server 连接(必填) ──
PARSE_APP_ID=lami-ai
PARSE_SERVER_URL=https://server.sh-lami.com/parse
PARSE_MASTER_KEY=your-master-key

# ── 企业微信 GUID(必填,用于数据隔离) ──
QIWE_GUID=B8591A9D-B540-44F9-9D74-B2EF5B419EAA

# ── DeepSeek AI(可选,不配则跳过 AI 评审) ──
DEEPSEEK_API_KEY=sk-xxxx
DEEPSEEK_API_URL=https://api.deepseek.com/v1/chat/completions
DEEPSEEK_MODEL=deepseek-chat

# ── 审计时间范围(可选,默认最近 7 天) ──
AUDIT_START=2026-06-15T00:00:00+08:00
AUDIT_END=2026-06-22T23:59:59+08:00

功能对比

维度 audit-coverage.ts audit-deep-analysis.ts
关键词覆盖率
漏报群检测 ✅ + AI 逐条评审 ✅ + 三分类归因
可视化报告 ✅ HTML(浏览器) ✅ MD(可打印)
消息分布统计 ✅ 按天/群/类型
类别有效性排名
AI 管理建议 ❌(仅评审) ✅ 5 维度建议
行动项清单 ✅ 分级行动项
建议频率 每周 每月
耗时 ~30s ~10s

工作流示意

┌─────────────────────────────────────────────────────────┐
│                    每周: audit-coverage.ts               │
│                                                         │
│  Message ──→ 关键词匹配 ──→ 命中? ──→ 已有预警?         │
│     │            │              │           │            │
│     │            │            NO          YES → 跳过     │
│     │            │              │                        │
│     │            │         【漏报】──→ AI 评审           │
│     │            │              │           │            │
│     └────────────┴──────────────┴───────────┘            │
│                         ↓                                │
│                  audit-risk-*.html                        │
└─────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────┐
│                 每月: audit-deep-analysis.ts              │
│                                                         │
│  基础统计 + 类别有效性 + 漏报归因 + AI管理建议            │
│                         ↓                                │
│                  audit-deep-*.md                          │
│                         ↓                                │
│              优化关键词库 / 调整规则                      │
└─────────────────────────────────────────────────────────┘

依赖的数据表

本工具假设目标 Parse Server 中存在以下表:

关键字段 用途
Message content, senderId, senderName, roomId, msgType, timestamp 消息内容
RiskEvent groupId, keywords, severity, title, status, createdAt 已触发预警
RiskKeyword word, category, severity, enabled 关键词库
GroupChat roomId, roomName, communityName 群映射

核心指标解释

关键词覆盖率

触发过预警的关键词数 / 启用关键词总数
  • < 3% → 🔴 严重冗余,需大规模清理
  • 3~8% → 🟡 中等,需分类审核
  • > 10% → 🟢 健康

类别有效率

该类命中消息的关键词数 / 该类总词数
  • 0% 的类别 → 所有关键词均未启用或过于极端,需重新审核

漏报分类

  • 促销营销: 618/双11活动文案 → 误匹配,不需预警
  • 正常业务: 正常设计/安装沟通 → 误匹配,不需预警
  • 真实风险: 质量投诉/纠纷 → 真漏报,需立即处理

典型使用场景

场景 1: 每周风控例会前

# 设置上周的日期
export AUDIT_START="2026-06-15T00:00:00+08:00"
export AUDIT_END="2026-06-22T23:59:59+08:00"

npx tsx audit-coverage.ts
# 打开 audit-risk-2026-06-15.html 投屏展示

场景 2: 月度关键词大扫除

export AUDIT_START="2026-06-01T00:00:00+08:00"
export AUDIT_END="2026-06-30T23:59:59+08:00"

npx tsx audit-deep-analysis.ts
# 根据报告中的"类别有效性"和"未覆盖关键词"
# 淘汰 30 天零命中的词,升级质量类词权重

场景 3: 618/双11 专项审计

# 大促前后两周的独立审计
export AUDIT_START="2026-06-01T00:00:00+08:00"
export AUDIT_END="2026-06-22T23:59:59+08:00"
npx tsx audit-coverage.ts
# 检查促销用词是否导致大量误报

部署到其他项目

  1. 复制整个 audit-risk-kit/ 文件夹到目标机器
  2. npm install parse dotenv
  3. cp .env.example .env → 编辑 .env 填入目标 Parse Server 连接信息
  4. 确保目标 Parse Server 中存在上述 4 张表(Message / RiskEvent / RiskKeyword / GroupChat)
  5. 运行脚本

注意: 表名和字段名必须一致。如果目标项目使用不同的表名或字段名,需要修改脚本中的 new Parse.Query('...').get('...') 调用。


常见问题

Q: 脚本跑很慢? A: AI 评审阶段每个漏报群调一次 DeepSeek,限制最多 20 次。可去掉 DEEPSEEK_API_KEY 配置跳过 AI 评审,脚本秒出结果。

Q: 漏报数量为什么感觉偏多? A: 当前漏报基于"关键词命中但未触发预警"。大部分是促销营销词命中,并非真实风险。看 AI 评审列来区分真假漏报。

Q: 如何新增/删除关键词? A: 通过 Parse Dashboard 操作 RiskKeyword 表,系统每 5 分钟自动刷新关键词库。

Q: 支持非拉迷项目的企微风控吗? A: 工具与业务解耦,只要是同样的表结构(Message / RiskKeyword / RiskEvent / GroupChat),直接配置连接即可使用。


拉迷家居 · 风控团队 · v1.0