2026-03-30 Humanizer Bug 修复与前端优化
对应打卡:第 27 次
今日完成
1. Usage History 数据不写入问题(核心 Bug)
问题:用户 humanize 成功但 Usage History 页面始终为空
根因:saveHistory、incrementUserUsage、incrementDailyUsage 三个 D1 写入操作都是 fire-and-forget(没 await),Worker 返回响应后立即终止,异步写入被丢弃
修复:全部改为 await,确保 D1 写入完成后才返回响应
验证:通过 debug 接口确认 D1 插入正常,清理了临时 debug 端点
2. Usage History 隐藏 Provider 信息
问题:History 列表中显示 "zhipu" 等 provider 名称,对用户暴露了后端实现 修复:移除 provider badge 组件,用户不再看到模型来源
3. 前端文本长度限制(区分免费/付费)
问题:前端 textarea 无字符数限制,用户可能粘贴超长文本浪费 API 成本;免费用户无感知无法引导升级 修复:
- 新增
/api/user-plan端点,登录后返回用户 plan - 免费用户:textarea 上限 2000 字符,写满后显示 "Upgrade to Pro for 10,000 chars" 引导升级
- 付费用户:textarea 上限 10,000 字符,无升级提示
- 接近上限时(>90%)计数器变黄色提醒
- 后端保留双重校验:免费 2000 / 付费 10000
4. 域名绑定(早间完成)
- miaomiao.uk 绑定到 Cloudflare Pages
- CNAME 配置完成,SSL 自动签发
技术要点
- Edge Worker 中异步操作必须 await,fire-and-forget 模式在 Cloudflare Workers 中不可靠
- 前后端双重校验是成本控制的最佳实践
部署记录
- 上午 4 次(debug 验证 → 修复 saveHistory → 移除 provider → 字符限制)
- 下午 4 次(隐私文案 → 去 Bypass + Hero → 补卡片 → Demo 假数据)
下午进展
5. 智谱 API 模型切换与稳定性优化
问题:编程 API(coding/paas/v4)限流严重(1305 错误),glm-4.7 普通接口也限流 修复:
- 模型从 glm-4-flash → glm-4-plus(更强、稳定、英文改写质量更好)
- API 地址从编程接口切回普通接口(paas/v4)
- fetch 加 30s 超时(之前没设 timeout,智谱卡住就一直挂导致 502)
- 智谱失败自动重试 2 次(间隔 1s),大幅减少偶发限流导致的 502
- 失败不扣次数(扣费逻辑在成功后执行)
6. 主页精简 + 客服邮箱
改动:
- 移除 Pricing Section 和完整 Footer(用户要求精简)
- 添加超轻量 footer:邮箱 + 版权(一行)
- 邮箱点击自动打开邮件客户端,预设主题 "Humanize Support" 和正文模板
7. Cloudflare Pages 部署流程踩坑
教训:
wrangler pages deploy默认走 Preview 环境,要加--branch=main才到 Production- 完整构建流程:
npm run build→npx @cloudflare/next-on-pages→wrangler deploy - deploy 后必须 curl 线上 URL 验证,不能只看 CLI 输出
- 已记录到 self-improving memory,避免重复踩坑
8. 主页文案去过度承诺(诚实化)
问题:多处文案承诺了产品做不到的事情 改动:
- 删掉 "Bypass AI Detectors" 功能卡片(实际过不了 GPTZero 等检测器)
- Hero 去掉 "Bypass AI detection" 条目和 "Bypass AI detectors" 副标题
- Privacy 文案从 "never stored / delete immediately" 改为 "Your data stays yours. We encrypt everything in transit and never share or sell your content."(实际存了 usage history)
- Layout meta(title/description/keywords)去掉 bypass/undetectable 相关词
- Demo section 假数据 "AI Detected: 94%/12%" 改为 "Robotic & formulaic" / "Natural & readable"
- 新增 "Before & After" 功能卡片(真实功能:输入输出对比 + 分数)
- Section 副标题 "undetectable and natural" 改为 "read naturally"
- Features 标题从 "Why Choose Humanize?" 改为 "Why Humanize?" 原则:不写做不到的,不写跟实际行为矛盾的。产品靠质量说话,不靠虚假承诺。
下一步
- [ ] 测试 Usage History 确认数据正常写入
- [ ] Gemini API Key 配额恢复后作为英文改写备用 provider
- [ ] Cloudflare API Token 补权限,部署 Dashboard 功能
- [ ] 支付集成(Stripe/PayPal)
- [ ] SEO + Product Hunt 发布