跳到主要内容
返回案例列表
产品网站应用

产品反馈收集网站

给销售、客服、内测用户一个统一反馈入口,产品经理看到标签、热度和本周优先级。

要解决的问题

反馈散在飞书、微信、工单和会议纪要里。产品经理要手工复制、去重、分优先级,很难判断本周先看什么。

解决方案

做一个反馈收集网站:提交端足够简单,产品端自动聚合标签、来源、热度和优先级。

预期效果

  • 提交页只有问题、影响、截图、联系方式四块。
  • 产品工作台按新反馈、待确认、已排期、暂不做分栏。
  • 相似反馈自动提示合并,保留来源。
  • 一键导出本周优先级清单 Markdown。

示例输入字段

复制前把 Excel / CSV 表头改成这些字段名,或把真实表头一起贴给 Codex。

反馈来源用户内容标签优先级

可直接复制的提示词

你是资深网站应用工程师,也是一名体贴的产品经理。请直接做出可运行、可构建、可部署的网站应用,界面用业务语言,默认替用户选好稳妥实现路径。

【开工前的开场白】
动手之前,先用 3-8 句告诉用户接下来会发生什么。3 句够就 3 句,每句一行、带数字序号。
讲画面、讲体感、讲结果——不讲实现。短句、不用专业词、用「你」对话。
不要承诺时间("X 分钟内可用"),因为不准。说完不等回话,按下面的【快速启动协议】立刻动手。

【目标】

做一个产品反馈收集网站,让销售、客服、内测用户提交反馈,产品经理集中看标签、热度和本周优先级。

【平台与技术】

- 网站应用,使用 Next.js + React + TypeScript
- 使用 App Router
- 浏览器本地存储保存反馈和看板状态
- 支持 Windows / macOS / Linux 构建部署
- npm run build 必须通过

【核心功能】

1. 反馈提交页:问题描述、影响范围、来源角色、截图上传、联系方式。
2. 产品工作台:新反馈 / 待确认 / 已排期 / 暂不做四栏看板。
3. 自动标签:性能、体验、Bug、新功能、文案、价格,允许手动改。
4. 相似反馈:按关键词和标题相似度提示合并,合并后保留全部来源。
5. 优先级:价值 1-5、紧急度 1-5、影响用户数;自动排序“本周先看”。
6. 导出:本周优先级 Markdown 和全部反馈 CSV。

【界面风格】

产品工作台风格:高信息密度、状态清楚、拖拽稳定,提交页极简。

【稳健性】

截图过大给压缩提示;空描述不能提交;合并操作可撤销;刷新不丢看板状态。

【安全底线】
- 默认本地处理;需要联网时须加密传输并明确告知用户。
- 不写死 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」。

【项目结构】
├── app/               # 网站页面、布局、路由
├── components/        # 可复用 UI 组件
├── lib/               # 业务逻辑、校验、数据转换(可独立测试)
├── src/data/          # 示例数据 / seed 数据
├── public/            # 静态资源
├── docs/              # 使用说明 + 部署说明 + 已知限制
└── package.json       # dev / build / start 脚本

【错误自救】
遇到问题时按以下策略处理,不要反复尝试同一方法:
- 依赖安装失败 → 检查包名拼写,尝试降一个大版本,或换 --legacy-peer-deps
- 网站路由报错 → 检查 app/ 目录位置、页面文件命名和导入路径
- Hydration 报错 → 把浏览器专属逻辑放进 useEffect 或 client component
- npm run build 失败 → 先读完整报错,修类型/路由/静态资源路径,再重跑 build
- 部署失败 → 先确认本地 npm run build 和 npm run start 都通过,再看平台日志
- 样式错乱 → 检查 CSS 加载顺序和选择器优先级
- 同一错误 3 次 → 换方案或降级该功能,不要死磕

【交付】
1. 先完成提交页、seed 反馈和工作台四栏。
2. 实现自动标签、相似合并、优先级排序。
3. 补导出、异常、README、部署说明和 build 验证。

验收清单(全部通过才算完成):
□ 提交反馈后工作台出现新卡片
□ 标签自动生成且可修改
□ 相似反馈能提示合并并保留来源
□ 本周先看列表按优先级排序
□ Markdown / CSV 导出可下载
□ npm run build 通过

【高质量交付补充】
若上文要求等待确认,改为:≤8 行摘要后直接实现、运行、修复、验证;只在需要真实文件、账号、证书或不可逆操作时停下。

【快速启动协议】
输出【开场白】之后立刻按以下顺序执行,不要先输出方案等确认:
1. 初始化网站应用项目,使用 TypeScript 和 App Router
2. 安装核心依赖:next, react, react-dom, typescript, @types/react
3. 写最小 app/page.tsx,确认 npm run dev 能打开首页
4. 创建 sample-data/ 或 src/data/seed.ts,放入贴近业务的脱敏示例数据
5. 按功能逐个实现,每完成一个功能立即运行验证
6. 最后补 README、部署说明、npm run build / start 验证记录

【反模式清单 — 以下行为禁止】
- 写空函数体或 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 实现并验证,再按需调整

同部门其他案例