Ivan's Blog
项目实践

Tavreg Hikari

Tavreg Hikari 是 Bun/TypeScript developer utility,用于自动化 Tavily 注册、邮箱验证和 API key 生成。README.md 直接指向 docs/WORKFLOW.md,说明核心价值在 workflow 自动化,而不是 Web 产品。

  • Developer utility
  • Browser automation
  • Worktree bootstrap

目录

技术栈

运行与交付

能力标记
  • bun_lock
  • package_json
JSON

Purpose

Tavreg Hikari 是 Bun/TypeScript developer utility,用于自动化 Tavily 注册、邮箱验证和 API key 生成。README.md 直接指向 docs/WORKFLOW.md,说明核心价值在 workflow 自动化,而不是 Web 产品。

Taxonomy

  • Tags: Developer utility, Browser automation, Worktree bootstrap

Repository map

  • src/main.ts 是主入口,package.json 通过 node --import tsx 启动。
  • src/ledger-cli.ts、src/proxy-cli.ts 对应 ledger 查询和代理检查/设置命令。
  • docs/WORKFLOW.md 记录端到端自动化步骤。
  • .env.example 记录 OpenAI、邮箱/浏览器、代理等运行配置。

Runtime and delivery

本地运行依赖 Bun/Node + tsx。package.json 暴露 start、typecheck、ledger:query、proxy:check-all、proxy:check、proxy:set。依赖中有 camoufox-js、playwright-core、impit、yaml 和 @resvg/resvg-js,说明浏览器自动化、HTTP impersonation、配置解析和图形处理都是工作流的一部分。SQLite Topic 来自 ledger/run history,而不是服务端数据库。它同时也是高强度 Worktree bootstrap 样本:linked worktree 首次 checkout 会通过 scripts/sync-worktree-resources.sh 补齐 .env.local、SQLite ledger snapshot、dependency bootstrap,并在需要时修复 browser runtime 路径或安装态,但仍坚持已有本地文件不覆盖、依赖安装 best-effort、历史 revision 安全 no-op。

Architecture notes

架构可理解为“浏览器自动化 runner + 邮箱验证 + API key ledger + proxy health 工具”。它应该保存可审计运行历史,避免临时 JSON 散落;也应该把代理检查独立成 CLI,降低注册失败时的排查成本。

证据锚点:README.md。

Workflow and quality gates

当前没有 GitHub Actions 证据,主要门禁是 typecheck 和真实/模拟浏览器 workflow smoke。因为自动化涉及外部注册站点和邮箱,稳定性更多依赖可观测 ledger、错误截图/日志和代理健康检查。

Reusable decisions

  • 自动化注册类项目要把 workflow 文档作为入口,而不是只暴露脚本。
  • 代理检查和 ledger 查询做成独立 CLI,方便失败后复盘。
  • SQLite/ledger 比临时文件更适合保存重试与风控信号。
  • 当 worktree 的运行态不仅是 .env.local,还包含 ledger、浏览器运行时或其它本地资产时,可以把这些恢复逻辑纳入 Worktree bootstrap contract,但要明确 best-effort 与 no-overwrite 语义,避免 checkout 路径变成破坏式修复器。

Risks and open questions

  • 外部站点、风控和邮箱流程会频繁变化,snapshot 不能承诺长期稳定。
  • 环境变量包含敏感凭据,日志要避免泄漏。
  • 没有 CI,typecheck 之外的验证需要手工或受控 browser run。

Evidence index

  • README.md
  • docs/WORKFLOW.md
  • package.json
  • .env.example
  • src/main.ts
  • src/ledger-cli.ts
  • src/proxy-cli.ts
  • tsconfig.json