How imexlovery/video-report-agent works
Video Report Agent turns a Bilibili video URL into a self-contained HTML reading report, with a standalone Skill workflow as an alternative. The automated path downloads media, extracts audio, transcribes it, optionally fuses subtitle/OCR evidence into a canonical transcript, then uses Pi with the video-report Skill to generate and render a report. Run reuse, tracing, and retention support that workflow. The graph follows documented behavior and shown module references; unsampled implementation details and web-server internals are not inferred.
Main entry points: pipeline.py Run pipeline · pi.py Pi agent adapter · asr.py ASR adapters · media_config.py Media configuration
Components 22
Input and media
- CLI
src/video_report_agent/cli.py - Run pipeline
src/video_report_agent/pipeline.py - Video ingest
src/video_report_agent/ingest.py - Audio extraction
src/video_report_agent/audio.py - Media configuration
src/video_report_agent/media_config.py
Transcript pipeline
- ASR adapters
src/video_report_agent/asr.py - Paraformer backend
src/video_report_agent/paraformer.py - Transcript assembly
src/video_report_agent/transcript.py - Transcript foundation
src/video_report_agent/transcript_foundation.py - Data schemas
src/video_report_agent/schemas.py
Report generation
- Report Skill
src/video_report_agent/skills/video-report/SKILL.md - Pi agent adapter
src/video_report_agent/pi.py - Report content checks
src/video_report_agent/report_content.py - Report image export
src/video_report_agent/report_image.py
Run support
- Artifact reuse
src/video_report_agent/reuse.py - Run tracing
src/video_report_agent/trace.py - Run retention
src/video_report_agent/retention.py
Other components
- User / caller
- Bilibili
- ASR services
- Pi runtime
- HTML report
Connections 24
- User / caller → CLI: submits URL
README.md - CLI → Run pipeline: starts generation
src/video_report_agent/cli.py - Run pipeline → Video ingest: downloads media
src/video_report_agent/pipeline.py - Video ingest → Bilibili: fetches video
src/video_report_agent/ingest.py - Run pipeline → Audio extraction: extracts audio
src/video_report_agent/pipeline.py - Run pipeline → Media configuration: resolves settings
src/video_report_agent/pipeline.py - Media configuration → ASR adapters: selects backend
src/video_report_agent/media_config.py - Media configuration → Paraformer backend: configures cloud ASR
src/video_report_agent/media_config.py - Run pipeline → ASR adapters: transcribes audio
src/video_report_agent/pipeline.py - ASR adapters → Paraformer backend: dispatches backend
src/video_report_agent/asr.py - Paraformer backend → ASR services: uploads audio
src/video_report_agent/paraformer.py - ASR adapters → Data schemas: normalizes segments
src/video_report_agent/asr.py - Run pipeline → Transcript assembly: builds transcript
src/video_report_agent/pipeline.py - Transcript assembly → Transcript foundation: assembles evidence
src/video_report_agent/transcript.py - Transcript foundation → Audio extraction: probes media
src/video_report_agent/transcript_foundation.py - Run pipeline → Artifact reuse: reuses artifacts
src/video_report_agent/pipeline.py - Run pipeline → Pi agent adapter: generates report
src/video_report_agent/pipeline.py - Pi agent adapter → Pi runtime: runs agent loop
src/video_report_agent/pi.py - Pi agent adapter → Report Skill: loads instructions
README.md - Pi agent adapter → Report content checks: checks report
src/video_report_agent/pi.py - Run pipeline → Report image export: exports image
src/video_report_agent/pipeline.py - Run pipeline → HTML report: writes report
README.md - Run pipeline → Run tracing: records run
src/video_report_agent/pipeline.py - Run pipeline → Run retention: cleans runs
src/video_report_agent/pipeline.py