- Configure VitePress locales with zh-CN as root and en-US as /en/ - Translate all documentation to Chinese (31 files) - Create English documentation under /en/ directory - Add Chinese UI labels for navigation and pagination - Language switcher now available in site header Generated with [Claude Code](https://claude.ai/code) via [Happy](https://happy.engineering) Co-Authored-By: Claude <noreply@anthropic.com> Co-Authored-By: Happy <yesreply@happy.engineering>
8.1 KiB
REST API 参考
AutoBangumi 在 /api/v1 路径下提供 REST API。除登录和设置向导外,所有端点都需要 JWT 认证。
基础 URL: http://your-host:7892/api/v1
认证: 将 JWT 令牌作为 cookie 或 Authorization: Bearer <token> 请求头传入。
交互式文档: 在开发模式下运行时,可在 http://your-host:7892/docs 访问 Swagger UI。
认证
登录
POST /auth/login
使用用户名和密码进行认证。
请求体:
{
"username": "string",
"password": "string"
}
响应: 设置包含 JWT 令牌的认证 cookie。
刷新令牌
GET /auth/refresh_token
刷新当前的认证令牌。
登出
GET /auth/logout
清除认证 cookie 并登出。
更新凭据
POST /auth/update
更新用户名和/或密码。
请求体:
{
"username": "string",
"password": "string"
}
Passkey / WebAuthn
使用 WebAuthn/FIDO2 Passkey 进行无密码认证。
注册 Passkey
POST /passkey/register/options
获取 WebAuthn 注册选项(质询、依赖方信息)。
POST /passkey/register/verify
验证并保存来自浏览器的 Passkey 注册响应。
使用 Passkey 认证
POST /passkey/auth/options
获取 WebAuthn 认证质询选项。
POST /passkey/auth/verify
验证 Passkey 认证响应并签发 JWT 令牌。
管理 Passkey
GET /passkey/list
列出当前用户所有已注册的 Passkey。
POST /passkey/delete
通过凭据 ID 删除已注册的 Passkey。
配置
获取配置
GET /config/get
获取当前应用程序配置。
响应: 完整配置对象,包括 program、downloader、rss_parser、bangumi_manager、notification、proxy 和 experimental_openai 部分。
更新配置
PATCH /config/update
部分更新应用程序配置。只需包含您想要更改的字段。
请求体: 部分配置对象。
番剧(动画规则)
列出所有番剧
GET /bangumi/get/all
获取所有动画下载规则。
通过 ID 获取番剧
GET /bangumi/get/{bangumi_id}
通过 ID 获取特定动画规则。
更新番剧
PATCH /bangumi/update/{bangumi_id}
更新动画规则的元数据(标题、季度、集数偏移等)。
删除番剧
DELETE /bangumi/delete/{bangumi_id}
删除单个动画规则及其关联的种子。
DELETE /bangumi/delete/many/
批量删除多个动画规则。
请求体:
{
"bangumi_ids": [1, 2, 3]
}
禁用/启用番剧
DELETE /bangumi/disable/{bangumi_id}
禁用动画规则(保留文件,停止下载)。
DELETE /bangumi/disable/many/
批量禁用多个动画规则。
GET /bangumi/enable/{bangumi_id}
重新启用之前禁用的动画规则。
刷新海报
GET /bangumi/refresh/poster/all
从 TMDB 刷新所有动画的海报图片。
GET /bangumi/refresh/poster/{bangumi_id}
刷新特定动画的海报图片。
日历
GET /bangumi/refresh/calendar
从 Bangumi.tv 刷新动画放送日历数据。
重置全部
GET /bangumi/reset/all
删除所有动画规则。请谨慎使用。
RSS 订阅源
列出所有订阅源
GET /rss
获取所有已配置的 RSS 订阅源。
添加订阅源
POST /rss/add
添加新的 RSS 订阅源。
请求体:
{
"url": "string",
"aggregate": true,
"parser": "mikan"
}
启用/禁用订阅源
POST /rss/enable/many
启用多个 RSS 订阅源。
PATCH /rss/disable/{rss_id}
禁用单个 RSS 订阅源。
POST /rss/disable/many
批量禁用多个 RSS 订阅源。
删除订阅源
DELETE /rss/delete/{rss_id}
删除单个 RSS 订阅源。
POST /rss/delete/many
批量删除多个 RSS 订阅源。
更新订阅源
PATCH /rss/update/{rss_id}
更新 RSS 订阅源的配置。
刷新订阅源
GET /rss/refresh/all
手动触发刷新所有 RSS 订阅源。
GET /rss/refresh/{rss_id}
刷新特定的 RSS 订阅源。
获取订阅源中的种子
GET /rss/torrent/{rss_id}
获取从特定 RSS 订阅源解析的种子列表。
分析与订阅
POST /rss/analysis
分析 RSS URL 并提取动画元数据,但不订阅。
请求体:
{
"url": "string"
}
POST /rss/collect
从 RSS 订阅源下载所有剧集(用于已完结动画)。
POST /rss/subscribe
订阅 RSS 订阅源以自动下载连载中的动画。
搜索
搜索番剧(Server-Sent Events)
GET /search/bangumi?keyword={keyword}&provider={provider}
搜索动画种子。以 Server-Sent Events (SSE) 流的形式返回结果,提供实时更新。
查询参数:
keyword— 搜索关键词provider— 搜索提供者(例如mikan、nyaa、dmhy)
响应: 包含解析后搜索结果的 SSE 流。
列出搜索提供者
GET /search/provider
获取可用搜索提供者的列表。
程序控制
获取状态
GET /status
获取程序状态,包括版本、运行状态和 first_run 标志。
响应:
{
"status": "running",
"version": "3.2.0",
"first_run": false
}
启动程序
GET /start
启动主程序(RSS 检查、下载、重命名)。
重启程序
GET /restart
重启主程序。
停止程序
GET /stop
停止主程序(WebUI 仍可访问)。
关闭
GET /shutdown
关闭整个应用程序(重启 Docker 容器)。
检查下载器
GET /check/downloader
测试与已配置的下载器(qBittorrent)的连接。
下载器管理
直接从 AutoBangumi 管理下载器中的种子。
列出种子
GET /downloader/torrents
获取 Bangumi 分类中的所有种子。
暂停种子
POST /downloader/torrents/pause
通过哈希暂停种子。
请求体:
{
"hashes": ["hash1", "hash2"]
}
恢复种子
POST /downloader/torrents/resume
通过哈希恢复已暂停的种子。
请求体:
{
"hashes": ["hash1", "hash2"]
}
删除种子
POST /downloader/torrents/delete
删除种子,可选择是否删除文件。
请求体:
{
"hashes": ["hash1", "hash2"],
"delete_files": false
}
设置向导
这些端点仅在首次运行设置期间可用(设置完成前)。它们不需要认证。设置完成后,所有端点返回 403 Forbidden。
检查设置状态
GET /setup/status
检查是否需要设置向导(首次运行)。
响应:
{
"need_setup": true
}
测试下载器连接
POST /setup/test-downloader
使用提供的凭据测试与下载器的连接。
请求体:
{
"type": "qbittorrent",
"host": "172.17.0.1:8080",
"username": "admin",
"password": "adminadmin",
"ssl": false
}
测试 RSS 订阅源
POST /setup/test-rss
验证 RSS 订阅源 URL 是否可访问和可解析。
请求体:
{
"url": "https://mikanime.tv/RSS/MyBangumi?token=xxx"
}
测试通知
POST /setup/test-notification
使用提供的设置发送测试通知。
请求体:
{
"type": "telegram",
"token": "bot_token",
"chat_id": "chat_id"
}
完成设置
POST /setup/complete
保存所有配置并将设置标记为完成。创建标记文件 config/.setup_complete。
请求体: 完整配置对象。
日志
获取日志
GET /log
获取完整的应用程序日志文件。
清除日志
GET /log/clear
清除日志文件。
响应格式
所有 API 响应遵循统一格式:
{
"msg_en": "Success message in English",
"msg_zh": "成功消息(中文)",
"status": true
}
错误响应包含适当的 HTTP 状态码(400、401、403、404、500)以及中英文错误消息。