Xiaoyuzhou Transcripts
中文说明 | English
Run commands from this repository's root. Read README.md for usage and AGENTS.md before changing code. Process only content the user is authorized to access and save.
Prepare and inspect
cp episodes.example.json episodes.json
python3 xiaoyuzhou_transcripts.py --init-credentials
python3 xiaoyuzhou_transcripts.py --dry-run
The credential prompt does not echo its input. Keep episodes.json, credentials, generated transcripts, model configuration, notes, state files, and capture sessions out of version control.
Archive official transcripts
python3 xiaoyuzhou_transcripts.py
The archive contains:
transcripts/json/: original timestamped segments and the stable source for later processing.transcripts/markdown/: readable timestamped Markdown.transcripts/srt/: standard subtitles.transcripts/run-state.json: resumable status for each episode.
For the first live check, process one episode and stop on error:
python3 xiaoyuzhou_transcripts.py \
--eid 0123456789abcdef01234567 \
--min-delay-seconds 0 \
--max-delay-seconds 0 \
--stop-on-error
Treat authentication failures as failures. Do not record them as no_transcript. Resume completed batches from the state file instead of redownloading successful episodes.
Create semantic notes
cp notes-config.example.json notes-config.json
export TRANSCRIPT_NOTES_API_KEY='...'
python3 transcript_notes.py --dry-run
python3 transcript_notes.py
The model proposes paragraph and section boundaries. The program reconstructs body text from original transcript segments and writes traceable mappings under notes/structure/. Inspect a generated note and its mapping before running a large batch.
Verify changes
python3 -m unittest discover -s tests -v
python3 -m py_compile xiaoyuzhou_transcripts.py transcript_notes.py
python3 xiaoyuzhou_transcripts.py --version
python3 transcript_notes.py --version
Do not claim a live download succeeded from --dry-run; it validates local selection and arguments without network requests.