CrispASR Agent Transcriber

io.github.EmiyaKatuz由 GitHub 账号 EmiyaKatuz 发布v0.4.0更新于 Oct 24, 2026

Transcribe and understand local audio/video with CrispASR and local models only.

已验证STDIO仅桌面文件与存储媒体与设计

概览

AI 生成的概览

仅在本机运行的 MCP 服务器,用 CrispASR 模型转写本地音视频,并把转写文本、字幕和视频关键帧清单写入磁盘。

可以做什么
把本地音频和视频转写为纯文本、详细 JSON、SRT 或 VTT,并始终在转写结果旁写入元数据文件,还支持批量转写整个文件夹,以及转写视频并截取同步关键帧、生成可供智能体读取的清单。检测语音语言(英语或中文)并路由到对应的本地模型。检查 CrispASR 服务器健康状态、列出可用后端并返回推荐的本地模型路径。列出已批准的模型选项及本地安装状态,并显式下载白名单内的模型文件。
适用场景
适合需要把本地录音、会议或视频转成文字或字幕、又不希望上传媒体的场景,尤其是英语或中文语音。也适合批量处理一个媒体文件夹,或提取关键帧用于视频理解。
运行要求
作为本地 stdio 进程运行,通常通过带 mcp 扩展的 uvx 启动。需要 Node.js 20 或更高版本、uv 和 ffmpeg。需要先用 models 命令显式下载本地 GGUF 模型(英语、中文、语言检测),以及 CrispASR 二进制文件,后者可从 GitHub 发布页自动安装。转写不需要 API 密钥。
安装前请注意
会向输出目录写入转写文本、元数据、关键帧和清单,安装程序还会管理插件目录和市场条目。模型和二进制下载虽为显式操作,但会访问 Hugging Face 和 GitHub。除非显式允许,否则拒绝远程服务器,且只接受本地文件路径。若启用了 CRISPASR_API_KEYS,还存在可选的 API 密钥参数。

安装

在 SourceWeft 中

  1. 打开 控制台中的 CrispASR Agent Transcriber,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

crispasr-agent-transcriber

Local-only transcription for Codex and MCP-based AI agents, powered by CrispASR. No cloud uploads, no API keys required for transcription.

GitHub Release | npm installer | PyPI package | MCP Registry

What it does

Give it a local audio or video file. It:

  1. Probes the spoken language (English or Chinese) using CrispASR's FireRed LID.
  2. Starts a local CrispASR server with the right backend -- Cohere Transcribe for English, Qwen3-ASR for Chinese.
  3. Extracts audio from video with ffmpeg when needed.
  4. Calls CrispASR's /v1/audio/transcriptions endpoint.
  5. Writes the transcript and metadata to disk.
  6. For video understanding, captures synchronized keyframes and writes an agent-readable manifest.

Everything runs on your machine. Media never leaves it.

Quick install for Codex

The plugin includes the Codex Skill, command-line tool, and MCP server. Media stays on your computer. Model files are never downloaded during install/update; use the explicit models command when you want the installer to fetch them.

1. Install prerequisites

Install Node.js 20 or newer, uv, and ffmpeg. The installer uses uv to provide Python.

powershell
node --versionuv --versionffmpeg -version

2. Run the installer

powershell
npx @emiyakatuz/crispasr-agent-transcriber@latest install

The installer:

  • downloads the matching GitHub Release and verifies its SHA-256 checksum;
  • installs the plugin under ~/plugins/crispasr-agent-transcriber;
  • installs the Python and MCP dependencies;
  • detects CUDA, Vulkan, or CPU and installs the best CrispASR build;
  • registers the plugin in the Codex Personal marketplace;
  • preserves existing models, binaries, and outputs during updates.

3. Add the local models

Download the recommended local English, Chinese, and language-detection bundle:

powershell
npx @emiyakatuz/crispasr-agent-transcriber@latest models

The command downloads only approved GGUF files into:

text
~/plugins/crispasr-agent-transcriber/models/

Then verify the installation:

powershell
npx @emiyakatuz/crispasr-agent-transcriber@latest doctor

4. Enable the plugin

With a Codex build that supports plugin commands, run:

powershell
codex plugin add crispasr-agent-transcriber@personal

If the CLI has no codex plugin command, open the Codex desktop Plugins view and install CrispASR Transcriber from the Personal marketplace. Start a new conversation, then ask:

text
Transcribe C:\path\to\sample.mp4 with CrispASR using auto language detection.Save a verbose JSON transcript and an SRT subtitle file.

Update or uninstall

powershell
npx @emiyakatuz/crispasr-agent-transcriber@latest updatenpx @emiyakatuz/crispasr-agent-transcriber@latest uninstall

Uninstall preserves local models, CrispASR binaries, and outputs. Use uninstall --purge-data only when those files should also be deleted. See Plugin installation for manual installation and troubleshooting.

Direct command-line use

After installation, you can run the transcription script without Codex:

powershell
Set-Location (Join-Path $HOME "plugins\crispasr-agent-transcriber")uv run python scripts/transcribe.py sample.mp4 --profile auto `  --manage-server `  --models-dir models `  --format verbose_json

Use with other AI agents

The MCP server is the cross-agent interface. Any agent that supports MCP stdio can run the released package directly from GitHub:

powershell
uvx --from "crispasr-agent-transcriber[mcp] @ git+https://github.com/EmiyaKatuz/[email protected]" crispasr-agent-mcp

Use the same command and arguments in Claude Desktop, Cursor, or another MCP client. See AI agent integrations for a generic MCP configuration and Codex CLI command.

Maintainer publishing

End users do not need the release steps. Maintainers should follow the publishing guide for Codex Marketplace, PyPI, MCP Registry, and cross-agent distribution.

Required models

Install/update never downloads models. Use the explicit models command or download these three recommended GGUF files into a local directory such as models/:

PurposeLocal fileVariant / sizeModel pageFile page
English ASRcohere-transcribe-q4_k.ggufQ4_K, smaller defaultCohere Transcribe 03-2026 GGUFDownload
Chinese ASRqwen3-asr-1.7b-q4_k.ggufQ4_K, smaller defaultQwen3-ASR 1.7B GGUFDownload
Language detectionfirered-lid-q4_k.ggufQ4_K defaultFireRed LID GGUFDownload

Optional model IDs include english-q5-0, english-q5-1, english-q6, english-q8, english-f16, chinese-q8, chinese-f16, lid-q2, lid-q8, and lid-f16. Download a specific option with:

powershell
npx @emiyakatuz/crispasr-agent-transcriber@latest models --model-id english-q8

All three upstream model families are Apache 2.0 licensed.

For automatic English/Chinese routing, pass both ASR paths. The language probe runs first, and only the matching model is loaded:

powershell
--english-model models\cohere-transcribe-q4_k.gguf--chinese-model models\qwen3-asr-1.7b-q4_k.gguf--lid-backend firered --lid-model models\firered-lid-q4_k.gguf

For an explicit english or chinese profile, --model remains available as a single-model override.

CrispASR binary management

The tool auto-detects, installs, and updates the CrispASR binary from GitHub releases.

FlagEffect
--install-crispasrDownload latest platform binary to bin/
--update-crispasrUpgrade to newest release
--crispasr-statusShow installed version + update availability
--crispasr-bin-dir PATHCustom directory (default ./bin)
--crispasr-bin PATHExact path to crispasr.exe

When --manage-server is set and no binary is found, it auto-installs before starting the server.

GPU detection

On install and update, the tool checks your hardware:

  1. CUDA -- nvidia-smi available, or CUDA_PATH / CUDA_HOME set, or CUDA in PATH -> downloads crispasr-*-cuda variant.
  2. Vulkan -- vulkaninfo or VULKAN_SDK set (only when CUDA is absent) -> downloads crispasr-*-vulkan variant.
  3. CPU -- fallback when no GPU toolkit is detected.

macOS always uses the universal binary.

Profiles

ProfileBackendASR modelLanguage hint
englishcohereCohere Transcribe 03-2026en
chineseqwen3-1.7bQwen3-ASR 1.7Bzh
autodetermined by LIDdetermined by LIDdetected

auto mode runs FireRed language detection on the media, then routes English to Cohere or Chinese to Qwen3-1.7B. Mixed or uncertain content stops with a clear error asking you to re-run with --profile english or --profile chinese.

Usage

Managed server (tool starts CrispASR for you)

powershell
uv run python scripts/transcribe.py sample.wav `  --profile auto `  --manage-server `  --models-dir models `  --format srt `  --out-dir outputs

Add --keep-server to leave the server running after transcription.

Manual server (you start CrispASR)

powershell
# Terminal 1 -- start the servercrispasr --server --backend cohere `  -m models\cohere-transcribe-q4_k.gguf `  --port 8080
# Terminal 2 -- transcribeuv run python scripts/transcribe.py sample.mp4 `  --profile english `  --server-url http://127.0.0.1:8080 `  --format verbose_json

If the running server's backend doesn't match the selected profile, the tool prints the exact command you need to start the correct server.

Output formats

--formatFile extensionContents
text.txtPlain transcript
verbose_json.jsonFull response with segments
srt.srtSubRip subtitles
vtt.vttWebVTT subtitles

A .metadata.json sidecar is always written alongside the transcript.

Video files

Video files are detected automatically. ffmpeg extracts the audio track to a temporary mono 16 kHz WAV before sending it to CrispASR. The temporary file is deleted when transcription finishes.

All CLI flags

--profile auto|english|chinese--format text|verbose_json|srt|vtt|json--out-dir PATH--server-url URL--allow-remote-server--manage-server--keep-server--model PATH               Local GGUF override for an explicit profile--english-model PATH       Cohere model selected after English detection--chinese-model PATH       Qwen3-ASR model selected after Chinese detection--models-dir PATH          Directory containing approved local GGUF models--allow-model-auto-download--lid-model PATH           Local LID model path--lid-backend firered|silero|ecapa|whisper--host HOST                Managed server host (default 127.0.0.1)--port PORT                Managed server port (default 8080)--language CODE            Language hint for transcription--prompt TEXT              Initial prompt/context--vad                      Enable voice activity detection--diarize                  Enable speaker diarization--diarize-method METHOD--hotwords WORD,WORD       Comma-separated hotwords--no-timestamps--preprocess auto|always|never--api-key KEY              If CRISPASR_API_KEYS is enabled--crispasr-bin-dir PATH--crispasr-bin PATH--install-crispasr--update-crispasr--crispasr-status--list-models--download-models--model-id MODEL_ID--overwrite-models

MCP server

powershell
uv sync --extra mcpuv run --extra mcp crispasr-agent-mcp

Exposed tools:

ToolDescription
crispasr_healthCheck CrispASR server health
crispasr_backendsList available backends
crispasr_detect_languageRun language detection on a file
crispasr_list_modelsList approved model choices and local install status
crispasr_download_modelsExplicitly download approved model files
crispasr_resolve_model_pathsReturn recommended local model paths
transcribe_audioTranscribe an audio file
transcribe_videoTranscribe a video file
understand_videoTranscribe a video, capture synced keyframes, and return an agent context
transcribe_folderBatch-transcribe a folder

Security model

  • No cloud uploads. Media files stay on the local filesystem.
  • No remote servers by default. --server-url only accepts localhost unless --allow-remote-server is explicitly passed.
  • No URL inputs. Only local file paths are accepted. URLs, S3, and other remote schemes are rejected.
  • No shell injection. ffmpeg is called with argument lists and shell=False. No user-controlled strings are interpolated into shell commands.
  • No implicit model downloads. Install/update never downloads models, and CrispASR model auto-download (-m auto) requires --allow-model-auto-download. The models command and crispasr_download_models tool download only allowlisted Hugging Face files.
  • Temporary files are cleaned up. Converted WAV files and LID probe windows are deleted when transcription finishes.
  • Binary downloads are explicit. CrispASR binary installs only from the official CrispStrobe/CrispASR GitHub releases.
  • Verified plugin releases. The npm installer requires the plugin ZIP to match the SHA-256 value published in the same GitHub Release.
  • Narrow installer writes. The installer manages only its plugin directory and the named Personal marketplace entry. Updates preserve local models, binaries, and outputs.
  • Generated understanding stays local. Video keyframes, manifests, and agent context files are written under the selected output directory and are ignored by Git.

Verify

powershell
uv run pytestuv run ruff check .  # zero lint warnings

License

This project is licensed under the MIT License.

Third-party components and attribution

This tool orchestrates several independently-licensed projects. It does not bundle, fork, or redistribute their code -- it downloads pre-built binaries and calls them as subprocesses or HTTP services at runtime.

ComponentLicenseRole
CrispASRMITASR engine, server, language detection
ffmpegLGPL 2.1+ / GPL 2+Media decoding and audio extraction
Cohere Transcribe 03-2026Apache 2.0English ASR model (loaded by CrispASR)
Qwen3-ASR 1.7BApache 2.0Chinese ASR model (loaded by CrispASR)
FireRed LIDApache 2.0Language detection model (loaded by CrispASR)
httpxBSDHTTP client for CrispASR API
MCP Python SDKMITMCP server framework
Node.jsMITnpm installer runtime
adm-zipMITVerified plugin ZIP extraction

Model files must be downloaded separately by the user from their respective HuggingFace repositories. See Required models above.

Related projects

  • CrispASR -- the ASR engine this tool wraps
  • CrisperWeaver -- CrispASR's desktop GUI (not used by this tool)

来源:README.md,提交 07ba2df

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.4.0最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分