1. 公开 API 检查
先跑公开只读检查,确认健康检查、CORS、未授权读取拦截都正常。这个命令不需要 secrets,也不会写生产数据。
中文运营流程 / 2026-06-09
这一页说明用户在官网提交邮箱和会员账户资料以后,GCA 运营者应该怎样同步 Cloudflare D1 记录、导出联系名单、处理退订、保留本地账本,并把会员权益审核接到支持流程里。
当前邮箱注册、邮箱退订、账户入口、只读钱包验证、符合条件的 100 credits / GCA Member 账本记录已经上线;10,000 GCA 会员权益仍需人工审核。
服务请求队列和 Credit 使用记录已经在本地运营后端准备好,Cloudflare Worker 路由仍需通过账号认证、D1、发布和待发布接口 smoke 检查后才能说正式上线。
本地 Operator Console 只在运行 tools/gca_member_backend.py 后通过 http://127.0.0.1:8787/operator.html 打开,不作为普通官网入口。
Operator Pipeline
先跑公开只读检查,确认健康检查、CORS、未授权读取拦截都正常。这个命令不需要 secrets,也不会写生产数据。
运营者只在本机使用 ignored 的 ADMIN_READ_TOKEN 读取 D1 注册记录。不要把 token、完整导出文件或用户邮箱公开。
把 Cloudflare 记录同步到 .gca_access_data/email_registrations.jsonl。这个目录是本地运营资料,不提交到公开仓库。
把 /gca/contact-suppressions 的记录同步到本地不再联系名单,导出联系名单前必须先应用退订。
内部 CSV 只给运营使用;对外只能分享 gca_email_contacts_public_redacted.csv 这类 public-redacted 文件。
用 gca_registration_ops_summary.json 记录同步数量、跳过数量、退订应用、输出路径和安全边界。
这个命令可以在没有管理员 token 的环境运行,用来确认公开 API 没坏。
python3 tools/check_gca_registration_api.py --public-only --timeout 30
这个命令只给运营者在本地运行。它读取 token 保护的管理员接口,同步注册和退订记录,导出内部 CSV、public-redacted CSV 和运营汇总。
python3 tools/run_gca_registration_ops.py --limit 100 --data-dir .gca_access_data
Member Access Ops
当 live Worker 已经有账户、钱包验证、100 credits、GCA Member 或会员权益审核记录后,运营者在本地运行这个流程。它需要 ignored 的 cloudflare/gca-registration-worker/.env.admin.local 文件和 ADMIN_READ_TOKEN。输出只写到 .gca_access_data/,不提交到公开仓库。
准备发布 /gca/service-requests 和 /gca/credit-usage 前,先运行 python3 tools/check_gca_worker_deploy_readiness.py --run-wrangler --run-cloudflare --require-deploy-auth。检查必须覆盖 cloudflare-auth-session、D1 可见性、Worker 发布权限、远端 D1 migration、wrangler deploy,并在发布后分别通过 public/admin smoke:--include-pending-routes。
运行 .venv/bin/python tools/run_gca_member_access_ops.py --base-url https://gca-registration-api.gcagochina.workers.dev --limit 100 --redact none --summary-output .gca_access_data/gca_member_access_ops_summary.json,只在本机读取 token 保护的会员后台数据。
输出包含 .gca_access_data/cloudflare_member_access_export.json、账户/钱包/credits/member CSV,以及 .gca_access_data/member_access_report/gca_member_access_summary.json。
流程生成 .gca_access_data/member_access_report/gca_member_support_queue.csv,用于人工确认用户状态、补资料要求和支持回复,不能自动批准权益。
需要 30 天持有审核时,使用 --include-holding-report --holding-no-live-read 基于已有快照生成报告;汇总写到 .gca_access_data/member_access_report/gca_holding_period_summary.json。
会员后台同步后运行 .venv/bin/python tools/run_gca_daily_ops.py --build-digest --update-public-status,让本地运营摘要展示会员数量和处理状态,不暴露用户明细。
完成一次人工审核交付后,才在本地 operator-only credit_usage 账本记录 creditUsageId、serviceId、使用数量和扣减前后余额。Cloudflare Worker 路由仍是待发布状态。
服务请求先进入本地 service_requests 队列,记录用户请求的服务范围、可选 credit 账本引用、请求占用数量和处理状态。服务请求不会扣减 credits;Credit 使用记录只在人工审核交付后写入。
会员后台流程只做只读余额检查和本地账本整理;不会请求签名、交易或钱包授权,也不会自动转账 GCA。10,000 GCA 会员权益仍由储备钱包人工处理。
安全边界
/gca/service-requests 或 /gca/credit-usage 说成已正式发布;它们仍需通过 Cloudflare 账号认证、D1 可见性、Worker 发布权限、远端 D1 migration、wrangler deploy 和 --include-pending-routes 验收。Member Handoff
邮箱注册只是用户入口。后续如果用户要进入 100 credits 或 GCA Member 审核,仍需要受控账户 UI、只读 GCA 余额验证、30 天持有资料、支持审核队列和账本记录。运营名单只能作为联系和通知来源,不能替代链上验证。
运营支持入口
普通用户优先使用中文页面和会员入口。运营页面只说明处理流程,不是用户注册表、会员领取页或后台管理页面。