mcpField
T
transcript-fixer

transcript-fixer

github.com/daymade生产力1.5k1.3k 次安装今天更新
代码仓库

关于 transcript-fixer

transcript-fixer 是用于修正自动语音识别(ASR)转录稿的技能,适合处理会议等文本的人工或 Agent 工作流。它以确定性词典修正为起点,再要求进行原生 AI 审阅,并将确认过的重复修正沉淀为规则。

主要功能

  1. 01分阶段修正转录稿
  2. 02原生 AI 全文审阅
  3. 03不确定项进入待审队列
  4. 04将重复修正沉淀为规则
  5. 05支持批量与无 Agent API 流程

适用场景

  1. 01修正会议转录中的 ASR 错误
  2. 02审阅人名和专业术语
  3. 03处理未能确认的转录片段
  4. 04在自动化流程中运行转录修正

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/daymade/claude-code-skills --skill transcript-fixer

安装后在 Claude Code 中输入/transcript-fixer确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

.gitignore
CHANGELOG.md
references/
advanced_correction_evidence.md
architecture.md
best_practices.md
database_schema.md
dictionary_guide.md
dictionary_identity_and_context.md
domain_context_guide.md
example_session_dji_minutes.md
example_session.md
false_positive_guide.md
file_formats.md
glm_api_setup.md
installation_setup.md
iteration_workflow.md
native_action_details.md
native_ai_full_workflow.md
native_correction_application.md
native_entity_triage.md
native_historical_evidence.md
native_metadata_provenance.md
native_queue_finalization.md
native_review_packets.md
native_second_pass.md
native_transcript_comparison.md
native_upstream_provenance.md
pending-continuation.md
quick_reference.md
review_queue_dashboard.md

详细介绍

转录文本修正器

使用以下修正循环:

  1. 第 1 阶段应用确定性的已知修正。
  2. 原生 AI 修正会读取完整转录文本,修复偶发错误、核实不确定的实体,并累积可复用的修正。

**原生 AI 修正是默认方式。仅使用第 1 阶段是不完整的。**第 3 阶段 API 仅适用于无法使用 Claude/Codex Agent 的自动化场景。

运行约定

  • 完成 Stage 1 → 原生 AI 校正 → 合并已确认的重复修正。仅完成 Stage 1 后,不要报告转录文本已清理完毕。
  • 只有当用户明确将本次任务限定为仅进行词典检查,或带日期的产物证明原生 AI 已针对这份确切的转录文本运行过时,才跳过原生 AI。
  • 在 Claude Code 或 Codex 中,不要运行 Stage 3。使用 Stage 1 加原生工作流。
  • 绝不要为了让语音更流畅而改写内容。修正必须能解释一种合理的 ASR 错误,并保留说话者各自说了什么。
  • 其他地方出现的标准术语或已知参与者只能作为可能来源,并不能证明此次出现的内容。首轮检查和冷审查时,使用 原生审查资料包 中针对具体出现内容的对比证据;缺少判别依据时保留原始形式。
  • 接受姓名变体匹配前,检查完整的公司/姓名字段;遵循最少出现次数检查。名称形态防护规则拒绝的普通措辞,只能采用有界的书面措辞路径,绝不能伪造用户/音频引用。
  • 默认情况下,绝不推断或重新分配说话者身份。保留说话者标签行;经人工确认的标签和用户裁定具有权威性。只有用户明确授予限于本任务的身份推断权限,才可启用单独的派生读者分支:行动前先阅读限范围的说话者推断。该授权仅允许推断,不代表身份已确认,也不适用于其他转录文本。
  • 更正任何人名之前,必须直接阅读已配置的全局人员名单,以及所属项目明确的身份名单或别名台账。Stage 1 只会自动加载全局 ASR 变体 条目;它不会加载项目名单,也不会显示已抑制、已禁用或未列出的条目。如果缺少预期来源或来源之间存在冲突,请保留原姓名不变,并将其加入待处理队列或询问一次。绝不能将出现频率作为身份依据。确定姓名前,请阅读 references/dictionary_identity_and_context.md。
  • 升级处理前,先依据现有证据解决疑点。音频下载只是证据渠道之一,并非进行原生校正的先决条件。无法下载时,请遵循证据选择与升级处理;不要要求用户更改下载权限,也不要把每一条待处理记录都当作只有用户才能回答的问题。
  • 保留确实无法解决的文本原样,并将其加入待处理队列。显而易见的乱码比流畅但错误的猜测更安全;待处理记录表示存在不确定性,并不意味着要自动交给人工处理。
  • 将陌生词条视为未知,而不是错误。先穷尽本地证据链。对于仍未解决且会影响关键含义的词条,只有在源音频和获准使用的第二个引擎都已可用时,才使用片段级跨识别器环节;否则根据上述升级处理策略,继续使用现有证据。来自真正不同的识别器系列的一致结果能有力佐证语音内容,但绝不能用于决定同音异形词,也不能绕过人名审核门槛。使用前请阅读原生工作流的步骤 4、第 7 环节。一批已穷尽证据的待处理记录,就是这一环节的批处理形式:原生检查后若仍有一批本地无法解决的记录,不要把整批交给用户——使用 verify_queue_audio.py 进行检查(一个转录文本、一份源音频、一个第二引擎、每条记录两个片段窗口)。该脚本可以附加声学证据,但绝不会记录裁定;片段相同,或识别结果无法支持有争议的词边界时,记录仍须保持待裁定状态。操作员矩阵和时间戳映射陷阱见 advanced_correction_evidence.md § 批量待处理记录裁定。
  • 将单行 asr_note 值视为修正来源记录:其中会有意引用旧形式,且不会参与匹配。多行 YAML 台账值不会被屏蔽;关键词、标题、其他源自 ASR 的元数据以及正文仍属于修正范围。
  • 执行原生检查前,请完整阅读 references/native_ai_full_workflow.md。可通过连续且不重叠的读取覆盖整个文件;如果响应被截断,继续读取缺失部分后再进行下一步。执行了 cat 并不能证明已收到完整输出。执行相应操作前,请阅读下文中针对该任务的参考资料;这些文件也必须使用有界且不截断的方式读取。

运行上下文

所有入口点都通过 uv run 运行;需要第三方 Python 包的入口点会通过 PEP 723 声明这些依赖,而仅使用标准库或内部模块的实用工具可以省略元数据块。从调用此技能时输出的技能目录中执行命令,或在每个脚本路径前加上该目录。不要依赖 $CLAUDE_SKILL_DIR;并非所有运行环境都提供它。

如果确实不知道工具包的位置,请使用 references/installation_setup.md 中的安装位置解析流程。不要从宽泛的 find 结果中选择第一项:缓存、备份和旧版本可能同时存在。

快速开始

在填写下方明确的文件参数之前,请先通过上下文位置解析 <domain-context.md>。

# Initialize once
uv run scripts/fix_transcription.py --init

# Stage 1 for one project domain. --apply-domain trusts that explicitly
# selected, human-curated project domain at every risk level.
uv run scripts/fix_transcription.py \
  --input meeting.md --stage 1 \
  --domain myproject --apply-domain --json

# Several sibling domains may be loaded as one union.
uv run scripts/fix_transcription.py \
  --input meeting.md --stage 1 \
  --domain myproject,myproject-alt --apply-domain --json

# Preview without writing the Stage 1 output.
uv run scripts/fix_transcription.py \
  --input meeting.md --stage 1 --domain myproject --dry-run

# Scan all documented context traps after the native read-through.
uv run scripts/fix_transcription.py --scan-traps \
  --context-file "<domain-context.md>" \
  --input meeting.md

安全模式是 Stage 1 的默认模式:应用低风险规则;中高风险匹配项将转交给 *_needs_review.md 和持久化审核队列。Applied: 0 是有效结果,并不能证明转录内容没有问题。

Stage 1 的 JSON 契约如下:

{
  "applied": 0,
  "deferred": 0,
  "output_path": null,
  "needs_review_path": null,
  "input_unchanged": true,
  "review_enqueued": 0,
  "stage1_only_incomplete": true,
  "stage2_total_chunks": 0,
  "stage2_failed_chunks": 0,
  "stage2_degraded": false,
  "boundary_refused": 0,
  "boundary_check_active": true
}

请读取结果中的每个字段。boundary_refused 统计本次运行中被词边界检查拒绝的词典匹配项;这些匹配项既未应用,也未转交审核,因此调用方在比较运行结果时可以看出某个待审核项为何消失;--apply-all 会关闭此检查。stage1_only_incomplete 是对原始调用方契约的补充,在运行 Stage 1 脚本时必须保持为 true;只有调用方运行 Native AI,或明确选择无 Agent 的 Stage 2/3 路径,才能将其关闭。stage2_* 遥测字段始终存在:Stage 1 会将它们报告为 0、0 和 false;Stage 2/3 则会将其替换为实际 API 结果。不要根据是否存在 sidecar 来推断是否未执行操作或是否成功。

原生端到端示例请参阅 references/example_session_dji_minutes.md。

选择路径

路径适用情况必读内容
延续待处理项带日期的 Native/审核证据涵盖此确切文件;只剩不确定的行,或用户提供了判定pending-continuation.md;沿用未更改的已完成覆盖范围
快速原生路径转录内容较短或较简单、说话人已知、风险较低本文件 + native_ai_full_workflow.md
完整原生路径领域内容较多、实体不熟悉、说话人不少于 3 位、转录内容较长或涉及决策native_ai_full_workflow.md,以及下方的队列和证据参考资料
限定范围的说话人推断用户明确授权针对本次转录/任务进行身份推断scoped_speaker_inference.md;常规 ASR 校正仍使用原生路径
调用方集成其他技能或摄取管道调用 Stage 1下方的 Cross-skill caller contract
审核队列/仪表板存在不确定项或需要音频的任何情况review_queue_dashboard.md
无 Agent 的 API 路径没有可用 Agent 的 CI/批量自动化glm_api_setup.md 和 workflow_guide.md
多文件批处理多份相关转录;尤其是 10 份或更多advanced_correction_evidence.md

主要依据词汇特征和风险程度选择处理等级;仅在两者无法区分时才参考文本长度。五分钟的医疗访谈可能需要完整处理,而一份较长、内容简单的双人备忘录则可以使用快速处理。

Native correction checklist

在纠正前,请完整阅读必需的原生流程。 该流程会将来源溯查、实体分诊、编辑、冷审查恢复、 队列决策和最终定稿导向相应的操作时参考资料。

  1. 为输入提供最终的人类可读路径;恢复并比对原始来源。
  2. 加载项目上下文,通读整个转录文本,运行 Stage 1 并检查其差异。
  3. 对候选项进行分诊;仅应用有具体出现证据支持的最小更正。
  4. 运行陷阱扫描;完成 Full-tier 冷审查并裁定其剩余问题。
  5. 处理精确文件队列条目;重复工作前先读取人工状态。
  6. 验证已编辑的文件;若要声称已完成或质量很高,必须确保待处理项为零; 以机械方式关闭 sidecar,提取稳定模式,并检查实体传播情况。

在执行相应的队列、学习或同文件实体扫描操作前,请阅读原生操作详情。 特别是,人物姓名的权威信息应放在 --authority/--authority-record 中, 而不是 --note;针对单个句子的更正不会自动成为可复用规则。

跨技能调用方约定

调用方流水线必须:

  1. 使用显式配置的项目领域运行 Stage 1,并传入 --apply-domain 和 --json。如果 deferred > review_enqueued,则将审查 sidecar 持久化到临时目录之外,或将该缺口报告为失败。
  2. 在加载此技能的情况下运行 Native AI,否则报告 Stage 1 only — incomplete。不使用 Agent 的自动化可改用 Stage 3。
  3. 根据目标位置的存储约定选择报告位置。对审查报告使用 --sidecar-dir DIR,同时让运行输出遵循现有的 --output 约定。省略此参数会保留相邻/默认输出行为;在 --close-sidecars 决定关闭前,保留待处理报告。关闭操作会查找已注册的自定义报告目录;恢复时也可显式指定 --sidecar-dir。切勿强制所有项目都将报告移至同一个固定子目录。

规范调用:

uv run scripts/fix_transcription.py \
  --input "$staged" --stage 1 \
  --domain "$domains" --apply-domain --json

仅接入脚本路径的调用方不会加载此约定。因此,仅集成脚本路径只能作为 Stage 1 预筛选,而非转录文本纠正。

保持项目领域信息及时更新:原生处理过程中确认的每项重复更正,都必须添加回正确的项目领域、名单或上下文文件。

条件性操作

操作前先阅读对应章节;以下是已有的受支持任务:

操作必需详情
添加词典/上下文规则、人员名册变体或反复出现的陷阱词典与身份安全、身份/上下文负责人、误报指南
入队、接受/覆盖/保留/跳过、附加权威依据、重新锚定、合并或记录账本判定审核队列安全、队列/仪表板;对于已审核的文件,请使用待处理续接
数字、文字记录、平行录音、片段交叉核对或批次数字、记录与批次、高级证据
提升输出、关闭 sidecar、归档或验证最终质量最终处理、队列/最终处理详情
无 Agent API 自动化,包括降级输出处理无 Agent API 路径、API 设置、工作流指南
提取不确定项、导入预设、修复时间戳、拆分/重基、比较差异、收集、查找或验证设置实用命令、CLI 参数
比较重复/重叠的转录文本,或解析/统计说话人轮次转录比较/解析

检测和入队并不等于纠正。要声称文件最终完成/达到高质量,必须满足 精确到文件的 stats.pending_total == 0;读取回写的文件编辑内容后,待处理行数必须为零。未解决的文件应保持 draft / unresolved — incomplete。抽样片段只能解决其锚定的那一项。对于音频基准可用且涉及多段录音的高风险请求,如果需要完整/更好的转录文本,请加载 /daymade-audio:asr-transcribe-to-text,并覆盖最清晰录音的完整内容; 同一识别器只能证明覆盖了完整来源,不能证明有独立佐证。 用户判定可以解决具体出现项,但不能因此让替换内容可复用: 罕见的句子级误听只能用于当前文件。

参考索引

需求阅读
历史事件(可选;非前置要求)native_historical_evidence.md
原生操作详情和命令示例native_action_details.md
原始数据/上游裁定native_upstream_provenance.md
名称/词元分类和本地流程native_entity_triage.md
最小编辑/元数据来源native_correction_application.md、native_metadata_provenance.md
完整冷审查/队列和归档详情native_second_pass.md、native_queue_finalization.md
重复转录对比和轮次解析native_transcript_comparison.md
完整原生校正流程native_ai_full_workflow.md
在单独的阅读副本中进行明确的单任务说话人推断scoped_speaker_inference.md
拆分/批次冷审查材料包、结果验证和中断恢复native_review_packets.md
词典、人员名单、领域上下文dictionary_identity_and_context.md
误报策略false_positive_guide.md
队列、仪表板、音频、重新锚定review_queue_dashboard.md
恢复待处理证据或应用明确的人类裁定pending-continuation.md
数字、照片、多录音、片段交叉核对、批次、批次待处理队列音频裁定advanced_correction_evidence.md
上下文文件位置和语法/模板domain_context_guide.md
CLI 标志和审查项架构script_parameters.md
数据库架构和查询database_schema.md、sql_queries.md
快速命令查阅quick_reference.md、dictionary_guide.md
学习循环iteration_workflow.md
原生示例example_session_dji_minutes.md
无 Agent 的 API 示例/配置example_session.md、glm_api_setup.md、installation_setup.md
架构和格式architecture.md、file_formats.md
操作指南best_practices.md、troubleshooting.md、team_collaboration.md、workflow_guide.md

随附脚本会被执行,而不是加载到上下文中。主要入口包括 fix_transcription.py、scan_numeric_consistency.py、fetch_minute_audio.py、review-dashboard/server.py,以及上文列出的差异/时间戳/拆分实用工具。

移交

校正完成后,仅当用户需要结构化摘要时,才移交给 /daymade-audio:meeting-minutes-taker。不要自动创建会议纪要:转录校正和摘要属于不同的工作范围。

评论

支持 Markdown