🔧 开发者页(DeveloperPage)

API 文档查阅、AI Keys 管理、API 使用统计三大模块。

页面结构

  • Tab 栏:API 文档 / API Keys / 使用统计
  • API 文档 Tab:markdown 渲染的 API 使用文档(纯前端渲染,无 API 请求)
  • API Keys Tab:Keys 列表(提供商/模型/状态/操作)+ 新建表单
  • 使用统计 Tab:调用次数和 Token 消耗图表

触发时机详解

API Keys Tab — 核心操作

1. 切换到「API Keys」Tab → GET /api/apikeys

触发条件:点击"API Keys" Tab → setActiveTab("api-keys") → 获取该用户的 Keys 列表
GET /api/apikeys
✅ 切换到 API Keys Tab 时触发

响应:

[{
  "id": "string",
  "user_id": "string",
  "provider": "openai|anthropic|...",
  "model": "gpt-4o|claude-3-5-sonnet-...",
  "api_key_encrypted": "sk-...",
  "is_active": 0|1,
  "created_at": "ISO8601"
}]

2. 添加 API Key → Modal → POST /api/apikeys

触发条件:点击"添加 API Key"按钮 → 弹出 Modal → 填写信息 → 点击"添加"按钮
POST /api/apikeys
✅ 点击"添加"按钮触发
参数类型必填说明
api_keystring必填API Key 内容(sk-...)
providerstring必填提供商:openai / anthropic / google / deepseek / zhipu / ollama
modelstring选填模型名称(如 gpt-4o,自动从 Key 推断或手动填写)
labelstring选填备注标签

副作用:成功后重新 GET /api/apikeys

3. 禁用 / 启用 Key → PUT /api/apikeys/:id

触发条件:点击 Key 卡片的"禁用"/"启用"切换按钮 → 直接发送 PUT
PUT /api/apikeys/:id
✅ 点击切换按钮直接触发(无需确认)
参数类型必填说明
is_activeboolean必填false=禁用, true=启用

副作用:成功后重新 GET /api/apikeys

4. 删除 Key → DELETE /api/apikeys/:id

触发条件:点击 Key 卡片的"删除"按钮 → confirm() 确认 → 发送 DELETE
DELETE /api/apikeys/:id
✅ confirm 确认后触发

副作用:成功后重新 GET /api/apikeys

使用统计 Tab

5. 切换到「使用统计」Tab → GET /api/apikeys/stats

触发条件:点击"使用统计" Tab → setActiveTab("usage-stats") → 获取统计数据
GET /api/apikeys/stats
✅ 切换到使用统计 Tab 时触发

响应:

{
  "total_calls": 1234,
  "prompt_tokens": 567890,
  "completion_tokens": 123456,
  "total_tokens": 691346,
  "by_model": {
    "gpt-4o": {"calls": 800, "tokens": 400000},
    "claude-3-5-sonnet": {"calls": 434, "tokens": 291346}
  },
  "by_day": [{"date": "2024-01-01", "calls": 45, "tokens": 1234}, ...]
}

API 文档 Tab

6. 切换到「API 文档」Tab

触发条件:点击"API 文档" Tab → setActiveTab("api-docs")(纯前端渲染,无 API 请求)
注意:API 文档 Tab 是纯前端 markdown 渲染,文档内容内置在代码中,不涉及后端 API 调用。