API-KEY 控制台
一个面向个人 / 小团队的桌面端「模型 API-KEY 统一管理与对话测试台」:集中维护多个模型供应商(OpenAI 兼容 / Anthropic 两种协议)、模型定价、API-KEY 额度与分配关系,内置对话测试页并自动统计 Token 消耗与费用。后端持有密钥,前端不接触第三方 Key;普通用户只能使用被分配给自己的 Key。
- 后端:Go + GoFrame v2 + gdb(默认 MySQL,可切回 SQLite 纯 Go 驱动)
- 前端:Vue3 + Vite + TypeScript + Element Plus + Pinia + Vue Router + axios
- 桌面壳:Electron(electron-builder 打包 Windows nsis / macOS dmg / Linux AppImage)
功能特性
| 模块 | 说明 |
|---|---|
| 供应商管理 | 名称、协议格式(OpenAI / Anthropic)、API 地址 base_url、平台网址、余额、最大并发数、超时时长、启停、备注 |
| 模型管理 | 所属供应商、缓存命中输入价、未命中输入价、输出价(元/百万 Token,两位小数)、上下文长度(列表按 M 展示)、是否支持思考模式、是否支持多模态、启停 |
| API-KEY 管理 | 名称、所属供应商、Key 明文(列表掩码回显)、有效日期、最大限额 / 已用额度进度、启停;一个供应商可挂多个 Key;可批量分配给用户 |
| 用户与权限 | admin 管理员(供应商 / 模型增删改与启停 + 用户管理 + 全局统计 + 查看全部会话);user 普通用户(供应商 / 模型共享只读,创建 API-KEY 时选用;自建自管 API-KEY);API-KEY 各用户(含管理员)严格按归属隔离;Key 归属者可把自己的 Key 分配给其 他用户使用;JWT 登录;公开自助注册默认开通(注册即普通用户,app.allow_register 可关闭) |
| 对话测试 | 按用户可用 Key 与模型发起多轮对话;支持 SSE 流式渲染;记录每条消息 Token(含缓存命中 Token)与折算费用;Key 额度自动累计 |
| 对话增强 | 思考过程(reasoning)独立 SSE 事件、气泡内可折叠展示;assistant 消息头部显示「供应商 · 模型」;新建 Key 自动分配给创建者;上游非 SSE 时后端切片模拟逐字流式(约 20ms 片间隔、Markdown 结构单元不拆碎、受供应商超时约束) |
| 消息渲染 | assistant 正文 Markdown 渲染(marked 解析 + DOMPurify 消毒,杜绝未过滤注入;代码块暗色等宽横向滚动;本轮不引入语法高亮依赖);assistant 气泡占满消息区宽度,user 气泡靠右约 60% 蓝底;user 消息与思考折叠区保持纯文本 |
| 统计概览 | 全局 / 个人维度的供应商数、模型数、Key 数、会话数、今日 Token、今日费用、累计费用 |
| 仪表盘图表 | 调用 Top 榜单(模型 / 供应商 × 调用次数 / Token / 费用切换)、供应商调用占比环形图、7/30 天用量趋势双轴图(柱=费用、线=Token)、Token 用量构成环形图;空数据空态兜底;admin 全局、user 本人口径 |
| 双协议转发 | OpenAI 兼容 POST {base_url}/chat/completions(Bearer)与 Anthropic POST {base_url}/v1/messages(x-api-key + anthropic-version),协议适配独立成包 |
