Bili Mindmap
Turn a Bilibili video into a mind map that feels closer to something a human actually organized.
Recommended Flow
- Python scripts collect video details, subtitles, AI summary, comments, and ASR fallback when needed.
- The host platform's injected model reads the prepared context and writes a high-quality
outline.md. - Python renders
outline.mdinto an.xmindfile.
Preconditions
bilimust be installed and available.- If audio fallback is needed,
bilibili-cli[audio]should be installed. - If cloud ASR is used on Windows, the Aliyun config file should already exist.
- If local ASR is preferred on Linux or macOS, make sure the Parakeet endpoint is running.
Core Constraints
- Prefer subtitles first. Only fall back to ASR when subtitles are unavailable.
- Login check is mandatory: run
bili statusbeforebili login. - The main way to produce
outline.mdshould be the host model, not the local rule-based script. - The main structure should come from subtitles or ASR. Comments and the site AI summary are supplemental only.
- Do not mechanically copy spoken transcript text. Merge themes, compress phrasing, and organize by logic.
- If information is weak or incomplete, mark it explicitly instead of inventing facts.
Main Workflow
- Accept either a full video URL or a
BVid. - Run
bili statusto check login. - If needed, run
bili loginand wait for the user to scan. - Run
python scripts/prepare_bili_context.py --source <video-url-or-bv> --login-if-needed --transcribe-if-needed. - Read the generated files:
context.md,host_outline_prompt.md,manifest.json,video_details.json,subtitles.txt,ai_summary.txt, andcomments.txt. - Feed
host_outline_prompt.mdto the host platform model and let it writeoutline.md. Only usescripts/generate_outline.pywhen the host model path is unavailable. - Run
python scripts/render_xmind.py --outline <output-dir/outline.md> --output <output-dir/result.xmind>. - Tell the user where the
.xmindfile was written and which sources were most important.
One-Command Workflow
run_bili_mindmap.py now supports two workflows:
--workflow host: recommended quality path. Collects context first, then waits for a host-generatedoutline.md.--workflow local: fallback path. Usesscripts/generate_outline.pylocally.
Recommended command:
python scripts/run_bili_mindmap.py --source "BV1ABcsztEcY" --output-dir output/BV1ABcsztEcY --workflow host --login-if-needed --transcribe-if-needed
On the first run, if outline.md does not exist yet, the script will stop after context preparation and print:
- the
context.mdpath - the
host_outline_prompt.mdpath - the expected
outline.mdpath
After the host model writes outline.md, run the same command again and it will render the .xmind file.
Fallback Workflow
When the host model cannot be used, fall back to the local outline generator:
python scripts/generate_outline.py --context-dir <output-dir> --output <output-dir/outline.md>
This is only a fallback. It is usually lower quality than the host-model result.
Collection Strategy
Collect information in this order:
bili video <source>for video detailsbili video <source> --subtitlefor subtitlesbili video <source> --aifor the site AI summarybili video <source> --commentsfor hot comments- If subtitles are unavailable:
bili audio <source> -o <output-dir/audio>to extract audioautomode falls back inmoonshine -> parakeet -> aliyunorder
Output Requirements
- Use the video title as the root topic.
- Keep subtitles or ASR as the main evidence.
- Prefer abstraction and synthesis over transcript copying.
- Mark uncertainty explicitly.
- The final artifacts should include both
outline.mdand.xmind.
Important Files
scripts/prepare_bili_context.py: login checks, content collection, ASR fallback, and generation ofcontext.mdplushost_outline_prompt.mdscripts/generate_outline.py: local fallback outline generatorscripts/render_xmind.py: pure Python XMind rendererscripts/run_bili_mindmap.py: one-command entry point withhostandlocalworkflowsreferences/mindmap-outline-template.md: structure template for the final outlinereferences/host-llm-outline-spec.md: quality and behavior rules for the host model pathvendor/aliyun_asr/: bundled Aliyun file transcription implementation