defense-recorder
将完整学术答辩会录音、转写文本或字幕文件整理为按答辩人组织的结构化答辩记录,包含陈述概述、评委问答、术语修正和低置信度说明。适用于用户要求整理答辩录音、生成答辩记录、提取评委问答、使用答辩秘书技能、处理答辩录音、论文答辩音频或评委问答记录的场景。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
将完整学术答辩会录音、转写文本或字幕文件整理为按答辩人组织的结构化答辩记录,包含陈述概述、评委问答、术语修正和低置信度说明。适用于用户要求整理答辩录音、生成答辩记录、提取评委问答、使用答辩秘书技能、处理答辩录音、论文答辩音频或评委问答记录的场景。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
| name | defense-recorder |
| description | 将完整学术答辩会录音、转写文本或字幕文件整理为按答辩人组织的结构化答辩记录,包含陈述概述、评委问答、术语修正和低置信度说明。适用于用户要求整理答辩录音、生成答辩记录、提取评委问答、使用答辩秘书技能、处理答辩录音、论文答辩音频或评委问答记录的场景。 |
| metadata | {"argument-hint":"[音频文件或转写文本]","version":"0.1.0","user-invocable":true} |
| allowed-tools | Read, Write, Edit, Bash |
使用本技能将完整学术答辩会整理为可供秘书审核的 Markdown 草稿。默认假设为:
一份录音 = 一场包含多位答辩人的完整答辩会
除非用户明确说明,否则不要把整份录音当作单个答辩人的答辩。
答辩会 -> 答辩人场次 -> 陈述片段 + 问答片段。defense_records.md;如果不适合写文件,则直接用 Markdown 回复。未知答辩人 1、未知答辩人 2 等。论文题目:未识别。SPEAKER_ID 直接绑定为 答辩人;说话人角色必须在每位答辩人的场次内推断。答: 和 回应: 后直接写内容,不要加 答辩人说明、答辩人表示、答辩人解释说、答辩人认为、该同学表示 等转述主语或引导语。评委问答 和 评委建议 中不要逐条输出 时间范围:...。需要核查逐条来源时,使用 qa_chunks/ 中的逐人原始文件。评委建议 下,不要写成 问/答。prompts/00_env_setup.md 检查 XFYUN_APP_ID / XFYUN_SECRET_KEY 或 defense-recorder/.env 中是否有可用的讯飞凭据。如果凭据缺失,转写前停止,并要求用户参考讯飞 RAASR API 文档 https://www.xfyun.cn/doc/asr/ifasr_new/API.html,然后运行 scripts/setup_xfyun_env.py 或设置环境变量。prompts/00_intake.md 梳理输入材料。XFYUN_APP_ID / XFYUN_SECRET_KEY 可用时,使用讯飞 API 封装脚本 scripts/transcribe_audio.py 转写。命令参数参考 references/transcription_tools.md。使用 --role-type 1 请求角色分离;如果说话人分离不可用,则继续使用带时间戳的转写文本,并标注说话人不确定。答辩顺序表 / 官方名单
> 答辩人 PPT / 论文 / 摘要
> 答辩人陈述内容
> 评委问答内容
> 通用领域知识
prompts/02_meeting_segmentation.md 将整场会议切分为答辩人场次。prompts/03_candidate_session_split.md 将每位答辩人的场次拆分为陈述、问答和过渡片段。qa 片段原文写入 qa_chunks/ 文件夹,作为核查用中间文件。每位答辩人必须单独一个 Markdown 文件,例如 qa_chunks/12_闫涛.md;文件内保持 transcript_output/transcript.md 的原始行格式,例如 [00:10:36.000 - 00:10:41.200] 段落-3: ...,不要改写成最终记录格式。可额外生成 qa_chunks/index.md 汇总文件名、答辩人、时间范围和片段行数,但不要只生成一个长 qa_chunk.md。prompts/04_qa_extraction.md 按答辩人抽取问答记录。长录音或多答辩人场景下,必须一次只读取一个 qa_chunks/<序号>_<姓名>.md 文件,并将该答辩人的抽取结果写入 qa_extracts/<序号>_<姓名>.md;不同答辩人的抽取可以并行交给多个 agent,但每个 agent 只能处理自己负责的单个答辩人文件。生成前检查每个评委发起点是否都对应 问: 或 建议:;不要从整场全文直接压缩生成问答。prompts/05_term_correction.md,仅使用 global_terms + 当前答辩人术语 修正明确的 ASR 术语错误。prompts/06_final_minutes.md 和 templates/defense_minutes_template.md 生成最终 Markdown。最终汇总必须读取逐人 qa_extracts/ 文件,不得从完整转写或单个长 QA 文件重新压缩;不得因篇幅压缩省略某位答辩人问答片段开头、中段或结尾的独立问题/建议。prompts/07_correction_handler.md 只更新受影响的部分。当输入为音频或视频文件时,先使用讯飞录音文件转写 API 封装脚本:
python3 scripts/setup_xfyun_env.py
默认会把凭据写入 defense-recorder/.env。
或使用:
export XFYUN_APP_ID="你的讯飞 APPID"
export XFYUN_SECRET_KEY="你的讯飞录音文件转写 RAASR SecretKey"
XFYUN_SECRET_KEY 必须是讯飞录音文件转写 / RAASR 服务的 SecretKey,而不是应用级 APISecret 或 APIKey。
python3 scripts/transcribe_audio.py AUDIO_OR_VIDEO_FILE \
--output-dir transcript_output \
--language cn \
--role-type 1 \
--role-num 0 \
--pd edu
使用生成的 transcript_output/transcript.json 作为主要中间转写文件。脚本会将媒体文件上传到讯飞、轮询订单结果,并把讯飞输出规范化为 JSON/Markdown/SRT 转写文件。如果缺少凭据、额度不可用或命令无法运行,使用 prompts/01_audio_transcription.md 中的兜底提示,并要求用户提供转写文本或字幕输入。
本技能的音频转写路径仅使用 API。如果 API 转写无法运行,要求用户提供有效的讯飞凭据/额度,或已有转写文本/字幕文件。
每位答辩人的章节应包含:
每条问答记录必须使用:
问:...
答:...
其中 答: 后必须直接写回答概括,禁止写成 答:答辩人说明...、答:答辩人表示...、答:答辩人认为...。
仅建议记录应使用:
建议:...
回应:好的/感谢老师提醒/已记录
其中 回应: 后必须直接写回应内容,禁止写成 回应:答辩人表示...。
最终 评委问答 与 评委建议 部分不得出现逐条 时间范围:hh:mm:ss - hh:mm:ss;需要核查逐条来源时,使用 qa_chunks/ 中保留的逐人原始时间戳。
优先使用明确流程语言:
下面请第一位同学进行汇报请张三同学开始答辩我的论文题目是...下面进入专家提问环节请各位老师提问张三同学答辩到此结束下面请下一位同学如果缺少这些信号,则根据“较长陈述 -> 评委问答 -> 下一段较长陈述”的模式推断边界。推断得到或存在歧义的边界应标记为低置信度。
对音频不清、说话人不确定、答辩人身份不明确、场次边界模糊、问答配对有歧义、可能串到相邻答辩人、术语修正不确定或论文题目缺失等情况添加说明。
答辩录音可能包含个人信息。只纳入与答辩记录相关的信息。不要暴露无关隐私细节,也不要推断材料中没有明确支持的身份、关系或结果。