Project-based CLI for Alibaba Cloud DashScope Fun-ASR video transcription.
Project description
Meeting-ASR
meeting-asr 是一个项目化会议转写 CLI:输入本地视频,创建稳定 Project ID,抽取音频,上传 private OSS 签名 URL,调用 DashScope/Fun-ASR 转写,生成会议回忆索引、转写文本、字幕,并通过 TUI 完成 speaker、词汇纠错和声纹库维护。
先看这里
只想跑一次会议转写,读 快速开始。
常用路径只有两条:
# 1. 全自动:创建/复用项目、转写、回忆索引、声纹匹配、输出产物
meeting-asr project run "/path/to/meeting.mp4"
# 2. 人工兜底:处理未匹配 speaker、词汇纠错、声纹采样
meeting-asr project review PROJECT_ID
如果忘了 PROJECT_ID:
meeting-asr project list
meeting-asr project show PROJECT_ID
最终最常用的产物:
exports/transcript_named_corrected.txt # 如果本地词汇订正或人工纠错已生效
exports/transcript_named.txt
exports/subtitle_named.srt
exports/meeting_summary.md
查看结果:
meeting-asr project transcript show PROJECT_ID --kind auto
meeting-asr project speakers preview PROJECT_ID
安装和配置
普通用户直接从 PyPI 安装全局命令:
uv tool install meeting-asr --python 3.14
meeting-asr --version
meeting-asr completion install zsh
升级到 PyPI 最新版本:
uv tool install meeting-asr --python 3.14 --reinstall --refresh
meeting-asr --version
开发环境:
uv venv
uv sync --all-groups
uv run meeting-asr --help
uv run pytest -q
本地开发需要全局 editable 命令时再使用:
scripts/install-tool.sh
scripts/install-tool.sh --check
配置遵循 XDG:
~/.config/meeting-asr/config.json
~/.local/share/meeting-asr/projects
~/.local/share/meeting-asr/voiceprints
最小配置入口:
meeting-asr config set dashscope.api_key "<dashscope-api-key>"
meeting-asr config set oss.access_key_id "<oss-access-key-id>"
meeting-asr config set oss.access_key_secret "<oss-access-key-secret>"
meeting-asr config set oss.bucket_name "<bucket>"
meeting-asr config set oss.region "<region>"
meeting-asr config set oss.endpoint "<oss-endpoint>"
meeting-asr doctor --full
本地声纹 embedding 默认使用 local-speechbrain,SpeechBrain/Torch 是标准依赖。正式安装缺依赖或需要刷新 wheel 时重新安装 PyPI 包:
uv tool install meeting-asr --python 3.14 --reinstall --refresh
doctor 发现配置或依赖问题时会输出 Repair prompts,可直接交给 agent 继续修复。
核心命令
meeting-asr project run "/path/to/meeting.mp4" --meeting-time "2026-04-29T15:07:42+08:00"
meeting-asr project review PROJECT_ID
meeting-asr project transcript show PROJECT_ID --kind auto
meeting-asr project correct diff PROJECT_ID
meeting-asr project correct accept PROJECT_ID
meeting-asr voiceprint review PROJECT_ID
meeting-asr voiceprint review
meeting-asr voiceprint quality --review
project run 默认显示长任务进度,并把当前阶段、外部 task id、最近错误、本地词汇订正和 polish 状态写进 project.json。如果命令中断或怀疑卡住,先跑:
meeting-asr project show PROJECT_ID
删除项目默认进 trash,不会直接物理删除:
meeting-asr project delete PROJECT_ID
meeting-asr project trash list
meeting-asr project trash restore TRASH_REF
meeting-asr project trash purge TRASH_REF --yes
文档地图
- 快速开始:只讲全自动路径和 TUI 兜底路径。
- 项目介绍:面向推广的短文,说明核心功能和解决的痛点。
- 发布流程:PyPI Trusted Publishing 和 GitHub Release 发布步骤。
- CLI 用户手册:命令、参数、产物、故障排查。
- 架构说明:分层结构和新代码放置规则。
- 开发者指南:安装、测试、completion 验证。
- TUI 测试:Textual headless 测试约定。
关键边界
- DashScope ASR 只能接收公网 HTTP/HTTPS URL;本工具默认走 private OSS + 临时 signed GET URL。
- signed URL、token、secret、access key 不写入日志或
project.json。 - 默认项目身份是内容 hash 生成的
p-...,同一个源视频会复用同一个项目。 - 人类修正 speaker 的首选入口是
meeting-asr project review PROJECT_ID;speakers apply --map是脚本化接口。 - 声纹是跨项目数据,属于稳定 person ID,不用姓名做主键。
- 文档只记录已验证路径;未验证的远端声纹 provider 不写成用户教程。
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file meeting_asr-0.2.0.tar.gz.
File metadata
- Download URL: meeting_asr-0.2.0.tar.gz
- Upload date:
- Size: 5.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4979678b676ce0239aedfeede3939421d9ecc20b9d16466a639dd89510ef64ba
|
|
| MD5 |
da6f8617bfb0ef57ddb24e8e2c3ffd75
|
|
| BLAKE2b-256 |
a6ce46ec83dc791b0ae81d88125271e61ee7869651d0aae1cb2087de71731f26
|
Provenance
The following attestation bundles were made for meeting_asr-0.2.0.tar.gz:
Publisher:
publish.yml on crhan/meeting-asr
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
meeting_asr-0.2.0.tar.gz -
Subject digest:
4979678b676ce0239aedfeede3939421d9ecc20b9d16466a639dd89510ef64ba - Sigstore transparency entry: 1484830609
- Sigstore integration time:
-
Permalink:
crhan/meeting-asr@9bd938b7e6b561955a481b65590e1a81bfe35113 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/crhan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@9bd938b7e6b561955a481b65590e1a81bfe35113 -
Trigger Event:
release
-
Statement type:
File details
Details for the file meeting_asr-0.2.0-py3-none-any.whl.
File metadata
- Download URL: meeting_asr-0.2.0-py3-none-any.whl
- Upload date:
- Size: 328.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c5462ce4be91a0ae3e20d25c07e916b71f7e96b3a66ffb0ae61e620c2ec9ffec
|
|
| MD5 |
e7b8135f31b918fd7dc31aa1f3bfb0d9
|
|
| BLAKE2b-256 |
31c2de54c8fbf45a2c68f1bd431b9b00adb184072e56d36a4f8c24208bae5571
|
Provenance
The following attestation bundles were made for meeting_asr-0.2.0-py3-none-any.whl:
Publisher:
publish.yml on crhan/meeting-asr
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
meeting_asr-0.2.0-py3-none-any.whl -
Subject digest:
c5462ce4be91a0ae3e20d25c07e916b71f7e96b3a66ffb0ae61e620c2ec9ffec - Sigstore transparency entry: 1484830641
- Sigstore integration time:
-
Permalink:
crhan/meeting-asr@9bd938b7e6b561955a481b65590e1a81bfe35113 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/crhan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@9bd938b7e6b561955a481b65590e1a81bfe35113 -
Trigger Event:
release
-
Statement type: