fix: pin transcription project to Python 3.12

- Set bundled FunASR transcription project to Python 3.12
- Restrict requires-python to >=3.12,<3.13 and refresh uv.lock
- Document Windows editdistance wheel issue on Python 3.13
- Update README/SKILL prerequisites to recommend Python 3.12
- Add Windows FunASR uv setup troubleshooting reference
This commit is contained in:
2026-07-14 14:40:01 +08:00
parent 0005ba554e
commit 790c775eac
8 changed files with 222 additions and 635 deletions
+3 -2
View File
@@ -48,7 +48,7 @@ Before any processing, verify the environment. Missing dependencies must be **in
| -------------------- | ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| `ffmpeg` + `ffprobe` | `which ffmpeg ffprobe` | Linux: `sudo pacman -S ffmpeg` / `sudo apt install ffmpeg`; Windows: `winget install Gyan.FFmpeg`; macOS: `brew install ffmpeg` |
| `uv` | `which uv` | Linux: `sudo pacman -S uv` / `sudo apt install uv` (if available); macOS: `brew install uv`; Windows: `winget install astral-sh.uv`; fallback: `pip install uv` |
| `python3` | `which python3` | Linux: `sudo pacman -S python`; Windows: `winget install Python.Python.3`; macOS: `brew install python` |
| `python3` / Python 3.12 for transcription | `python --version` / `python3 --version` | Use Python 3.12 for the bundled FunASR project, especially on Windows. Linux: `sudo pacman -S python` / `sudo apt install python3`; Windows: `winget install Python.Python.3.12`; macOS: `brew install python@3.12` |
**Completion criteria:** all three dependencies confirmed present, or user has explicitly declined installation (in which case stop — the skill cannot proceed).
@@ -99,7 +99,7 @@ Use the bundled `funasr-script` in `scripts/transcription/`. **Prefer Fun-ASR-Na
**Choose the execution environment based on where the video file lives and where the command will run.** Keep heavy media I/O local to the filesystem that stores the video:
- If the video is on the Windows host filesystem (for example a WSL path under `/mnt/c/...`, `/mnt/d/...`, or a native Windows path like `C:\\...`, `D:\\...`), prefer running transcription on the Windows host. Give **PowerShell commands** with Windows paths.
- If the video is on the Windows host filesystem (for example a WSL path under `/mnt/c/...`, `/mnt/d/...`, or a native Windows path like `C:\\\\...`, `D:\\\\...`), prefer running transcription on the Windows host. Give **PowerShell commands** with Windows paths. Do not hand the user `wsl ...` commands for the long transcription in this case; using WSL to read `/mnt/c` or `/mnt/d` defeats the storage-locality rule.
- If the video is inside the WSL/Linux filesystem (for example `/home/...`, `/var/...`, or another Linux mount), prefer running transcription in WSL/Linux. Give **Linux shell commands** with Linux paths.
- If the location is ambiguous, ask the user where the video is stored and where they want the workload to run.
@@ -291,6 +291,7 @@ Use whatever vision capability the agent's runtime provides to analyze extracted
- **Which model** to use (depends on the agent's runtime and available vision capabilities).
- **Batch size** — depends on the model's context window. See `references/frame-extraction-guide.md` for token cost estimates at different resolutions.
- **Windows setup troubleshooting** — see `references/windows-funasr-uv-setup.md` for Windows-host PowerShell transcription commands and uv/Python wheel issues such as `editdistance` source builds.
- **How many frames** per analysis pass — use the binary-search approach from Step 6.
**Completion criteria:** the agent has enough visual understanding to answer the user's question or produce the requested edit plan.