管理员指南
系统设置详细配置
Root 专属的系统高级配置选项
本文档展开系统设置各 Tab 的高级字段,涵盖支付、限流、倍率、聊天、绘图、看板、模型、运营等运营参数。与 [系统设置](/docs/guide/admin/system-settings) 同属 Root 专属页面(`/console/setting`),通过 `GET /api/settings` 读取、`PUT /api/setting` 保存。Web 控制台详细 Tab 与参考设计一致,正在对接中。
支付设置
配置平台支持的支付方式和支付参数。入口:/console/setting → 支付设置 Tab。
通用设置
支付设置
充值分组倍率
{
"default": 1,
"vip": 1,
"svip": 1
}充值方式设置
[
{ "name": "支付宝", "color": "rgba(22, 119, 255, 0.15)", "type": "alipay" },
{ "name": "微信", "color": "rgba(7, 193, 96, 0.15)", "type": "wxpay" }
]支付设置示意:服务器地址、易支付参数、分组倍率与自定义充值方式 JSON
什么是易支付
易支付是聚合支付宝、微信等渠道的第三方收银台。用户充值时通过 `POST /api/user/pay` 获取表单字段,浏览器 POST 至易支付网关完成付款,异步回调更新额度。
易支付配置
填写支付地址、商户 ID/密钥与回调地址;保存后可在钱包页验证 `GET /api/user/recharge/info` 是否返回 pay_methods。
Stripe 配置
在支付设置 Tab 配置 Stripe Secret Key、Webhook Secret 等;用户充值走 `POST /api/user/stripe/pay` 跳转 Checkout。
其他支付方式
支持 Creem 等渠道(取决于 option 开关);各渠道最低充值与回调路径以接口返回为准。
充值方式设置
通过 JSON 自定义前端展示的充值方式按钮(name、color、type),映射到易支付 type 参数。
字段说明
见下方「易支付参数」与「服务器地址」表格;修改密钥后需重新测试一笔小额充值。
充值金额配置
配置固定档位(如 10/50/100 USD)或允许自定义金额;与 MinTopUp、Price 共同约束用户输入。
自定义充值金额选项
开启后钱包页展示任意金额输入框;关闭则仅展示预设档位。
充值优惠
可按分组配置充值赠送比例(TopUpGroupRatio),如 vip 分组充值 100 美元到账 110 美元等价值额度。
易支付参数
| 配置项 | 字段 | 说明 |
|---|---|---|
| 服务器地址 | ServerAddress | 站点对外访问根 URL,影响支付回调与跳转链接生成 |
| 支付地址 | PayAddress | 易支付网关地址,如 https://pay.example.com |
| 易支付商户 ID | EPayId | 易支付平台分配的商户编号 |
| 易支付商户密钥 | EPayKey | 签名密钥,请妥善保管 |
| 回调地址 | PayCallbackAddress | 异步通知 URL,通常为 {ServerAddress}/api/user/epay/notify |
| 充值价格(元/美金) | Price | 人民币兑美元汇率,用于易支付 CNY 展示换算 |
| 最低充值美元数量 | MinTopUp | 用户单次充值下限(美元) |
限流设置
在系统设置「速率限制设置」Tab 配置全站与分组 QPM/QPD;超限请求返回 HTTP 429。Web 控制台正在对接中。
全局限流
在「速率限制设置」Tab 配置全站 QPM/QPD 上限,超限返回 429。适用于保护网关整体容量。
按用户分组限流
为不同 group 设置独立阈值,优先级高于全局限流;未配置的分组沿用全局值。
分组限流配置示例
JSON 示例:`{"default":{"qpm":60},"vip":{"qpm":300}}`。模型级限流可在同 Tab 按 model 名称细化。
倍率设置
倍率体系决定额度消耗速度,与用户 定价 页展示一致。在「倍率设置」Tab 可同步上游倍率或手动调整 model_ratio。
倍率体系概述
EasyAPI 通过 model_ratio、completion_ratio、group_ratio、cache_ratio 等组合计算额度消耗;模型元数据与 option 表共同生效。
额度与倍率的关系
用户额度(quota)为统一货币单位;不同模型/分组通过倍率折算为等价值 Token 或次数消耗。
额度计算公式
按量:消耗 ≈ (prompt_tokens × model_ratio + completion_tokens × model_ratio × completion_ratio) × group_ratio × 基准单价;按次:消耗 = model_price × group_ratio。
按量计费(Token)
quota_type = 0;输入与补全 Token 分别计倍率,详见定价文档。
按次计费(固定价格)
quota_type = 1;每次调用扣 model_price,与 Token 数无关。
音频模型(特殊处理)
部分音频模型按时长或字符计费,model_ratio 含义以模型管理配置为准。
预扣费与后扣费机制
预扣费在请求前冻结估算额度,完成后按实际 Token 多退少补;后扣费在响应结束后一次性扣减。
计费类型对照
| 类型 | 标识 | 说明 |
|---|---|---|
| Per-token | quota_type = 0 | Billed by token usage. Input price ≈ model_ratio × 2 (USD baseline) / 1M tokens; completion = input × completion_ratio. Cache read price appears when cache_ratio is set. |
| Per-call | quota_type = 1 | Fixed charge per request, shown as ¥x.xxxx / call (or your site currency). Completion column shows —. |
模型倍率设置
控制各模型输入侧基准倍率(model_ratio)。展示价(美元侧)≈ model_ratio × 2 / 1M Tokens,详见 模型管理。
常见模型倍率示例
| 模型 | model_ratio | 说明 |
|---|---|---|
gpt-4o | 2.5 | 旗舰多模态,输入倍率较高 |
gpt-4o-mini | 0.15 | 轻量模型,适合高频调用 |
gpt-3.5-turbo | 0.5 | 经典对话模型 |
claude-3-5-sonnet | 1.5 | 按上游定价折算 |
deepseek-chat | 0.07 | 高性价比开源系 |
设置方法
- 在「模型管理」编辑单模型,填写 model_ratio、completion_ratio 或 model_price,保存后调用 `PUT /api/model/` 生效。
- 在「倍率设置 → 模型倍率」Tab 批量编辑 JSON(ModelRatio),适合一次调整多个模型。
- 通过「上游倍率同步」从已配置渠道拉取最新倍率,再人工微调后保存。
- 重置为默认值可调用 `POST /api/setting/rest_model_ratio`(Root 专属)。
补全倍率设置
默认补全倍率
| 字段 | 说明 |
|---|---|
CompletionRatio | 全局默认补全倍率(option 表),未单独配置 completion_ratio 的模型继承此值,通常为 1 |
completion_ratio | 模型级补全倍率,覆盖全局默认;补全 Token 单价 = 输入单价 × completion_ratio |
分组倍率设置
分组倍率(group_ratio)决定同一模型在不同令牌分组下的计费折扣,与 分组管理 中的 ratio 字段一致。
分组倍率配置
{
"default": 1,
"vip": 0.8,
"svip": 0.6,
"test": 0
} 通过 GET|POST|PUT|DELETE /api/prefill_group/ 维护;保存后 GET /api/pricing 的 group_ratio 字段同步更新。
分组倍率优先级
- API 调用时优先取令牌分组(token.group)对应的 group_ratio。
- 若令牌分组为 auto,则按系统策略解析实际分组后再取倍率。
- 用户分组(user.group)影响可用模型列表与默认定价展示,计费倍率以令牌分组为准。
- 未在 group_ratio 中声明的分组默认倍率为 1。
可视化倍率设置
「倍率设置」Tab 提供表格化编辑,支持搜索、排序与批量保存,无需手写 JSON。Web 控制台正在对接中。
| 模型 | model_ratio | completion_ratio | model_price |
|---|---|---|---|
gpt-4o | 2.5 | 3 | — |
gpt-4o-mini | 0.15 | 1.5 | — |
midjourney | — | — | 0.1 |
可视化倍率表格示意:内联编辑 model_ratio / completion_ratio / model_price
| 列 | 字段 | 说明 |
|---|---|---|
| 模型名称 | — | 与渠道/定价接口中的 model 字段一致 |
| 模型倍率 | model_ratio | 表格内联编辑,保存写入 option 或 model 表 |
| 补全倍率 | completion_ratio | 可留空继承全局 CompletionRatio |
| 固定价格 | model_price | 按次模型填写,与 model_ratio 互斥展示 |
未设置倍率模型
当渠道同步或手动添加带来尚未配置 model_ratio 的模型时,行为由 option accept_unset_model_ratio_model 控制:
- 关闭(默认):拒绝调用并在日志中提示「模型倍率未设置」,避免误计费。
- 开启:允许调用,按默认倍率 1 或上游返回值计费;适合快速接入新模型后再统一调价。
建议生产环境保持关闭,在「模型管理」或倍率同步完成配置后再开放。
上游倍率同步
从已对接的上游渠道拉取最新 model_ratio,减少手工维护成本。
- 调用
GET /api/ratio_sync/channels查看支持同步的渠道列表 - 选择渠道后调用
POST /api/ratio_sync/fetch拉取倍率 - 在可视化表格或 JSON 中核对差异,确认后保存
- 必要时使用
POST /api/setting/rest_model_ratio恢复默认倍率
常见问题
如何为新模型设置倍率?
在「模型管理 → 添加模型」或编辑已有模型时填写 model_ratio;按次模型填 model_price 并将 quota_type 设为 1。保存后可在模型广场验证展示价格。若渠道同步带来新模型名称,也可先执行上游倍率同步再微调。
分组倍率如何生效?
用户创建令牌时选择分组;调用 API 时网关读取 token.group,在 group_ratio JSON 中查找对应倍数,乘以模型自身倍率后扣减额度。vip 分组倍率 0.8 表示相同 Token 消耗仅为 default 的 80%。
补全倍率的作用是什么?
输出 Token 往往比输入更贵。completion_ratio 表示「每 1 个补全 Token 相对 1 个输入 Token 的价格倍数」。例如 model_ratio=1、completion_ratio=3 时,100 prompt + 50 completion 的相对权重为 100×1 + 50×1×3 = 250。
如何批量设置相似模型的倍率?
在倍率设置 Tab 使用可视化表格或 ModelRatio JSON 批量编辑;也可在模型管理中按供应商筛选后逐条调整。对同一系列模型可先同步上游倍率,再统一乘以折扣系数写入 JSON。
配额计算实例
以下示例展示权重计算过程;最终 quota 数值还取决于站点基准单价与展示币种,精确扣费以 使用记录 为准。
示例 1:GPT-4 标准用户对话
default 分组,gpt-4o,model_ratio=2.5,completion_ratio=3,一次对话 prompt=1000、completion=500 Token。
- 输入权重 = 1000 × 2.5 = 2500
- 补全权重 = 500 × 2.5 × 3 = 3750
- 合计权重 = 6250(再 × group_ratio 1 × 基准单价得到 quota)
结果:按量扣费;具体美元/额度数值取决于站点 quota 基准,可在使用日志查看精确扣减。
示例 2:GPT-3.5 VIP 用户对话
vip 分组 group_ratio=0.8,gpt-3.5-turbo,model_ratio=0.5,completion_ratio=1.5,prompt=2000、completion=800。
- 输入权重 = 2000 × 0.5 = 1000
- 补全权重 = 800 × 0.5 × 1.5 = 600
- 小计 = 1600 × group_ratio 0.8 = 1280
结果:VIP 分组 8 折;相同 Token 数比 default 分组少扣 20% 额度。
示例 3:按次计费模型(如 Midjourney)
quota_type=1,model_price=0.1(美元等价值),group_ratio=1,每次 imagine 调用 1 次。
- 每次调用固定扣 model_price × group_ratio
- 与 prompt/completion Token 数无关
结果:单次扣 0.1 美元等价值额度;vip 分组 0.8 倍时单次扣 0.08。
聊天设置
配置站点内置聊天/操练场及第三方聊天客户端一键导入。对应系统设置「聊天设置」Tab。
聊天应用配置
控制操练场、聊天页默认模型与可见性;保存后影响 `/console/playground` 与演示聊天入口。
| 配置项 | 字段 | 说明 |
|---|---|---|
| 聊天链接 | ChatLink | 外部聊天页 URL;留空则使用站内操练场 |
| 默认聊天模型 | DefaultChatModel | 操练场/聊天页首次加载时的默认 model 名称 |
| 展示 API 信息 | ChatApiInfoEnabled | 在聊天页展示 API 基址与配置提示 |
| 实名校验 | ChatRealNameCheckEnabled | 开启后未实名用户不可使用聊天功能 |
聊天集成变量
一键导入 URL 模板中可使用以下占位符,由前端在打开第三方应用时替换为当前用户令牌与站点 API 地址:
- {apiKey} / {token}:当前选中的 EasyAPI 令牌(sk- 开头)
- {baseUrl} / {openAIUrl}:站点 API 基址(NUXT_PUBLIC_API_BASE_URL)
- {openAIBaseUrl}:{baseUrl}/v1,供 OpenAI SDK 兼容客户端使用
- {siteName}:站点名称,用于部分客户端显示标题
聊天应用集成
在令牌管理页「聊天应用集成」区域,支持一键导入至 ChatGPT Next Web、Lobe Chat、OpenCat 等客户端。各应用参数拼接规则见用户指南「聊天应用集成」。
- 导入前需先在令牌页创建并选中目标令牌
- 导入链接在新标签页打开,不会泄露完整 Key 到当前页 URL 历史(部分客户端仍会在 hash 中短暂出现)
- 手动对接时使用 Authorization: Bearer {apiKey} 与 {openAIBaseUrl}
完整步骤见 聊天应用集成 用户指南。
绘图设置
Midjourney 等绘图类异步任务的网关参数与计费策略。对应「绘图设置」Tab,任务进度见用户「任务中心」。
Midjourney 配置
控制 MJ 代理行为、通知与账号过滤;需先在「渠道管理」配置 Midjourney 类型渠道。
| 配置项 | 字段 | 说明 |
|---|---|---|
| MJ 通知 | MjNotifyEnabled | 任务完成/失败时向用户发送通知(取决于通知渠道配置) |
| 账号过滤 | MjAccountFilterEnabled | 按 Discord 账号过滤或隔离 MJ 任务 |
| 动作校验 | MjActionCheckSuccessEnabled | 对 upscale/variation 等动作回调做成功校验 |
| 绘图代理地址 | MjProxyUrl | 可选;覆盖默认 MJ 代理网关 |
绘图计费
Midjourney 等绘图模型通常按次计费(quota_type=1),在模型管理中设置 model_price;分组倍率 group_ratio 同样生效。
- imagine / upscale / variation 等动作各计一次或按模型配置扣费
- 任务提交后先预扣额度,失败任务按网关策略退还
- 用户可在 `/console/tasks` 查看 mj_id、进度与扣费记录
- 详见用户指南「任务中心」与「定价」中的按次计费说明
数据看板设置
控制台仪表盘 `/console/dashboard` 的统计范围、图表与导出选项。对应「仪表盘设置」Tab。
看板配置 - 基础设置
控制仪表盘默认时间范围、是否展示额度/请求量等核心指标卡片。
| 配置项 | 字段 | 说明 |
|---|---|---|
| 启用数据看板 | DashboardEnabled | 关闭后普通用户不可访问统计页(管理员仍可查看) |
| 默认统计天数 | DashboardDefaultDays | 打开看板时的默认区间,如 7 / 30 天 |
| 展示额度消耗 | DashboardQuotaEnabled | 是否在概览卡片展示 quota 消耗 |
| 展示请求次数 | DashboardRequestEnabled | 是否展示 API 请求量统计 |
看板配置 - 图表设置
配置折线图/柱状图的数据粒度与展示项,便于运营分析高峰时段与模型分布。
| 配置项 | 字段 | 说明 |
|---|---|---|
| 模型分布图 | DashboardModelChartEnabled | 按 model 维度展示调用占比 |
| 渠道分布图 | DashboardChannelChartEnabled | 按 channel 维度展示流量(管理员可见) |
| 统计粒度 | DashboardStatGranularity | hour / day;影响图表 X 轴刻度 |
看板配置 - 高级选项
面向 Root/管理员的扩展能力:原始日志导出、跨用户汇总等。
- 数据导出:支持按时间范围导出 CSV(具体字段以控制台为准)
- 管理员视图:可查看全站汇总;普通用户仅看本人数据
- 缓存刷新:修改看板选项后建议清除 CDN/浏览器缓存以立即生效
模型设置
模型列表展示、调用行为与同步策略。与「模型管理」配合使用,对应「模型相关设置」Tab。
模型显示设置
影响模型广场 `/models` 与控制台下拉列表的展示内容。
| 配置项 | 字段 | 说明 |
|---|---|---|
| 隐藏未启用模型 | HideDisabledModels | 不在公开列表展示 status=0 的模型 |
| 展示模型描述 | ShowModelDescription | 在模型卡片/表格中显示 description 字段 |
| 默认定价分组 | DefaultPriceGroup | 模型广场默认选中的分组筛选 |
| 额度显示类型 | QuotaDisplayType | USD / CNY / TOKEN,与通用设置联动 |
模型行为设置
全局影响 API 网关路由、重试与未配置倍率模型的处理方式。
| 配置项 | 字段 | 说明 |
|---|---|---|
| 失败重试次数 | RetryTimes | 上游错误时的自动重试上限 |
| 模型请求超时 | ModelRequestTimeout | 单次上游请求超时(秒) |
| 接受未设置倍率模型 | AcceptUnsetModelRatioModel | 见本文「未设置倍率模型」章节 |
| 流式超时 | StreamTimeout | SSE 流式连接最大空闲时间 |
模型同步设置
从渠道自动发现模型名称并写入模型表;可与倍率同步配合使用。
- 在「渠道管理」启用渠道后,可在模型设置中触发「从渠道同步模型列表」
- 同步仅更新模型名称与元数据,倍率需单独配置或通过 `POST /api/ratio_sync/fetch` 拉取
- 模型映射(model_mapping)在渠道级配置,不在本 Tab 重复维护
运营设置
注册、充值、兑换码等面向终端用户的运营开关。部分字段与「支付设置」「通用设置」重叠,以最后保存的 option 为准。
基础运营配置
控制新用户注册、初始额度与站点运营模式。
| 配置项 | 字段 | 说明 |
|---|---|---|
| 允许注册 | RegisterEnabled | 关闭后首页隐藏注册入口 |
| 邮箱验证 | EmailVerificationEnabled | 注册或改邮箱需验证邮件 |
| 新用户初始额度 | QuotaForNewUser | 注册成功后赠送的 quota |
| 演示站点模式 | DemoSiteEnabled | 限制部分写操作,适合对外演示 |
| 自用模式 | SelfUseModeEnabled | 关闭公开注册或外部分发 |
充值配置
与支付 Tab 联动,控制钱包页 `/console/wallet` 充值能力。
| 配置项 | 字段 | 说明 |
|---|---|---|
| 充值链接 | TopUpLink | 外部充值页 URL;留空使用站内钱包 |
| 最低充值 | MinTopUp | 单次充值下限(美元) |
| 固定充值档位 | TopUpAmountOptions | JSON 数组,如 [10, 20, 50, 100] |
| 允许自定义金额 | CustomTopUpEnabled | 是否展示任意金额输入框 |
兑换码配置
控制用户自助兑换与管理端批量发码能力。
| 配置项 | 字段 | 说明 |
|---|---|---|
| 启用兑换码 | RedemptionEnabled | 关闭后用户无法在 `/console/wallet` 兑换 |
| 兑换码前缀 | RedemptionCodePrefix | 批量生成时的可选前缀 |
| 单用户兑换上限 | RedemptionLimitPerUser | 0 表示不限制 |
- 管理端批量生成见「兑换码管理」文档(管理 API:`/api/redeem_codes`)
- 用户兑换入口:`/console/wallet`,接口 `POST /api/user/redeem`
管理端操作见 兑换码管理。
其他设置
首页内容、公告、杂项功能开关。对应「其他设置」Tab 与部分「通用设置」字段。
首页配置
营销首页与落地页内容,公开接口只读返回。
| 配置项 | 字段 | 说明 |
|---|---|---|
| 首页内容 | HomePageContent | Markdown/HTML 片段;`GET /api/home_page_content` 返回 |
| 启用自定义首页 | IndexPageEnabled | 使用 HomePageContent 替代默认首页布局 |
| 公告 | Notice | 站点顶部滚动公告文本 |
| 关于页 | About | 关于页 Markdown;亦可通过 `GET /api/about` 获取 |
其他功能配置
OAuth、通知、页脚等杂项;详细 OAuth 提供商见「自定义 OAuth」文档(若已启用)。
| 配置项 | 字段 | 说明 |
|---|---|---|
| 文档地址 | DocumentationLink | 顶栏「文档」跳转 URL |
| 页脚 HTML | Footer | 全站页脚自定义内容 |
| Turnstile 站点密钥 | TurnstileSiteKey | Cloudflare Turnstile 人机验证 |
| 数据导出间隔 | DataExportInterval | 用户数据自助导出冷却时间(分钟) |