Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Openlist-Ani Logo

Openlist-Ani

🎬 RSS 订阅 → 自动下载 → AI 重命名,一站式番剧自动化管理

Openlist-Ani,简称O-Ani,从动漫番剧相关的 RSS 订阅源中自动获取番剧更新,通过 Openlist 离线下载至对应网盘,
并结合 LLM 分析资源名,将资源重命名为 Emby / Jellyfin 可解析的格式。


✨ 特点

  • 📡 自动追番 — 自动获取 RSS 番剧更新并下载
  • 📦 多网盘支持 — 基于OpenList实现,支持 PikPak、115 等离线下载
  • 🗂️ 合集整理 — 一次下载多集文件,逐集解析元数据、匹配字幕并归类到媒体库
  • 🤖 AI 重命名 — AI 分析资源名 + TMDB 搜索,精准获取番剧名、季度、集数
  • 💬 智能助理 — 挂载至 Telegram / 微信ClawBot / 飞书机器人,通过自然语言让 AI 帮你搜索并下载资源
  • 🔔 更新通知 — 通过 PushPlus、Telegram、微信ClawBot、飞书等渠道推送更新

📋 准备工作

  1. 参照 Openlist 官方文档 部署 Openlist,并搭建好离线下载
  2. 准备好 RSS 订阅链接(如 Mikan Project
  3. 可选:准备 AI API Key,或安装并登录 Pi / Claude Code / Codex Agent(均未配置时元数据使用本地正则 + TMDB)

非 Docker 安装支持 Python 3.11、3.12 和 3.13,使用 libtorrent>=2.0.13,<2.1 (当前锁定版本为 2.0.13)。Windows x64 会在这三个 Python 版本上执行兼容性测试; 如果本机原生模块导入失败,请先升级到受支持的 Python 和最新项目版本,再按 PIP 安装指南中的 Windows 检查步骤验证。

源码或 PIP 安装无需 Node.js/npm。首次使用默认 Pi Assistant 时,程序会下载 官方锁定版本的独立二进制,校验 SHA-256 后原子安装到配置文件旁的 data/assistant/runtime/pi/。显式配置的 executable 和 PATH 中已有的 Pi 仍然优先,不会被覆盖。Windows 如果没有可用的 Bash,程序还会下载官方 PortableGit、校验固定 SHA-256,并将 Git Bash 安装到 data/assistant/runtime/git-bash/;不会修改系统安装或全局 PATH。

API source(包括旧 [llm] 自动迁移得到的 source)会自动注入 Pi,无需重新 配置模型;完全没有 AI source 时才使用 Pi 自己的登录和模型配置。Docker 镜像 已预装 Pi。如果使用 Claude Code 或 Codex source,则安装并登录对应的原生 CLI。 内置 Skills 不再复制到临时会话目录:Pi 直接使用 --skill,Claude Code 使用 --plugin-dir,Codex 则在每个隔离会话的 .agents/skills 中建立指向 随包 Skill 目录的临时符号链接,不复制内容或修改 Codex 的持久配置。

🚀 快速开始

方式一:源码安装(推荐)

前置:安装 uv

Linux / macOS

curl -LsSf https://astral.sh/uv/install.sh | sh

Windows

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

更多安装方式参考 uv 官方文档

1. 安装

git clone https://github.com/TwooSix/Openlist-Ani.git
cd Openlist-Ani

# 推荐切换到最新 Release tag;master 为开发分支,不保证稳定
# Release 版本以 tag 为准
git fetch --tags
git checkout tags/v***    # 将 v*** 替换为 Release 页面中的版本号

uv sync --no-dev --frozen

2. 创建配置文件

在运行目录下新建 config.toml,填入以下内容:

config_version = 2

[rss]
urls = ["RSS订阅链接"]

[downloader]
download_path = "/PikPak/Anime"
rename_format = "{anime_name} S{season:02d}E{episode:02d} {fansub} {quality} {languages}"
# 可选年份:"{anime_name} ({year}) S{season:02d}E{episode:02d}"

[downloader.openlist]
url = "http://localhost:5244"
token = ""                          # 令牌,见「设置 → 其他 → 令牌」
offline_download_tool = "qBittorrent"

[metadata]
pipeline = ["regex", "tmdb"]       # 默认配置;推荐配置 AI source 后改为 ["ai", "tmdb"]

# 可选:API source。Metadata 直接调用 API,Assistant 由内置 Pi 承载。
# [ai.sources.primary]
# type = "api"
# provider = "openai-compatible"
# api_key = "sk-xxx"
# base_url = "https://api.deepseek.com/v1"
# model = "deepseek-chat"

完整配置项请参考 config.toml.example配置说明

3. 启动

uv run openlist-ani

4.(可选)启动 AI 助理

在配置文件中补充助理配置后运行:

[assistant]
enabled = true

[assistant.telegram]
enabled = true
bot_token = ""        # 从 @BotFather 获取
allowed_users = [123456789]  # 必填;只有这些用户可以使用 Assistant
uv run openlist-ani-assistant

内置 Skills 会随程序包加载并由 Agent 原生发现。./skills 可向 Pi/Claude Code 直接提供自定义 Skills;Codex 会将其与内置 Skills 一起投影到隔离会话的 .agents/skills 目录,同名 Skill 目录以用户版本为准。

方式二:Docker 部署

1. 准备文件

在运行目录下创建:

  • config.toml — 配置文件(内容同上)
  • data/ — 数据目录

2. 启动容器

docker run -d \
  --name openlist-ani \
  --network host \
  -e ENABLE_ASSISTANT=false \
  -v /path/to/config.toml:/config.toml \
  -v /path/to/data:/data \
  twosix26/openlist-ani:latest

/path/to/ 替换为你的实际路径。
如需启用 AI 助理,填写好配置后将 ENABLE_ASSISTANT 设为 true
详细说明见 Docker 部署指南

方式三:PIP 安装
pip install openlist-ani
openlist-ani

# 可选:启动 AI 助理
openlist-ani-assistant

📖 文档

🖼️ 效果展示

重命名结果 智能助理

Release files for openlist-ani 1.0.0.dev260809

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for openlist-ani 1.0.0.dev260809
File Size Uploaded
openlist_ani-1.0.0.dev260809.tar.gz 261.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for openlist-ani 1.0.0.dev260809
File Interpreter ABI Platform
openlist_ani-1.0.0.dev260809-py3-none-any.whl Python 3 none any Details

Total release size: 612.4 kB

Release files / openlist_ani-1.0.0.dev260809.tar.gz

Download URL openlist_ani-1.0.0.dev260809.tar.gz
Size 261.6 kB
Tags Source
SHA-256 checksum
How to use checksums
0b69910a09909fe03e11e01dc594a8a62f7dc502267aad68a07a596d0f0650e7
BLAKE2b-256 checksum
How to use checksums
29425aaf927aa7abefc2710fa190f804d55da4e1042557cebe1116a2080712d7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / openlist_ani-1.0.0.dev260809-py3-none-any.whl

Download URL openlist_ani-1.0.0.dev260809-py3-none-any.whl
Size 350.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2f86fbef2ce5a4327d15841e85c147c1de7983f344334356f697223cb02e3d5a
BLAKE2b-256 checksum
How to use checksums
7908ab23dc498aa7aa0654e676b255402818b30b19bd4032725f44f6af611665
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page