3.5 KiB
3.5 KiB
API 文档
基础信息
- 基础 URL:
/api - 响应格式:JSON
- 认证方式:JWT Bearer Token(Authorization 头)
统一响应格式
{
"success": true,
"data": {},
"message": "操作成功"
}
认证 API
POST /auth/login
用户登录,获取 JWT 令牌。
请求体:
{
"username": "admin",
"password": "123456"
}
成功响应:
{
"success": true,
"data": {
"token": "eyJ0eXAiOiJKV1QiLCJhbGc...",
"user": {
"id": 1,
"username": "admin",
"role": "admin"
}
}
}
GET /auth/me
获取当前用户信息。(需认证)
响应:
{
"success": true,
"data": {
"id": 1,
"username": "admin",
"role": "admin"
}
}
会话 API
GET /sessions
获取当前用户的会话列表。(需认证)
响应:
{
"success": true,
"data": [
{
"id": 1,
"user_id": 1,
"name": "新会话",
"provider": "newapi",
"model": "gpt-3.5-turbo",
"system_prompt": "",
"personality_id": null,
"thinking_mode": 0,
"created_at": "2024-01-01 00:00:00",
"updated_at": "2024-01-01 00:00:00"
}
]
}
POST /sessions
创建新会话。(需认证)
请求体:
{
"name": "新对话",
"provider": "newapi",
"model": "gpt-3.5-turbo",
"system_prompt": "",
"thinking_mode": false
}
PUT /sessions/{id}
更新会话。(需认证)
DELETE /sessions/{id}
删除会话。(需认证)
消息 API
GET /sessions/{id}/messages
获取指定会话的消息列表。(需认证)
POST /sessions/{id}/messages
保存消息到指定会话。(需认证)
请求体:
{
"role": "user",
"content": "Hello!",
"file_info": null,
"thinking_content": null
}
AI 对话 API
POST /chat/completions
AI 对话请求(SSE 流式响应)。(需认证)
请求体:
{
"provider": "newapi",
"model": "gpt-3.5-turbo",
"messages": [
{"role": "user", "content": "Hello!"}
],
"stream": true,
"systemPrompt": "",
"thinkingMode": false
}
SSE 响应格式:
data: {"content":"Hello"}
data: {"content":"!"}
data: {"thinking":"Let me think..."}
data: [DONE]
文件上传 API
POST /upload
上传文件。(需认证,multipart/form-data)
支持格式: jpg, jpeg, png, gif, webp, js, ts, py, java, cpp, c, html, css, json, xml, txt, md, go, rs, php, rb, sql, yaml, yml, sh, bat 大小限制: 10MB
响应:
{
"success": true,
"data": {
"url": "/uploads/xxx.jpg",
"name": "原始文件名.jpg",
"size": 1024,
"type": "jpg"
}
}
配置 API
GET /config
获取系统配置。(需认证)
PUT /config
更新系统配置。(需认证 + 管理员)
人格 API
GET /personalities
获取人格列表。(需认证)
POST /personalities
创建人格。(需认证 + 管理员)
PUT /personalities/{id}
更新人格。(需认证 + 管理员)
DELETE /personalities/{id}
删除人格。(需认证 + 管理员)
安装 API
GET /install/status
检查安装状态。(无需认证)
POST /install/test-db
测试数据库连接。(无需认证)
POST /install/setup
执行安装。(无需认证)