Communitygithub.com

AngChow/customer-service-records

客服小薪会话记录查询导出与审查处理 Codex Skill:查询导出会话记录 -> 生成人工审查表 / 知识命中明细表

What is customer-service-records?

customer-service-records is a Codex agent skill that 客服小薪会话记录查询导出与审查处理 Codex Skill:查询导出会话记录 -> 生成人工审查表 / 知识命中明细表.

Works with~Claude CodeCodex CLI~Cursor
npx skills add AngChow/customer-service-records

Ask in your favorite AI

Open a new chat with this agent skill pre-loaded.

Documentation

客服小薪会话记录 Skill

查询导出客服小薪会话记录,并处理为人工审查表或知识命中明细表。三条流程可独立或串联:查询导出(数据源)-> 人工审查表 / 知识命中明细表(基于导出的会话记录)。

触发场景

  • "查询/导出 X 到 Y 的客服小薪会话记录"
  • "生成 X 到 Y 的客服小薪人工审查表"(自动先查询导出会话记录)
  • "生成 X 到 Y 的客服小薪知识命中明细"(自动先查询导出会话记录)

日期格式 YYYY-MM-DD--end 含当天全天。

前置依赖

  • python3 + pandas + openpyxl + pymysql。缺失时 pip3 install pandas openpyxl pymysql(优先国内镜像)。
  • 环境变量 DMS_HOST / DMS_PORT(默认 3306)/ DMS_DB / DMS_ACCESS_ID / DMS_ACCESS_SECRET(在 ~/.zshenv 配置,新开终端生效)。
  • DMS 为内网地址,需公司 VPN 在线。

执行流程

三个脚本默认输出到执行目录(cwd)。{SKILL_DIR} = ~/.codex/skills/customer-service-records/scripts

1. 查询导出会话记录

python3 {SKILL_DIR}/dms_query.py --start 2026-07-03 --end 2026-07-04
# 单日等价:--date 2026-07-03
  • 连接 DMS 执行固定 SQL,导出为 xlsx
  • 输出:客服小薪-会话记录_<起>~<止>.xlsx
  • SQL 为内置固定模板,只允许通过 --start/--end/--date 修改时间范围,不得改动 SELECT/JOIN/CASE 等其他部分
  • 自动分批:DMS 安全访问代理单次查询限制返回 3000 行。脚本会先 COUNT 总行数,若超过阈值(2900 行)则自动按天拆分多批次查询并合并,最后做行数完整性校验。调用方无需关心分批逻辑,输出始终为单个完整 xlsx

2. 生成人工审查表

先执行流程 1 得到会话记录 xlsx,再:

python3 {SKILL_DIR}/custom_service_data_transfer.py "<会话记录xlsx路径>" --start 2026-07-03 --end 2026-07-04
  • 拆分"相关知识"为多行,新增列:是否需人工处理、知识点内容、知识点得分、知识点来源
  • 仅保留需人工处理的行(点踩 / 无相关知识 / 知识不足以总结答案,或正常回答且知识相关度 > 0.25)
  • 输出:客服小薪-人工审查_<起>~<止>.xlsx

3. 生成知识命中明细表

先执行流程 1 得到会话记录 xlsx,再:

python3 {SKILL_DIR}/process_to_knowledge_detail.py "<会话记录xlsx路径>" --start 2026-07-03 --end 2026-07-04
  • 拆分"相关知识"为多行,新增列:知识、知识点ID、知识点来源、知识点得分、知识点-问题、知识点-答案
  • 保留全部行(不做筛选)
  • 输出:客服小薪-知识命中明细_<起>~<止>.xlsx

文件命名格式

客服小薪-{会话记录|人工审查|知识命中明细}_<起>~<止>.xlsx,日期 YYYY-MM-DD,起止用 ~ 连接。

半角 / 是路径分隔符不能进文件名,故日期用 - 分隔、起止用 ~ 连接。

关于 SQL

dms_query.py 内置固定 SQL 模板,从 aim.custom_service_chat LEFT JOIN company.company 查询客服小薪问答明细。只允许修改时间范围(通过命令行参数),其余部分不可改动。SQL 详情见脚本内 SQL_TEMPLATE

此外脚本内置 COUNT_SQL(与 SQL_TEMPLATE 使用相同的 WHERE 条件),用于导出前统计总行数以决定是否需要分批。该 COUNT 查询不涉及 JOIN,仅统计 custom_service_chat 表行数。

DMS 3000 行限制

DMS 安全访问代理对单次查询结果集有 3000 行上限。dms_query.py 通过以下策略确保数据完整:

  1. 先用 COUNT 查询统计目标时间范围内的总行数
  2. 若总行数 <= 2900(留 100 行余量),单次查询导出
  3. 若总行数 > 2900,按天拆分;若某天仍超限,按 6 小时 -> 1 小时逐级拆分
  4. 各批次查询结果合并后,与 COUNT 结果做行数一致性校验

完成后

报告生成的文件名与绝对路径。

Related Skills