Work Summary
本周开发工作集中在三个主要项目:Gemini Business 账号批量注册系统、TTS 服务登录集成、以及开发者成长报告系统。
Gemini 账号注册自动化:使用 Puppeteer + Stealth 插件实现 Gemini Business 账号批量注册,解决了 reCAPTCHA v3 Enterprise 的检测问题,集成 YesCaptcha 打码服务,并通过 IMAP 协议自动获取验证码。成功注册超过 100 个账号,并实现了账号池管理和 Session 刷新机制。
TTS Dashboard 登录系统:为 edge-tts-service 项目集成了钉钉 OAuth 和微信小程序扫码登录。过程中遇到 EdgeOne Node Functions 与 Edge Functions 的 KV 存储使用差异,最终通过调整架构解决了 Session 存储问题。
开发者成长报告系统:构建了完整的自动化报告生成流程,包括 Markdown 生成、HTML 构建、EdgeOne Pages 部署、Telegram 通知,并配置了定时任务实现周期性自动发布。
Improvement Areas
1. Puppeteer 反检测知识体系
现象:在 Gemini 注册流程中,邮箱提交后页面白屏,被 reCAPTCHA v3 Enterprise 静默拦截。多次尝试不同配置后才定位到问题。
根因:对 Google 的无感验证机制理解不足,不清楚 reCAPTCHA v3 在请求早期阶段就会评估自动化特征,而非仅在验证码环节触发。
行动项:
- 研读 puppeteer-extra-plugin-stealth 源码,理解各个 evasion 模块的作用
- 学习 Nodriver 等新一代反检测框架的实现原理
- 建立自动化脚本的检测点清单,提前规避常见陷阱
2. EdgeOne 平台架构理解
现象:在 TTS 登录功能中,KV 存储操作报错 405,排查后发现 Node Functions 和 Edge Functions 对 KV 的访问方式不同。
根因:对 EdgeOne Pages 的运行时环境区分不清晰,混淆了 Node Functions(Node.js 环境)和 Edge Functions(边缘运行时)的能力边界。
行动项:
- 整理 EdgeOne 平台能力矩阵:Node Functions vs Edge Functions vs Pages
- 创建项目模板,预置正确的 KV 访问模式
- 在 AGENTS.md 中记录平台限制和最佳实践
3. OAuth 回调调试效率
现象:钉钉/微信登录回调失败时,排查耗时较长。回调 URL 在弹窗中自动关闭,难以捕获错误信息。
根因:缺乏 OAuth 流程的系统化调试方法,依赖手动观察而非工具化手段。
行动项:
- 使用浏览器 Network 面板的 Preserve log 功能保留跳转记录
- 在回调端点增加详细日志,记录完整请求参数和错误堆栈
- 考虑使用 ngrok 等工具在本地调试 OAuth 回调
4. 定时任务与 Session 管理
现象:Gemini 账号 Session 在不到一天内过期,需要频繁手动刷新,影响服务可用性。
根因:缺乏主动的 Session 健康检查机制,只在请求失败时才触发刷新,导致用户体验下降。
行动项:
- 实现定时健康检查脚本,每 6 小时检测 Session 有效性
- 设计渐进式刷新策略:检测到 50% 账号异常时触发批量刷新
- 增加监控告警,在可用账号低于阈值时通知
Strengths
- 自动化思维:能够将重复性工作(账号注册、报告生成)快速转化为自动化流程
- 工具链整合:熟练使用 Make、Docker、EdgeOne、Telegram Bot 等工具构建端到端解决方案
- 问题定位能力:面对 Puppeteer 反检测、OAuth 回调等复杂问题,能够通过分层排查定位根因
- 文档意识:主动为项目生成 AGENTS.md、README 等文档,提升可维护性
Action Items
- P0 - 实现 Gemini Session 定时健康检查 → 6 小时自动检测,低于阈值告警
- P0 - 整理 EdgeOne 平台能力文档 → 记录 Node Functions / Edge Functions / KV 使用边界
- P1 - 学习 Nodriver 反检测框架 → 评估是否迁移替代 puppeteer-extra-plugin-stealth
- P1 - 优化 OAuth 调试流程 → 增加回调日志,使用 Preserve log 保留跳转记录
- P2 - 重构 TTS 登录架构 → 统一使用 Edge Functions 处理 KV 操作
Tech Trends
今日 HackerNews 热门技术话题精选。
1. Databases in 2025: A Year in Review
Points: 555 | Comments: 151
CMU 的 Andy Pavlo 教授年度数据库回顾。2025 年 PostgreSQL 继续主导数据库领域:Databricks 以 10 亿美元收购 Neon,Snowflake 以 2.5 亿美元收购 CrunchyData,微软推出 HorizonDB。分布式 PostgreSQL 方面,Supabase 的 Multigres 项目和 PlanetScale 的 Neki 项目都在尝试为 PostgreSQL 实现类似 Vitess 的分片中间件。
Key Takeaways:
- PostgreSQL 生态持续繁荣,云厂商竞相布局
- 分布式 PostgreSQL 成为新战场,Vitess 模式被复制
- PostgreSQL 18 终于开始支持异步 I/O,摆脱对 OS Page Cache 的依赖
2. From Puppeteer Stealth to Nodriver: Anti-detect Frameworks Evolution
Points: 6 | Comments: 0
深度解析反检测自动化框架的演进历程。传统的 Puppeteer/Playwright/Selenium 因暴露 navigator.webdriver 等特征容易被检测。puppeteer-extra-plugin-stealth 通过 monkey-patch JavaScript API 规避检测,但随着反 bot 系统升级,新一代框架如 Nodriver 采用更底层的方式绕过检测。
Key Takeaways:
- 反检测框架通过
--disable-blink-features=AutomationControlled等参数隐藏自动化特征 evaluateOnNewDocument是在页面加载前注入脚本的关键技术- 新一代框架趋向于更底层的浏览器控制,而非简单的 API 覆盖
3. Cloudflare Workers KV Best Practices
Points: 44 | Comments: 9
Cloudflare 官方 KV 存储教程。KV 是最终一致性的键值存储,适合读多写少的场景。写入后可能需要 60 秒才能全球同步。适用于配置数据、Session 存储、缓存等场景。
Key Takeaways:
- KV 是最终一致性存储,不适合强一致性需求
- 写入有延迟,需要在架构设计时考虑
- 适合存储 Session、配置等读多写少的数据
Learning Resources
Puppeteer 反检测
EdgeOne / Cloudflare Workers
OAuth 与 Session 管理
- Metorial: Vercel for MCP - MCP 服务器的 OAuth 和 Session 管理参考实现