WebUI API 调用接口

BitComet 从 v2.09 开始提供 WebUI。官方 WebUI 使用 Vue、Vuetify 和 axios,通过 JSON API 与 BitComet 通信。第三方也可以实现自己的 WebUI,但应把这里的接口视为随 BitComet 版本演进的内部公开协议,而不是已有稳定版本承诺的 OpenAPI。

本文档依据 2026-08-11 的 BitComet 后端与官方 WebUI 源码整理。实现时应保留未知字段、检查 error_code,并对目标 BitComet 版本做实际兼容性测试。

安全要求: 第三方 WebUI 必须使用 HTTPS。登录报文中的加密只用于兼容认证协议,不能替代 TLS;不要把密码、invite_tokendevice_token 或文件访问密钥写入 URL、日志和错误上报。

建议阅读顺序

  1. 通用请求与认证:请求头、登录、Token、错误处理和安全边界。
  2. 任务列表与任务操作:列表、批量选择、启动、停止、校验和删除。
  3. 添加任务:HTTP、BT、磁力链接和批量添加。
  4. 任务详情:摘要、文件、Tracker、连接、Peer 和日志。
  5. 配置接口:下载目录、连接、任务、IP Filter 等设置。
  6. 文件访问与播放:受控文件访问、播放和下载。
  7. 高级接口索引:状态、通知、CometID、RSS、移动设备等可选能力。

最小实现范围

一个可用的第三方 WebUI 至少需要:

接口约定速查

项目约定
API 请求通常为 POST,请求体为 JSON
内容类型Content-Type: application/json
客户端标识Client-Type: BitComet WebUI
登录后认证Authorization: Bearer <device_token>
Token 无效HTTP 401,通常返回 error_code: "INVALID_TOKEN"
成功判断读取每个接口的 error_code;历史接口存在 OK/ok 差异
版本信息普通 JSON 响应通常包含 versionplatformfile_size_prefix

完整认证示例和字段说明见通用请求与认证