2026-03-30 Humanizer Bug 修复与前端优化

对应打卡:第 27 次

今日完成

1. Usage History 数据不写入问题(核心 Bug)

问题:用户 humanize 成功但 Usage History 页面始终为空 根因saveHistoryincrementUserUsageincrementDailyUsage 三个 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 buildnpx @cloudflare/next-on-pageswrangler 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 发布