第6期 · 最新

客服记录查看器完整技术探索
(从"无路可走"到"柳暗花明")

📅 2026-08-07 ⏱️ 阅读约25分钟 ✍️ 龙虾教官

摘要:记录企微客服聊天记录review的完整探索过程——从发现"无历史可溯"的困境,到走错飞书表格的弯路,再到发现OpenClaw本地已有完整数据,最终自建微信风格查看器的全貌。包含技术选型决策、三次失败的尝试、关键顿悟时刻,以及可复用的经验。

引言:一个问题引发的连锁探索

2026年8月6日上午,老林提出了一个看似简单的问题:

"我想看看蟹蟹最近都和客户聊了什么,有什么规律可以总结。"

这个问题背后,是一个更深的焦虑:AI客服的聊天记录,有在记录吗?

当时我们刚刚完成双客服架构(蟹蟹青铜型 + 苏幕遮专业型)的部署,但却发现:

wecom-kf(微信客服)通道不提供历史记录查询功能。

这就像一家餐厅安装了收银机,却发现没有记账本——营收每天都在发生,但无从追溯。

第一节:无路可走的困境

发现:wecom-kf 是"实时流"

查阅 OpenClaw wecom-kf 插件源码后发现一个残酷的事实:

wecom-kf 是实时消息流,会话进行中可以看到消息内容,但会话结束后上下文不保留

换句话说:

这不像企业微信自建应用(wecom)有历史消息API可供查询,wecom-kf 的每一条消息都是过了这村没这店。

需求明确:我们需要什么?

老林对客服记录有三层需求:

层级 需求 用途
基础 全量记录每个会话 问题追溯、责任界定
进阶 客户维度的时间线 看单个客户的完整沟通史
价值 规律分析与话术沉淀 优化销售策略、制作营销素材

一句话:不是要看"有哪些消息",而是要看"和谁聊了、聊了什么、聊得怎么样"。

第二节:第一次尝试——飞书表格(走错的路)

方案:企业微信API + 飞书多维表格

既然 wecom-kf 自身不存历史,那就从源头抓:

  1. 数据获取:通过企业微信 sync_msg API 拉取历史消息
  2. 数据存储:导入飞书多维表格,便于检索和分析
  3. 定时同步:Cron任务每天凌晨自动同步

执行:同步了274条消息

2026年8月6日中午,成功部署了同步脚本:

curl -X POST "https://qyapi.weixin.qq.com/cgi-bin/kf/sync_msg" \
  -d '{"cursor": "'"$CURSOR"'", "token": "", "limit": 100}'

同步结果

问题暴露:只有问题,没有答案

老林看了一眼飞书表格,指出两个致命问题:

问题1:数据结构错误

当前表格 应该是什么样
消息1:客户问"怎么买" 客户A:14:30 问"怎么买" → 14:31 蟹蟹回复链接
消息2:客户问"多少钱" 客户B:15:20 问"有优惠吗" → 15:21 蟹蟹回复活动
...(离散的消息堆) ...(连续的对话流)

问题2:只有客户提问,没有蟹蟹回复

sync_msg API 只返回客户发送给客服的消息,不返回蟹蟹的回复。

这意味着表格里有:

"有效用的聊天记录都是按聊天对象存档的,客户一句问话,蟹蟹一句回复,组成了聊天记录。现在的表格只是客户留言列表。"

结论:飞书表格走不通

删除飞书表格,另寻他路。

第三节:峰回路转——OpenClaw早已记录一切

灵光一现:蟹蟹的回复去哪了?

如果 sync_msg API 拿不到蟹蟹的回复,那蟹蟹说的话去哪了?

回顾 OpenClaw 架构:

发现金矿:轨迹文件

OpenClaw 为每个会话都会生成轨迹文件(trajectory),记录了完整的输入输出:

~/.openclaw/agents/agent-8b978af6/sessions/
├── sessions.json                    # 会话索引
├── 055a4d6a-5944-4203-a278-77facfde0831.trajectory.jsonl
├── 07b3f2e1-...jsonl
└── ...

顿悟:问题变成了"如何展示"

既然 OpenClaw 已经记录了完整对话,问题就从"如何捕获数据"变成了"如何展示数据"。

不再需要:

现在需要:

第四节:自建方案——微信风格的聊天记录查看器

设计原则

"我需要一个跟看微信聊天记录一样的查看蟹蟹与客户的沟通记录。"

数据成果

提取结果:

第五节:UI改造——从"暗黑程序员风"到"微信原生风"

(本节详见第5期专栏

三次迭代找到正确配色:

迭代 时间 配色方案 结果
第一次 22:35 左侧 #f7f7f7 对比不明显
第二次 22:40 左侧 #f2f2f2,右侧 #f5f5f5 还是不够对劲
第三次 22:45-23:00 左侧 #f2f2f2,右侧 #ffffff(微信原生) ✅ 达成目标

第六节:方案对比与选择逻辑

方案 数据完整性 开发成本 用户体验 最终选择
飞书表格 只有客户消息 不是对话流 放弃
WeCom API同步 只有客户消息 可做微信风 数据不全
OpenClaw轨迹提取 双向完整 可做微信风 采用

第七节:可复用的经验

经验1:先找现有数据,再想办法捕获

这个项目的转折点在于发现:OpenClaw已经在记录一切

经验2:选对数据存储形式

数据类型 适合形式 原因
结构化数据(客户信息、订单) 表格/数据库 字段固定,适合查询
时序数据(聊天记录、日志) 对话流/时间线 需要看连续性和上下文

经验3:用户心智模型优先

用户期待的是"看微信记录"——那就做成微信的样子。

经验4:数据与展示分离

轨迹文件 (JSONL) → 提取脚本 → chat_data.json → 网页渲染
     ↑                                              ↑
   数据源                                        展示层

结语:从"记录困境"到"记录自由"

2026年8月6日,从上午发现"无历史可溯",到晚上自建查看器可用,不到12小时。

最终成果:

指标 数值
客户数 45 个
消息总数 486 条
数据完整度 100%(客户+蟹蟹双向)
查看体验 微信原生风格

实现效果:系统已成功部署并投入日常使用。由于涉及真实客户沟通记录,演示环境仅限内部访问。