Get the SDK
The plugin SDK is not on PyPI. Each 4.0 beta and stable GitHub release has two attachments for plugin authors:
| File | Content |
|---|---|
autobangumi_sdk-<SDK version>-py3-none-any.whl | The ab_sdk package and the ab-plugin command |
autobangumi-plugin-skill-<AB version>.zip | A plugin-development skill for AI coding assistants |
The wheel file name contains the SDK version (ab_sdk.SDK_VERSION, for example 0.6.0). It does not contain the AB version. Download the wheel from the release of your target AB version, so that the two SDK versions are the same. The sdk range in the plugin manifest (for example ">=0.5,<1") must include this version.
Install the wheel
The wheel needs Python 3.14 or later. It depends on pydantic, httpx2 and packaging. You do not need to install AutoBangumi.
To use only the command line, install the wheel as a global tool:
uv tool install ./autobangumi_sdk-0.6.0-py3-none-any.whl
ab-plugin --helpTo write a plugin and run its tests, add the wheel as a dependency of the plugin project:
cd my-plugin
uv add ../autobangumi_sdk-0.6.0-py3-none-any.whl
uv run pytestuv add writes the local path of the wheel in [tool.uv.sources] of pyproject.toml. ab-plugin pack does not pack pyproject.toml or uv.lock, so this path does not go into the plugin package. The pyproject.toml that ab-plugin new creates already needs autobangumi-sdk, but it gives no source. Thus, run uv add one time in a new skeleton too.
The contract tests need pytest. The dev dependency group of the skeleton already has pytest. You can also install the optional dependency autobangumi-sdk[test].
To upgrade the SDK, download the wheel of the new release. Then run uv tool install --force <new wheel> or uv add <new wheel> again.
Develop in the AB repository
The SDK source is in backend/src/ab_sdk. The package configuration is in backend/sdk/pyproject.toml. The dev dependency group of backend installs it in editable mode, so you do not need the wheel in the repository:
cd backend
uv sync --group dev
uv run ab-plugin validate ../examples/plugins/ntfy-notifierTo build the wheel yourself (the same command as CI):
uv build --wheel backend/sdk --out-dir sdk-distThe plugin-development skill
The skill is a set of Markdown instructions. An AI coding assistant reads them to write, test and pack AB plugins. The zip contains the directory autobangumi-plugin/:
autobangumi-plugin/
├── SKILL.md # workflow, extension point table, frequent errors
└── references/
├── extension-points.md # signature and fields of each extension point
├── frontend.md # frontend slots
└── testing.md # contract tests and create_pluginUnpack it in the skills directory of your assistant. For Claude Code, the personal skills directory is ~/.claude/skills/:
unzip autobangumi-plugin-skill-<AB version>.zip -d ~/.claude/skills/For other assistants, use their skills directory. The source of the skill is skills/autobangumi-plugin/ in the repository.
How CI builds the files
The release job of .github/workflows/build.yml runs only when a maintainer pushes a version tag:
uv build --wheel backend/sdk --out-dir sdk-distbuilds the wheel. The version comes fromab_sdk.SDK_VERSION.- The job zips
skills/autobangumi-pluginintoautobangumi-plugin-skill-<AB version>.zip. - The job attaches the two files to the GitHub release of that version, together with the WebUI, the online update bundle and other files. Beta (pre-release) and stable releases both have the two files.