客服Windows 应用
客服话术速查助手
常用回复整理成库,输入关键词秒搜,一键复制贴回聊天窗口。新人上手速度翻倍。
要解决的问题
电商客服每天答重复问题:快递到哪了、怎么退货、尺码怎么选、发票怎么开。话术散在 Word、Excel、群文件里,找一次要半分钟,高峰期根本跟不过来。
解决方案
做一个桌面小工具:按分类 + 关键词组织所有话术。快捷键呼出搜索框,秒级出结果,一键复制。含变量(客户姓名、订单号)时,复制前弹窗让客服填入自动替换。
预期效果
- Windows 桌面软件,常驻任务栏;Ctrl+Shift+R 呼出主窗口。
- 主界面极简:搜索框 + 结果列表。
- 搜索框下方分类标签:物流 / 退换货 / 尺码 / 发票 / 售后。
- 每条话术右侧有圆形「复制」按钮,复制成功变绿。
- 含变量的话术,复制前弹小窗填值,自动替换。
- 支持 Excel 批量导入与导出,方便管理员维护。
示例输入字段
复制前把 Excel / CSV 表头改成这些字段名,或把真实表头一起贴给 Codex。
分类标题正文关键词变量
可直接复制的提示词
你是一名擅长本地桌面小工具的资深工程师,也是一名体贴的产品经理。你写代码前先把自己当成用户走一遍:第一眼看到什么、第一次怎么用、第一次出错怎么自救。请帮我做一个本地运行的桌面小工具,使用的人是电商公司客服,关注业务结果和操作体验。
【开工前的开场白】
动手之前,先用 3-8 句告诉用户接下来会发生什么。3 句够就 3 句,每句一行、带数字序号。
讲画面、讲体感、讲结果——不讲实现。短句、不用专业词、用「你」对话。
不要承诺时间("X 分钟内可用"),因为不准。说完不等回话,按下面的【快速启动协议】立刻动手。
【目标】
把分散的几百条客服话术集中成一个小工具,搜索后一键复制,提升回复速度。
【平台与技术】
- Windows 10/11 桌面应用
- Electron + React + TypeScript
- 本地 SQLite 存话术 + 本地配置存偏好
- 全局快捷键 Ctrl+Shift+R 唤起;如果被系统或其它软件占用,在设置里提示并允许改成其它组合
- 打包 Windows .exe 安装包,完全离线
【核心功能】
1. 窗口尺寸小巧(约 600x500),无需最大化。仅搜索框 + 结果列表两部分。
2. 搜索模糊匹配:标题 / 正文 / 关键词标签任一命中。按相关度排序。输入 300ms 后触发。
3. 分类标签:全部 / 物流 / 退换货 / 尺码 / 发票 / 售后 / 自定义。
4. 结果卡片:分类小标签 + 标题 + 正文预览(2 行,可展开);右侧圆形「复制」按钮。
5. 变量支持:`{客户姓名}` `{订单号}` `{快递单号}`。复制前弹出填值小窗,确认后复制替换后文本。
6. Excel 批量导入,表头:分类 / 标题 / 正文 / 关键词(逗号分隔)。重复标题时让用户选择「跳过 / 覆盖 / 合并关键词」。
7. Excel 导出全部话术,字段包含分类、标题、正文、关键词、使用次数、最近使用时间。
8. 全局快捷键 Ctrl+Shift+R 显示 / 隐藏。窗口失焦自动隐藏;快捷键冲突时给出中文提示并引导去设置修改。
9. 记录每条话术使用次数;管理员可以按使用频率降序查看。
10. 示例数据内置 20 条常见电商话术,覆盖物流、退换货、尺码、发票、售后和变量替换。
【界面风格】
- 简洁清爽的桌面工具风:浅色背景、清晰分区、圆角 8,搜索和复制操作优先。
- 复制按钮成功变绿;其他按钮柔和灰蓝。
- 深浅模式跟随系统。
- 中英双语切换(设置里)。
【稳健性】
- Excel 表头错给高亮提示。
- 正文含 HTML 或特殊字符时复制为纯文本。
- 变量未填写时不复制,并高亮缺失项;订单号、快递单号只做格式提醒,不强制拦截。
- 数据库损坏自动恢复。
- 快捷键冲突时给出友好提示并引导去设置修改;不要静默失败。
【安全底线】
- 默认本地处理;需要联网时须加密传输并明确告知用户。
- 不写死 API Key、绝对路径、个人邮箱或内网地址。
- 写盘默认走"另存为";不覆盖原文件,冲突自动加时间后缀。
- 不引入不存在的 npm 包;不确定时先查 npm view。
- 缺真实数据时先造脱敏 sample-data,不等用户提供文件才开工。
【执行纪律】
- 每个功能写完立即运行验证,不要攒到最后才测。
【温暖体验契约】
代码之外的事,比代码本身更重要。完成时要让用户觉得「这正是我要的」。
- 首次启动 = Demo 模式:自动加载 sample-data/ 跑完主流程一次,让用户立刻看到结果界面,而不是空状态。
- 工作台顶部永远有「用示例数据试一试」按钮,任何时候都能一键演示。
- 按钮、提示、错误一律用业务语言。例:「找不到订单号这一列」,不是「Column "order_id" not found」。
- 步骤 ≥3 的操作给"撤销"或"取消"出口;≥5 步的关键操作要二次确认。
- 大批量任务显示进度条 + 预估剩余时间,每秒最多刷新一次。
- 主流程一完成就在应用内给反馈;若窗口在后台,再发一次系统通知(Toast),点击直达结果。
- 失败时永远给出"下一步可以做什么"(重试 / 换文件 / 查看日志 / 复制错误),不要只留一行红色字。
【完成态画面】
主流程结束的那一屏,是用户对这个工具最持久的印象。把它当礼物来做。
- 大号数字 + 业务语言小结,30 字以内。例:「对账 482 单,差异 5 单。已存到 桌面/差异-2026-05.xlsx」。
- 关键发现用一行带颜色的 chip 摘要:「⚠ 3 单金额不一致 · ✦ 2 单疑似退款」。
- 三个动作按钮固定位置:「打开输出文件夹」「再做一次」「换一个文件」。
- 留一个"刚才做了什么"折叠面板,里面是可复制的 5-10 行操作日志。
- 不展示底层细节(毫秒、进程 ID、堆栈);要给时间就用人话——写「用时 4 秒,处理 482 行」,不写「4231ms」。
【项目结构】
├── src/main/ # Electron 主进程(main.ts, preload.ts)
├── src/renderer/ # React UI(pages, components, hooks)
├── src/core/ # 纯业务逻辑(可独立测试,不依赖 Electron)
├── src/types/ # TypeScript 类型定义
├── sample-data/ # 脱敏示例数据(启动即可跑通主流程)
├── scripts/ # dev / build / package 脚本
├── docs/ # 使用说明 + 已知限制
└── package.json # 入口、脚本、依赖
【错误自救】
遇到问题时按以下策略处理,不要反复尝试同一方法:
- 依赖安装失败 → 检查包名拼写,尝试降一个大版本,或换 --legacy-peer-deps
- TypeScript 报错过多 → 先用 any 跑通主流程,再逐步补类型
- Electron 白屏 → 检查 preload 路径、CSP 策略、console 报错
- 打包失败 → 先确认 dev 模式完全正常,再排查打包配置
- 样式错乱 → 检查 CSS 加载顺序和选择器优先级
- 同一错误 3 次 → 换方案或降级该功能,不要死磕
【交付】
1. 摘要需包含搜索页和变量填值弹窗安排。
2. 分三步:搜索 + 复制 + 快捷键 -> 变量替换 -> 导入 / 导出 + 使用频率。
3. 打包 .exe,300 字内中文使用说明。
验收清单(全部通过才算完成):
□ 双击 .exe 启动,主界面是搜索框 + 结果列表
□ 输入关键词 → 模糊搜索出结果 → 点复制按钮 → 剪贴板有内容
□ Ctrl+Shift+R 呼出/隐藏窗口
□ 含变量话术 → 弹窗填值 → 复制替换后文本
□ Excel 导入话术 → 搜索可找到 → Excel 导出含使用次数
【高质量交付补充】
若上文要求等待确认,改为:≤8 行摘要后直接实现、运行、修复、验证;只在需要真实文件、账号、证书或不可逆操作时停下。
【快速启动协议】
输出【开场白】之后立刻按以下顺序执行,不要先输出方案等确认:
1. 创建项目目录,初始化配置文件
2. 安装核心依赖:electron, react, react-dom, typescript, @types/react
3. 写最小 main.ts(创建窗口)+ index.html + renderer 入口,确认窗口能弹出
4. 创建 sample-data/ 目录,放入贴近业务的脱敏示例数据
5. 按功能逐个实现,每完成一个功能立即运行验证
6. 最后补文档、打包脚本、使用说明
【反模式清单 — 以下行为禁止】
- 写空函数体或 TODO 注释当完成
- 用假数据渲染 UI 却不接通真实逻辑
- 不安装依赖就开始写 import
- 一次性写完所有代码再运行(应逐功能验证)
- 报错后反复尝试同一方案超过 3 次
- 用 console.log 代替真实的错误处理 UI
- 忽略空状态和加载状态
- 启动后第一屏是空白 / 欢迎页 / 设置页(应是工作台 + Demo 数据)
- 错误信息暴露技术名词("Cannot read property"、"Column not found")
- 大批量操作没有进度条 / 预估时间
- 写盘时覆盖原文件(必须另存为,冲突加时间后缀)
- 完成后无任何反馈(没有小结、没有按钮、没有系统通知)
【DoD / 停止 Vibe Coding】
完成标准(逐条检查,全部通过才停手):
□ 能启动;示例数据跑通主流程并产生产物
□ 异常路径友好(空数据、错格式、取消、重名冲突 → 不闪退)
□ UI 符合最低视觉标准(字号层级清晰、间距舒适、空状态有引导)
□ lint/typecheck/test/build 通过
□ 已用 sample-data 完成 启动 → 主流程 → 导出/保存 烟测
□ 有 setup/dev/package 脚本、README、使用说明、已知限制、示例数据
满足即停,新想法写 v2。
【收尾汇报模板】
全部做完后,在对话里按这个固定 4 段格式向我(用户)汇报,不是 UI 文案。每段用 emoji 引导,正文用业务语言。
✅ 已交付:≤5 条核心能力,业务表述,不写技术名词。
▶ 如何打开:一条命令或"双击哪个文件",让用户立刻能用。
✔ 已跑过的验证:lint / typecheck / build / 用 sample-data 烟测主流程,逐项写结果(PASS / FAIL)。
⚠ 已知限制 & v2 想法:≤3 条,每条一句话,不是 TODO 列表。复制之后
1
打开 Codex 桌面版,新建任务
2
整段粘贴到对话框,发送
3
让 Codex 实现并验证,再按需调整