Kuanphough241 downloadsSync Bangumi collection and episode progress into notes.
Bangumi Sync is an Obsidian plugin for turning Bangumi collections into local notes. It supports multiple subject types, collection-status filters, episode progress, incremental sync, Daily Note sync blocks, and user-editable templates.
status: do subjects in one board and safely push episode progress from a grid UI.Bangumi Sync Report.md when sync issues occur.Screenshots are shared by both languages and listed at the bottom: Screenshots.
Community plugins and make sure restricted mode is off.Browse and search for bangumi.manifest.json, main.js, and styles.css from a release..obsidian/plugins/bangumi-note/ in your vault.bangumi in Settings → Community plugins.If you use BRAT to install beta/development plugins:
BRAT: Add a beta plugin for testing.kuanphough/obsidian-bangumi, or the full GitHub URL.bangumi in Community plugins.BRAT is intended for testing development builds. After a stable release is available, most users should prefer Obsidian Community plugins or GitHub release attachments.
Open token page.Fill from clipboard, or paste it into Access token.Test token to verify the configuration.Bangumi Sync: Sync now.Bangumi Sync: Sync one subject or click Sync one subject in settings.The plugin automatically syncs the Bangumi account that owns the saved token. Username is not required. User-Agent is generated from the plugin version.
Token page: https://next.bgm.tv/demo/access-token/create
Keep the token private. It authorizes the plugin to read your Bangumi account data. The token input is displayed as a password field.
| Setting | Description |
|---|---|
Access token |
Bangumi access token. Paste manually or fill from clipboard. |
Sync directory |
Root folder for synced notes. Default: Bangumi. |
Storage layout |
Store notes flat, by subject type, or by collection status. |
Folder naming |
Whether classification folders use English codes (anime/do) or Chinese (动画/在看). Note frontmatter always keeps the English codes, so switching never rewrites existing notes. Chinese follows Bangumi's per-type wording: books use 想读/读过/在读, music uses 想听/听过/在听, everything else uses 想看/看过/在看. |
Migrate classification folders |
Move existing notes from the previous folder naming to the current one. A preview is shown first and notes whose target path already exists are skipped; only available when the storage layout is not flat. |
File name format |
How note file names are built from the subject title and the Bangumi subject id. Three formats are available. |
Include on hold/dropped |
Whether to sync on-hold and dropped subjects. |
Incremental sync |
Skip unchanged subjects by Bangumi updated time and recreate missing local notes. |
DNS fix (DoH) |
How api.bgm.tv is resolved. Auto (default) uses the normal network path first and only switches to DNS-over-HTTPS after a network failure; Always resolves through DoH up front; Off keeps Obsidian's default transport. Useful when the system DNS returns wrong bgm.tv addresses and syncing fails with network errors. Desktop only. |
Localize cover images |
Download covers into the vault and link them locally instead of the remote URL. Applies to every note already in the sync directory, regardless of the selected subject types and statuses. Off by default because it stores extra files; enable it when remote covers do not load (for example when the system DNS cannot resolve lain.bgm.tv). Downloaded covers follow your Obsidian link preference: wikilink embeds normally, Markdown images () when Use [[Wikilinks]] is off. |
Cover folder |
Vault folder that receives localized covers. When empty it follows Obsidian's own attachment folder setting, and only falls back to a covers folder inside the sync directory when that setting points at the vault root or at the note's own folder. Already downloaded covers are not moved when this changes. |
Daily note sync |
Write newly added or updated in-progress subjects to today's Daily Note block. |
Daily note folder |
Folder that holds your daily notes. Leave empty to use the Daily Notes core plugin setting; fill it in when you create daily notes with QuickAdd, Periodic Notes, or another method. |
Daily note date format |
Moment.js date format for the daily note file name. Leave empty to use the core plugin setting, falling back to YYYY-MM-DD. |
Enable On Air note |
Generate Bangumi/On Air.md after sync, grouped by weekday for all broadcasts and your wished/watching anime. |
Enable write-back to Bangumi |
Allow manual Push from the current subject note for episode checklist changes and collection status, and allow board status write-back. Disabled by default; every Push requires confirmation. |
Subject note template |
Customize the Markdown template for subject notes. |
Run Bangumi Sync: Sync one subject, or click Sync one subject in settings. The command opens a search picker where you can enter:
https://bgm.tv/subject/543189543189URLs and IDs show a direct sync option. Keywords search books, anime, music, games, and real-life subjects. Search results include year, score, bgm-id, and a subject type tag.
If the subject is already in your Bangumi collection, the plugin uses the real collection status, rating, tags, and comment. If it is not collected, the plugin asks you to choose a status, creates the Bangumi collection first, then generates the local note. The new collection writes only the status; rating, tags, and comment are not filled automatically.
Run Bangumi Sync: Open Bangumi board, or click the board ribbon icon, to open the in-progress board.
The board only scans Bangumi notes under the sync directory, and only lists notes whose frontmatter has status: do. The type filter defaults to anime, and can be switched to all types, books, music, games, or real-life subjects. The list only shows the subject title and a type badge. Opening the list does not fetch episode progress for every subject; episode progress is loaded only after you select an item.
In the grid UI, clicking an episode only changes the local preview. The plugin writes to Bangumi only after you click Push changes and confirm. After remote verification succeeds, the local Markdown checklist and progress_done are updated too. The grid includes main episodes, SP, OP, ED, PV, MAD, and Other. Main episodes are sorted first; non-main episode types are visually marked.
You can also change the collection status from the board. Every status change opens a comment and rating input and shows a diff preview for status, rating, and comment. After confirmation, the new status, comment, and rating are written to Bangumi. After a successful status change, the local note is re-rendered so status, comment, and rating in frontmatter and the sync block are updated; classified notes are also moved to the matching status folder.
Write-back is disabled by default. After enabling Enable write-back to Bangumi, open a Bangumi subject note and run Bangumi Sync: Push current note to Bangumi.
The first version is intentionally narrow:
status values wish, do, collect, on_hold, and dropped.do / collect subjects.status, rating, comment, and episode checklist changes from frontmatter. Tags, text outside the sync block, and Daily Note content are not written back yet.Older notes without bgm-ep episode markers must be synced once before they can be pushed.
After enabling Enable On Air note, every Sync now run updates the standalone Bangumi/On Air.md note. You can also run Bangumi Sync: Update On Air note to refresh it manually.
The first version uses Bangumi's legacy /calendar weekly anime broadcast data. The note has two sections: My Collections only shows your wish and do anime collections; All On Air shows the full Bangumi calendar list. Both sections are grouped from Monday to Sunday.
Rows in the collection section use a plain task-list format. Episode progress is no longer fetched per subject, which keeps refreshes much faster:
- [ ] [[Local subject note|Title]] · status: do
If a matching local subject note exists, the title links to that note. Otherwise it links to the Bangumi subject page. Because /calendar is an anime broadcast calendar, books, music, games, and real-life subjects are not supported here yet.
<!-- bangumi-sync-start --> and <!-- bangumi-sync-end -->.## Notes.wish / do / collect book, anime, and real-life subjects. Games, music, on-hold, and dropped subjects skip episode progress.Subject note template must keep the sync-block open and close markers. The default template already includes them.
The default frontmatter keeps basic lookup fields plus progress_done. Fuller progress variables such as progress_total, progress_percent, next episode, and last completed episode are still available for custom templates.
See Subject Note Template Variables for the exact marker tokens and the full variable reference. The settings button also creates and opens a local Template Variables.md file under your sync directory.
After enabling Daily note sync, add these markers to your Daily Note template:
<!-- bangumi-daily-sync-start -->
<!-- bangumi-daily-sync-end -->
The plugin only writes between those markers, for example:
- [x] [Title](https://bgm.tv/subject/611077) 进度:1/24 ✅ 2026-05-14
In incremental sync, only subjects actually written or updated in this run are added.
The plugin reads the folder and date format from the Daily Notes core plugin by default. If you create daily notes with QuickAdd, Periodic Notes, or another method, that core plugin may not be configured, and the plugin will look for YYYY-MM-DD.md in the vault root and report that today's note is missing. Use Daily note folder and Daily note date format to set them explicitly; both take precedence over the core plugin.
completed xx of xx episodes.do / collect subjects; board status changes also support status, rating, and comment.api.bgm.tv requests and is desktop-only: it uses Node's network stack, so it does not go through the system proxy. If you can only reach the internet through a proxy, set DNS fix (DoH) to Off, otherwise each request waits for one failure before falling back. Cover images come from lain.bgm.tv and are loaded by Obsidian itself, so this setting does not affect them.dns.alidns.com (or one.one.one.one), on iOS install a DoH/DoT configuration profile, or use a proxy. The setting is greyed out on mobile and shows the same guidance.When reporting an issue, please include:
Bangumi Sync Report.mdSee Roadmap for future plans.
This plugin is inspired by and built with reference to several excellent projects and resources:
This project is licensed under the MIT License. See the LICENSE file for details.
Bangumi Sync 是一个 Obsidian 插件,用于把 Bangumi 收藏同步到本地笔记。它支持多条目类型、收藏状态筛选、章节进度、增量同步、每日笔记同步块、数据写回和用户可编辑模板。
(移动端兼容性可能不佳,建议谨慎使用)
status: do 条目,并用格子界面安全 Push 章节进度。Bangumi Sync Report.md,方便排查问题。截图中英共用,见文末:界面截图。
第三方插件,确认已关闭安全模式。浏览,搜索 bangumi。manifest.json、main.js 和 styles.css。.obsidian/plugins/bangumi-note/。bangumi。如果你使用 BRAT 安装 beta/开发版插件:
BRAT: Add a beta plugin for testing。kuanphough/obsidian-bangumi,或完整 GitHub URL。bangumi。BRAT 适合测试开发版。正式发布后,普通用户更建议使用 Obsidian 社区插件或 GitHub release 附件安装。
打开 token 页面。从剪贴板填入,或手动粘贴到 Access token。测试 token 确认配置有效。Bangumi Sync: Sync now。Bangumi Sync: Sync one subject,或在设置页点击 Sync one subject。插件会自动使用 token 所属的 Bangumi 账号,不需要填写用户名。User-Agent 会按插件版本自动生成。
获取 token 的页面:https://next.bgm.tv/demo/access-token/create
请妥善保管 token。它会授权插件读取你的 Bangumi 账号数据。设置页里的 token 输入框会以密码字段显示。
| 设置 | 说明 |
|---|---|
Access token |
Bangumi access token。可以手动粘贴,也可以从剪贴板填入。 |
Sync directory |
同步笔记的根目录,默认 Bangumi。 |
Storage layout |
控制是否按条目类型或收藏状态分文件夹。 |
Folder naming |
分类文件夹用英文代码(anime/do)还是中文(动画/在看)。笔记 frontmatter 始终保留英文,切换不会改动已有笔记。中文按 Bangumi 用词区分条目类型:书籍用想读/读过/在读,音乐用想听/听过/在听,其余用想看/看过/在看。 |
Migrate classification folders |
把已有笔记从原来的目录命名迁移到当前命名。执行前会显示预览,目标位置已存在同名笔记的会被跳过;仅在非「不分类」布局下可用。 |
File name format |
条目笔记文件名如何由标题和 Bangumi 条目 ID 组合,共三种格式。 |
Include on hold/dropped |
是否同步搁置和抛弃条目。 |
Incremental sync |
根据 Bangumi 更新时间跳过未变化条目,并补回本地缺失文件。 |
DNS fix (DoH) |
解析 api.bgm.tv 的方式。自动(默认)先走系统网络,只有出现网络错误后才改用 DNS-over-HTTPS;总是 直接走 DoH;关闭 只使用 Obsidian 默认方式。用于系统 DNS 返回错误 bgm.tv 地址、导致同步报网络错误的情况。仅桌面端生效。 |
Localize cover images |
把封面下载到库中并改为本地链接,而不是引用远程地址。对同步目录内所有已有笔记生效,与当前勾选的条目类型、收藏状态无关。默认关闭,因为会在库里额外存储文件;远程封面加载不出来时开启(例如系统 DNS 无法解析 lain.bgm.tv)。下载的封面会按你的 Obsidian 链接偏好生成:默认用 wikilink 嵌入;关闭「使用 Wikilinks」时改用 Markdown 图片()。 |
Cover folder |
本地化封面的存放目录。留空时跟随 Obsidian 自己的「附件文件夹路径」;只有该设置指向库根目录或「与当前文件同目录」时才回退到同步目录下的 covers。修改后不会自动移动已下载的封面。 |
Daily note sync |
将本次新增或更新的进行中条目写入今天的 Daily Note 同步块。 |
Daily note folder |
每日日记所在文件夹。留空则沿用官方 Daily Notes 核心插件的设置;用 QuickAdd / Periodic Notes 等方式建日记时在这里填写。 |
Daily note date format |
日记文件名使用的 moment.js 日期格式。留空则沿用核心插件设置,兜底 YYYY-MM-DD。 |
Enable On Air note |
同步后生成 Bangumi/On Air.md,按星期展示全站放送和你的想看/进行中动画收藏。 |
Enable write-back to Bangumi |
允许手动 Push 当前条目笔记的章节 checklist 和收藏状态到 Bangumi,也允许看板状态写回。默认关闭,每次 Push 前都会要求确认。 |
Subject note template |
自定义条目笔记 Markdown 模板。 |
运行命令 Bangumi Sync: Sync one subject,或在设置页点击 Sync one subject,会直接打开搜索候选框。你可以输入:
https://bgm.tv/subject/543189543189如果输入的是链接或 ID,候选框会显示一条直接同步选项。如果输入的是关键词,插件会搜索书籍、动画、音乐、游戏和三次元条目,并在候选结果里显示年份、评分、bgm-id 和条目类型标签。
如果条目已经在你的 Bangumi 收藏里,插件会读取真实收藏状态、评分、标签和评论。如果条目不在收藏里,插件会让你选择一个状态,并先在 Bangumi 创建收藏,再生成本地笔记。新建收藏只写入状态,不会自动写入评分、标签或评论。
运行命令 Bangumi Sync: Open Bangumi board,或点击侧边栏看板图标,可以打开进行中看板。
看板只扫描同步目录内的 Bangumi 笔记,并只显示 frontmatter 中 status: do 的条目。类型筛选默认是 anime,也可以切换到全部类型、书籍、音乐、游戏或三次元。列表只显示条目标题和类型标签;打开列表本身不会逐条拉取章节,只有点击某个条目时才会加载该条目的章节进度并显示格子。
在格子界面中,点击章节只会修改本地预览。点击 Push 修改 并确认后,插件才会写回 Bangumi,并重新拉取远端进度校验结果;校验成功后,本地 Markdown checklist 和 progress_done 会同步更新。格子包含本篇、SP、OP、ED、PV、MAD 和 Other,本篇优先排序,非本篇章节会用额外样式标注。
看板里也可以修改条目收藏状态;每次修改状态都会弹出评论和评分输入框,并显示状态、评分、评论的变更预览。确认后会将新状态、评论和评分一起写入 Bangumi。状态修改成功后,本地笔记会重新渲染,frontmatter 和同步块里的状态、评论、评分会更新;如果使用分类存储,笔记也会移动到对应状态目录。
写回功能默认关闭。开启 Enable write-back to Bangumi 后,可以在一条 Bangumi 条目笔记中运行命令 Bangumi Sync: Push current note to Bangumi。
第一版写回范围很窄:
status 可写回 wish、do、collect、on_hold 和 dropped。do / collect 条目中写回。status、rating、comment 和章节 checklist;暂不写回标签、模板外正文或 Daily Note 内容。旧笔记如果没有 bgm-ep 章节标记,需要先重新同步一次再 Push。
开启 Enable On Air note 后,每次 Sync now 完成都会更新独立笔记 Bangumi/On Air.md。也可以运行命令 Bangumi Sync: Update On Air note 手动刷新。
第一版使用 Bangumi legacy /calendar 一周动画放送表。笔记里会生成两个分区:My Collections 只显示你的 wish 和 do 动画收藏;All On Air 显示 Bangumi 日历里的完整放送列表。两个分区都按星期一到星期日分组。
收藏分区每条是普通任务列表格式,不再逐条拉取章节进度,刷新速度更快:
- [ ] [[本地条目笔记|标题]] · status: do
如果本地已有对应条目笔记,标题会链接到本地笔记;否则链接到 Bangumi 条目页。因为 /calendar 是动画放送表,本功能暂不支持书籍、音乐、游戏和三次元。
<!-- bangumi-sync-start --> 到 <!-- bangumi-sync-end --> 之间的同步块。## Notes。wish / do / collect 条目拉取;游戏、音乐、搁置和抛弃条目会跳过章节进度。Subject note template 必须保留同步块的起止标记。默认模板已经包含这两个标记。
默认 frontmatter 只保留基础检索字段和 progress_done。如果需要 progress_total、progress_percent、下一集、最后完成集等字段,可以在自定义模板里手动加回。
起止标记的具体写法与完整变量说明见 Subject Note Template Variables。设置页按钮也会在同步目录下创建并打开本地 Template Variables.md。
开启 Daily note sync 后,请先把下面的标记放入你的 Daily Note 模板:
<!-- bangumi-daily-sync-start -->
<!-- bangumi-daily-sync-end -->
同步后插件只会写入这两个标记之间,例如:
- [x] [名侦探光之美少女!](https://bgm.tv/subject/611077) 进度:1/24 ✅ 2026-05-14
增量同步时,只会添加本次实际新增或更新的进行中条目。
默认会读取官方 Daily Notes 核心插件的文件夹与日期格式设置。如果你用 QuickAdd、Periodic Notes 等方式创建日记,核心插件里可能没有配置,此时插件会去库根目录找 YYYY-MM-DD.md 并提示找不到——请用上面的 Daily note folder 和 Daily note date format 显式指定,这两项优先于核心插件设置。
do / collect 条目的章节 checklist,看板状态修改也支持状态、评分和评论。api.bgm.tv 的请求,且仅桌面端生效:它走 Node 网络栈,不经过系统代理;如果你必须靠代理才能上网,请把 DNS fix (DoH) 设为 关闭,否则会先白等一次失败再回退。笔记里的封面图来自 lain.bgm.tv,由 Obsidian 自行加载,不受该设置影响。dns.alidns.com(或 one.one.one.one),iOS 安装 DoH/DoT 配置描述文件,或直接使用代理。设置页里该开关在移动端会置灰并给出同样提示。如果遇到问题,请在 issue 中附上:
Bangumi Sync Report.md 中的相关错误后续计划见 Roadmap。
这个插件参考并受益于许多前辈项目和文档:
本项目基于 MIT License 开源。详见 LICENSE 文件。






