主题上报与归并系统

Agent Portal 的对话主题分析系统,通过 Bot 主动上报和 LLM 智能归并,将碎片化的 Bot 活动聚合为可理解的高层主题。

概述

主题上报与归并系统(Topic Report System)是 Agent Portal 的核心功能模块,解决”有十几个机器人,每一个跟它聊了什么我都不记得了”的管理痛点。系统包含数据采集(Bot 主动上报)、数据存储(Supabase AP_topics 表)、LLM 智能归并(254 → 108 条)、以及多种前端可视化(树状图 → 两列流程图 → 横向流程图)。

系统架构

数据流

Bot 活动 → topic-report Skill 上报 → AP_topics 表
    ↓
AP_daily_digest (306 条历史活动) → rebuild-topics.cjs → AP_topics
    ↓
merge-topics.cjs (LLM 归并) → 108 个高层主题
    ↓
Portal 前端(工作台视图)

数据库表结构

迁移后精简为 10 张核心表 + 6 张 backup(从 19 张表清理):

  • AP_topics — 主题存储,含 bot_id、name、project_id、status、category、summary、events (JSONB)
  • AP_daily_digest — 每日活动摘要,306 条历史记录
  • AP_tasks_backup — 旧版任务表备份

topic-report Skill

安装在 Bot 工作区的 OpenClaw 技能,用于主动上报对话主题:

# 列出已有主题
node report.js --list --bot <bot_id>
 
# 创建新主题
node report.js --create --bot <bot_id> --name "主题名" [--project "项目名"] [--summary "摘要"]
 
# 更新主题
node report.js --update <topic_id> --bot <bot_id> [--status active|completed|blocked]

上报规则:有目的的讨论、功能开发节点、部署完成时上报;闲聊、单条问答、自动化流程不上报。

LLM 主题归并

归并流程

  1. 按 bot 分组所有 topics
  2. 对每组使用 Azure OpenAI (GPT-4o) 分析相关性
  3. 相关事件合并为高层主题
  4. 自动推断 category(health/education/ops/development 等)

归并效果

阶段数量说明
原始301从历史数据重建
去噪254删掉 ping/闲聊/日常提醒
归并后108LLM 智能归并相关事件

典型归并示例:

  • 传送门: 40 → 8(Pipeline 优化、前端 V2 改造、日报系统 → 各自一个主题)
  • Cloud Ops: 38 → 19(门户优化与全链路测试、Mattermost 数据管理等)
  • 小蛛: 30 → 13(聊天体验升级、OpenClaw 插件迁移等)

噪音过滤策略

删除的噪音类型:

  • 18 条 healthbot 日常提醒(“吃药时间到了”等)
  • 29 条运维/闲聊空洞对话(ping 回复、状态查询等)
  • 24 条 ping/pong 指令

前端可视化演进

迭代历程

  1. 平铺卡片(初始)→ 300+ 条堆在一起,看不清
  2. 树状展示(Bot → Category → Topic)→ 改善但手机体验差
  3. 两列布局(Master-Detail)→ 左列项目、右列主题
  4. 合并 Tab(项目看板 + 主题 → 工作台)→ 4 个 Tab 精简为 3 个
  5. 横向流程图(Category → Topic → 详情)→ 节点 + 连接线,可折叠

最终设计

┌──────────────┬───────────────────────────────────┐
│  📋 项目列表  │  📂 Category → 🟢 Topic 节点      │
│              │                                    │
│ Agent Portal │  [📂 开发] ──→ [🟢 Pipeline 优化]  │
│   (7活跃)    │               [🟢 GrowLog 拆分]    │
│              │                                    │
│ 🔧 通用运维  │  [📂 运维] ──→ [⚪ 代码仓库管理]   │
│   (2活跃)    │                                    │
│ Clawline     │  [📂 健康] ──→ [⚪ 健康监控面板]   │
│   (0活跃)    │                                    │
└──────────────┴───────────────────────────────────┘

特性:

  • 进行中的项目/主题用 spinner 🔄 转圈动画
  • Category 节点可折叠/展开
  • 节点间有连接线
  • 项目卡片含 Bot badge

数据整合

108 个主题全部关联到 12 个活跃项目 + 1 个”通用运维”分组:

  • Agent Portal 最大(46 主题)
  • Clawline 14 主题
  • 视频剪辑 8 主题
  • Miss E 4 主题

相关页面