logo

管理控制台

访问并使用模板内置的管理控制台

管理控制台把现有 Admin API 组织成一个运营工作台,覆盖用户、积分、内测码、兑换码、公告、反馈、支付、AI 任务和动态业务配置。基础设施日志、队列积压、数据库查询和对象存储仍在 Cloudflare 面板处理。

访问控制台

  1. 运行 prepare-cloudflare,保存首次成功初始化后打印的一次性管理员凭据。
  2. 登录后在设置页修改自动生成的密码。
  3. 打开 /{locale}/admin,系统会跳转到 /{locale}/admin/overview

未登录用户会跳转到登录页。已登录账号没有 D1 admin 角色时返回 403 Forbidden

程序化客户端通过明确 scope 的 OAuth Grant 调用 API,不存在静态管理员 API Token。

运行 opc auth connect --name <project> --server <origin> --scopes <scope-list>。CLI 显示授权 URL,已登录用户在浏览器审核并批准 Scope 后,CLI 通过 PKCE 自动取得 Token,并按连接名和服务地址隔离保存。opc api request 使用指定连接。设置页直接展示 Grant;撤销后 Access Token 和 Refresh Token 都立即失效。

页面

页面 路由 用途
概览 /{locale}/admin/overview 查看核心指标、待处理异常和 AI 任务分布
用户 /{locale}/admin/users 查找用户、查看业务信息并发放积分
积分流水 /{locale}/admin/credit-transactions 查看指定用户的积分余额变化
邀请记录 /{locale}/admin/affiliate-referrals 查看邀请人与被邀请人的关系及奖励状态
内测码 /{locale}/admin/beta-codes 批量生成并查看可用或使用状态
兑换码 /{locale}/admin/credit-codes 批量生成并查看领取或发放状态
反馈 /{locale}/admin/feedback 查询反馈并查看完整内容
公告 /{locale}/admin/notifications 发布全站或定向公告并查看历史
系统设置 /{locale}/admin/configuration 按业务域管理保存在 D1 的动态配置
支付商品 /{locale}/admin/payment-products 将已配置支付平台的远端商品关联到用户权益
AI 服务商 /{locale}/admin/ai-providers 管理 AI 端点、模型和路由可用性
支付 /{locale}/admin/payments 查看交易和争议支付
AI 任务 /{locale}/admin/ai-tasks 跨用户查看图像、TTS 和视频任务

locale 可以是 enzh。切换语言时会保留当前管理路由和查询状态。

管理系统设置

打开“系统设置”,通过顶部水平 Tab 切换业务域。常规、认证、邮件、积分、邀请、支付和 AI 各自只有一个显式保存表单。保存一个业务域后,后续新请求立即使用新配置;Storage 上传策略只由 ENV 提供,不在后台出现。已经开始的操作继续使用启动时取得的快照。

修改字段只会把当前 Tab 标记为未保存。切换 Tab 或离开页面时必须选择“保存”“放弃”或“取消”。“保存”会先校验并持久化当前业务域再离开;“放弃”会恢复最近一次保存的值并离开;“取消”会停留在当前表单。系统没有草稿、发布、自动保存或跨域 Save All。

功能开关使用它实际控制的业务动作命名,依赖字段只在父级动作开启后显示。开放注册统一管理邮箱域名、内测码、邮箱验证和冷却时间。Turnstile 密钥由部署流程提供,后台只保留运行时开关。必填项缺失时,错误显示在对应控件旁,旧配置继续生效。密钥字段永远不显示明文,保存前只能选择“保留当前值”“替换值”或“删除值”。Provider Callback URL 从应用地址派生,只读展示并提供复制操作。

支付路由只能选择已配置 API 和 Webhook 密钥的平台,国家覆盖使用可搜索的国家选择器。AI 路由提供均衡、稳定优先、速度优先和成本优先预设,只有选择自定义时才显示原始权重。AI 任务保留期与路由策略分开配置。

支付平台凭据保留在系统设置。支付商品和 AI 服务商使用独立工作区,因为运营人员会更频繁地单独修改这些集合。每个实体都有独立的新建、编辑和删除流程,内部 ID 由服务端生成。AI 提供商按用途与实现选择,模型使用标签输入。Base URL 默认填入官方地址,也可以改为代理或兼容接口地址。保存成功后只替换目标行,删除前必须确认。版本过期时返回 CONFIG_CONFLICT,需要显式刷新后重新编辑。页面不会展示任何密钥值。

查找用户并发放积分

  1. 打开 /{locale}/admin/users
  2. 按用户名或邮箱搜索。列表显示每个用户所属租户分片中的剩余积分。内部用户 ID 只作为次要技术信息展示。
  3. 打开用户详情,选择“发放积分”。
  4. 填写积分数量和备注,然后选择“永不过期”“一周后”或“一个月后”。
  5. 核对用户和发放内容后确认。

幂等所需的 source_id 由控制台内部生成,运营人员不需要填写,也不会看到该字段。

可以从侧栏或用户详情进入“积分流水”,查看该用户每次余额变化。进入“邀请记录”可以搜索邀请关系,并查看每条邀请奖励是否完成。

批量生成码

内测码

打开 /{locale}/admin/beta-codes,设置数量和可选过期时间,核对后生成。离开结果页前复制返回的码。

列表会区分未使用和已使用状态,并显示使用该码的用户。

兑换码

打开 /{locale}/admin/credit-codes,设置数量、积分面额和可选过期时间,核对后生成。跨库积分发放完成时,兑换码会依次从未使用变为已领取和已发放。

发布公告

  1. 打开 /{locale}/admin/notifications
  2. 选择公告类型,填写标题和内容。
  3. 保持全站范围,或按用户名和邮箱选择目标用户。
  4. 核对发布范围和内容后确认。

历史列表支持按类型、范围、用户和日期筛选。打开生效中的公告可以修改范围、类型、标题和内容。归档后用户不再看到该公告,后台仍保留记录;已归档公告不可编辑或恢复。

排查 AI 任务

  1. 打开 /{locale}/admin/ai-tasks
  2. 按任务类型、状态或用户筛选。Provider、模型、任务 ID 和日期位于高级筛选中。
  3. 打开任务详情,查看 Provider 状态、尝试次数、时间、已存输出和最后错误。
  4. 使用详情旁的 Cloudflare 外链继续查看对应 Queue、R2 Bucket 或 Worker。

控制台中的 AI 任务仅供查看,不支持重试、取消、重放或修改参数。

查看支付和反馈

打开 /{locale}/admin/payments,按用户、Provider、类型、状态或日期筛选交易。打开一行可以查看 Provider 引用和金额。退款或争议处理仍在控制台之外完成。

打开 /{locale}/admin/feedback,按类型、用户或日期筛选并查看完整反馈。控制台不会修改用户反馈,也没有额外的处理状态。

筛选和可分享状态

常用筛选保持可见,技术标识和日期范围收在高级筛选中。当前筛选、页码和已打开详情会写入 URL,因此授权运营人员可以刷新或分享同一视图。使用“重置筛选”返回默认列表。

跳转 Cloudflare

Cloudflare 外链放在对应资源旁:

控制台位置 Cloudflare 目标
控制台顶部 已部署 Worker
AI 任务列表 相关 Queues
AI 任务详情 可用的 Queue、R2 Bucket 和 Worker

缺少 Cloudflare 账号或资源标识时,对应外链会隐藏。控制台用于查看产品业务状态,Cloudflare 用于查看日志、指标、队列投递、数据库和对象等平台状态。

当前范围

  • Public assets 暂时只保留 API,没有管理页面。
  • 支付、反馈和 AI 任务只支持查看。
  • 控制台不支持作废内测码或兑换码。
  • 生效中的公告可以编辑或归档;已归档公告只保留在后台历史中,不能恢复。
  • 暂不支持细粒度管理员权限,浏览器访问权只属于唯一 D1 admin 账号。

常见问题

现象 检查项
跳转到登录页 完成登录后返回原管理页面
403 Forbidden 确认当前登录账号是 D1 管理员
列表为空 重置筛选,并确认相关 API 已写入数据
没有 Cloudflare 外链 运行对应 prepare 流程,并确认公开资源标识已配置

API 认证细节参阅认证,生产资源配置参阅部署