qiwei-group-operations-implementation-log.md 12 KB

企微社群运营实施记录

对应方案:qiwei-group-operations-product-development-spec.md
开始日期:2026-07-18
当前阶段:Phase 3 受控自动化底座已完成,真实自动发送保持关闭

状态说明

  • 完成:代码已落地并通过对应本地验证。
  • 进行中:已有实现,但仍缺集成或真实环境验证。
  • 待开始:尚未开发。
  • 受阻:需要真实账号、业务规则或外部权限。

已完成

2026-07-18

工作项 状态 产物/说明
产品与技术方案 完成 docs/specs/qiwei-group-operations-product-development-spec.md
qiwei-group-operations Skill 骨架 完成 SKILL.md + 数据模型、质检规则、输出契约三份渐进引用
Skill UI 元数据 完成 skills/qiwei-group-operations/agents/openai.yaml
社群运营 SQLite 数据层 完成 群主档、SOP/版本、计划/计划项、消息、质检、审计;所有业务表带 account_key
SOP 版本管理 完成 创建草稿、创建版本、发布、指定版本回滚、审计
每日运营计划 完成 从已发布 SOP 生成待审核计划,同群同日幂等,支持模板变量
计划项人工闭环 完成 批准、拒绝、跳过、标记人工已执行;真实自动发送保持关闭
确定性质检 MVP 完成 投诉/退款等风险词、客户问题超时未回应、稳定指纹去重、原消息证据
每日运营简报 完成 群数、已发布 SOP、今日任务、完成率、待审核、高风险和未闭环事项
MCP 工具 完成 新增 8 个工具:上下文、计划、话术、质检、简报、SOP、计划执行、质检处理
Dashboard API 完成 新增 /api/group-ops/* 读取、发布、计划、审核和质检处理接口
Dashboard MVP 完成 新增“社群运营”导航、运营指标、SOP、计划生成、今日工作台、质检预警
可访问性与响应式基础 完成 表单 label、按钮禁用态、键盘 focus、375px/平板布局、减少动态效果
本地 smoke 脚本 完成 覆盖账号隔离、SOP 发布、计划幂等、审核执行、风险质检和闭环
发布检查接入 完成 release-check.js 已加入 group-ops:checkgroup-ops:smoke
群消息兼容入库 完成 webhook 与历史同步成功落盘后,按设备 guid 兼容写入账号隔离的社群运营群/消息表;缺少 guid 时安全跳过新表

2026-07-18 · Phase 2

工作项 状态 产物/说明
按门店批量生成计划 完成 支持显式群列表或门店范围;逐群幂等,部分失败不回滚成功项
跨门店运营对比 完成 展示群数、今日任务、完成数、执行率、未闭环与高风险;无任务时显示数据不足
群活跃趋势与生命周期建议 完成 对比近 7 天与前 7 天消息、活跃成员、最近消息、风险,并给出可解释建议和覆盖率
整改任务主账 完成 质检项可创建整改任务,支持负责人、期限、优先级、状态和审计
企微官方待办衔接 完成 精确匹配内部成员且人工确认后创建真实待办;本地完成可同步官方完成状态
质检阈值配置 完成 账号级 SLA、风险词、禁止承诺配置并留审计;消息质检自动采用当前配置
误报反馈评测集 完成 false_positive 不删除历史结论,独立保存反馈记录并统计误报率
质量评测脚本 完成 scripts/group-operations-quality-eval.js 输出 precision/recall 并纳入发布检查
优秀话术沉淀 完成 从已执行且有最终内容的计划项汇总高频话术,不把未发送草稿计入
SOP 版本治理 完成 版本列表、结构差异、影响群/门店预览、指定版本发布和回滚
Dashboard 五视图 完成 运营总览、今日工作台、群洞察、SOP 版本、质检督导;移动端响应式与键盘焦点保持一致
Phase 2 MCP/API 完成 新增批量计划、运营洞察、整改任务 3 个 MCP 工具,总计 86 个;Dashboard API 完成对应闭环

2026-07-18 · Phase 3

工作项 状态 产物/说明
自动化策略版本 完成 策略草稿、不可变版本、人工激活、历史策略保留;激活后强制保持暂停
群与内容白名单 完成 只有显式 allowedGroupIdsallowedTypes 才能通过执行闸门
时间窗与灰度 完成 使用 Asia/Shanghai 判断星期和时间窗;按 roomId 稳定哈希命中灰度比例
单群频控 完成 单群每日、近 7 天发送上限,基于成功回执计数
内容与风险闸门 完成 未批准、未到时间、高风险未闭环、变量未替换、禁止承诺和重复发送全部拦截
幂等与回执 完成 保存幂等键、策略版本、决策、模式、状态、外部消息 ID、错误和完成时间
连续失败熔断 完成 达到策略阈值自动熔断;后续项目全部阻止,只能人工确认复位
一键暂停/恢复 完成 暂停立即生效;恢复必须人工确认;状态变化全量审计
dry-run 完成 支持预演和记录 dry-run,不调用 Fmode、不改变计划项发送状态
真实发送三重保护 完成 auto 策略 + execute=true/confirmed=true + QIWEI_GROUP_OPS_LIVE_SEND=1 才可能调用 /msg/sendText
自动化 Dashboard 完成 新增策略、状态、白名单、时间窗、灰度、频控、熔断、预演、dry-run 和执行日志视图
Phase 3 MCP/API 完成 新增 qiwei_group_ops_automation,总计 87 个 MCP 工具
自动化专项测试 完成 覆盖暂停、白名单、灰度、时间窗、连续失败熔断、人工复位、dry-run 和真实发送阻断

2026-07-18 · 规格对照审查修复

工作项 状态 产物/说明
SOP 草稿与发布版本隔离 完成 创建新草稿不再停用当前已发布 SOP;生成计划只读取当前发布快照,实际话术与 playbook_version_id 保持一致
有效回应判定 完成 客户问题后的无关、寒暄或占位消息不再算有效回应;新增意图与关键词相关性规则,并支持后续有效回复自动闭环
质检时间范围 完成 消息质检支持 startAt / endAt,避免每次扫描全部历史消息
发送回执未知保护 完成 网络超时、连接重置等结果不确定场景记录为 unknown,在人工核对回执前锁住同一幂等键,避免自动重发
批次熔断即时生效 完成 每个发送项执行前重新计算安全闸门;批次中途触发熔断后,后续项目立即转为拦截
账号级增量消息同步 完成 每个企微账号只调用一次增量消息流,按 fromRoomId 分流到目标群;完整拉取后保存账号级 travelSyncKey 游标,分页未完成时不推进游标
SOP 发布/回滚确认 完成 MCP/API 必须显式传 confirmed=true;Dashboard 先展示影响范围并由用户确认
可解释群健康分 完成 新增每日评分表,按 SOP、响应、风险、互动分项计算;缺少数据时排除对应权重并展示覆盖率、分项证据量和健康分布
审查回归测试 完成 新增未发布草稿隔离、版本审计一致性、无关/有效回复、回执未知锁定、健康分覆盖率和发布确认测试
RBAC 权限框架与模拟验收 完成 新增总部管理员、区域经理、门店经理、执行员工、只读审计者角色;支持账号级 userId 绑定与门店范围;新增角色管理 MCP,当前总计 88 个 MCP 工具;覆盖首次初始化、跨门店拒绝、非总部发布 SOP 拒绝及审计者执行拒绝

进行中

工作项 状态 剩余内容
Phase 0 账号隔离 进行中 新模块数据已隔离;旧 outputs/groups/* 和历史消息路径仍需迁移为账号目录
真实样本质量评测 进行中 评测脚本与内置回归集已完成;仍缺 1,000 条脱敏消息和业务人员阈值校准

受阻或需业务确认

工作项 状态 阻塞条件
真实自动群消息发送 受阻 /msg/sendText/msg/sendGroupMsg 需真实账号完成回执、频控、超时幂等 smoke
20 群连续试点 受阻 需要确定 3 家门店、20 个授权客户群及负责人
公司级正式 SOP 受阻 需要业务方提供或审核群类型、服务 SLA、禁用词、升级人工规则和首批话术
正式角色映射 受阻 权限框架与模拟测试已完成;需要提供真实总部、区域、门店、审计者的 userId 及门店范围后才能启用生产绑定
数据保留与合规 受阻 需要确认群消息保留期限、脱敏范围和内部授权
官方待办 live smoke 受阻 同步逻辑与人工确认保护已完成;需要已初始化的企微官方 CLI 和测试成员完成真实创建/完成验证

后续开发顺序

  1. 把 webhook 和历史同步改为“账号级一次增量拉取,按 roomId 分流入库”。
  2. 为旧群列表、确认映射和消息缓存增加账号命名空间及迁移脚本。
  3. 完成真实发送接口 smoke 后,仅对白名单和人工批准项开放发送。
  4. 用 1,000 条脱敏消息扩充评测集,校准投诉与未回应识别阈值。
  5. 用真实企微官方 CLI 完成整改待办创建和完成状态 live smoke。
  6. 开展 20 群、14 天真实试点并在本文件记录指标。

验证记录

日期 验证 结果
2026-07-18 npm run group-ops:check 通过
2026-07-18 npm run group-ops:smoke 首次发现消息表占位符错误,修复后通过
2026-07-18 Skill quick_validate.py 通过;Skill is valid!
2026-07-18 npm run check 通过
2026-07-18 Dashboard 本地 HTTP smoke(4322) /api/group-ops/overview 返回 ok,首页包含 group-ops 导航
2026-07-18 npm run package:smoke 通过;18 skills、83 MCP tools、0 forbidden files
2026-07-18 npm run release:check 最终通过 11 组发布检查;同步修复 webhook 旧测试期望、Relay 测试隔离、画像 Excel 复用现有导出组件及输出目录 manifest 基线
2026-07-18 Phase 2 npm run group-ops:smoke 通过;覆盖 SOP v2/影响预览/回滚、门店批量计划、配置、反馈、整改任务、群洞察和优秀话术
2026-07-18 npm run group-ops:eval 通过;内置 4 个规则样本,precision=1、recall=1,仅作为回归测试,不代替真实评测集
2026-07-18 Phase 2 Dashboard 隔离 API smoke 通过;SOP 创建/预览/发布、计划、质检设置、整改任务、门店和群洞察全部返回 ok
2026-07-18 Phase 2 Skill quick_validate.py 通过;Skill is valid!

2026-07-18 · 当前登录账号 live smoke

验证 结果
Fmode 设备登录 通过;设备在线,状态码 2
包月订阅 通过;1/1 席位已使用,订阅有效,自动续费开启
自建外部群读取 通过;读取 6 个外部群,接口无错误
群分类缓存 通过;4 个 IMPORTED、2 个 SUGGESTED,未自动确认真实客户群
单群详情分析 通过;候选群详情可读,保持 SUGGESTED,未误改为已确认
单页历史消息同步 接口通过;所选群本页新增 0 条,因此本次未验证真实消息质检样本
企微官方待办 live smoke 未执行;当前官方 CLI 尚未安装、未授权

本次 live smoke 只执行读取、分析和本地缓存更新,没有发消息、建群、修改群资料或创建真实企微待办。

2026-07-18 · Phase 3 自动化验证

验证 结果
npm run group-ops:smoke 通过;策略、暂停、时间窗、灰度、频控、三次失败熔断和人工复位通过
npm run group-ops:auto-smoke 通过;dry-run 不调用真实网关,环境开关关闭时真实执行被强制阻断
Phase 3 Dashboard 隔离 API smoke 通过;激活后 paused=1、人工恢复后 paused=0、预演通过 1 项、dry-run 1 项、真实执行被环境开关阻断
当前真实发送开关 QIWEI_GROUP_OPS_LIVE_SEND 未开启,未向当前登录账号的任何群发送测试消息
npm run release:check 通过 12 组发布检查;18 个 Skills、87 个 MCP 工具、148 个打包条目、0 个禁入文件