将用户本地视频或音频(自备配音)转成一个飞书妙记式 Markdown 文字稿,并由 Agent 基于完整转写生成总结;音频配 --json 时另产句级时码 transcript.json(音频驱动工程兜底路输入)。用户说“视频转文字稿 / 视频转文字 / 提取视频文稿 / 把本地视频整理成文字稿或妙记 / 给我自己录的配音出时码稿”时使用。只处理本地文件,不接受 URL、平台链接或远端下载。
npx skills add https://github.com/Gitruck/cli --skill gtrk-transcript
飞书使用教程统一入口:gtrk CLI 使用教程。
本 Skill 驱动一级命令 gtrk transcript,最终只交付一个 Markdown:总结、带 [00:01:23] 时间戳的可读文字记录、完整纯文本。
--json 除机读 stdout 外另产 <名>-transcript.json(utterances[]{id,text,st,ed} + material_id + text_hash + duration,结构与 gtrk split 消费契约逐字段对齐);结果 JSON 的 transcriptJson 字段给出路径,可直接被 gtrk project init --audio <配音> --transcript <该文件> 兜底路消费。gtrk tool audio_tts_clone 产的配音自带句级 segments(时码直出、零成本零误差),建工程直接 gtrk project init --tts-task <task_id>;对 TTS 产物再跑一遍 ASR 转写=重复计费零收益。本零件只服务自备配音(用户自录旁白等无时码音频)场景。> 产物落点纪律(MUST · 全文见随包 AGENT.md 同名一节):唯一 Markdown 产物写入 CLI 返回的 output 路径(缺省=源文件同目录)或用户指定的 --out;引用媒体用原路径,不复制到 agent 工作目录;临时文件放系统 temp,用完即删。
> 交付物 MUST NOT 先写 agent 自有目录再拷进工程;中转本身即违规,体积不是豁免理由。
--json 时另有 CLI 自产的 <名>-transcript.json),不另建总结、字幕、TXT 或 HTML 文件。--json。这一步 MUST NOT 跳过,也 MUST NOT 无脑恒带。--json 不是单纯的输出格式开关,它决定服务端用哪个引擎:
| 用途 | 命令 | 落腿 |
|---|---|---|
| 只要一份能读的文字稿(默认,含「转文字/提取文稿/出妙记/整理成文档」) | 不带 --json | 自部署引擎 + 服务端纠错,句级时码 |
| 产物要喂工程(project init 兜底路 / split 拆分 / subtitle 字幕按语音贴时间) | 带 --json | 厂商字级腿,utterances[].words[] 承载字级 |
# 默认:只要文字稿
gtrk transcript "D:/素材/采访视频.mp4" --out "D:/素材/采访视频-transcript.md"
# 要喂工程时才加 --json
gtrk transcript "D:/配音/旁白.mp3" --json
可选参数:--out <file>、--lang zh-CN、--ffmpeg-path <dir>、--reupload。
> 🔴 恒带 --json 会把只想要文字稿的请求也送进厂商字级腿,且 Markdown 不消费 words[]。拿不准就不带:真需要字级时,消费方(split / subtitle)
> 会明确报错要 words[],那时补跑一次即可;反过来多付的钱收不回来。
> 用户明确说「要建工程 / 要拆分 / 要字幕」才算「喂工程」;只说「转个文字稿」不算。
--json:解析 stdout 的唯一 JSON。仅当 ok:true 时继续;保存 taskId、output、transcriptJson(句级时码稿路径,建工程时交给 gtrk project init --transcript),并检查 summaryPending:true。
人读进度在 stderr,不要把日志当成结果 JSON。
--json:stdout 末尾是人读行 带时码文字稿已生成:<路径>,没有结果 JSON。⇒ 优先显式传 --out,这样路径由你指定、无需从日志里抠;缺省路径是 <源文件同目录>/<源文件名>-transcript.md。
判成功用退出码 + 产物文件存在且非空,MUST NOT 只看日志里有没有那行字。
此形态下 summaryPending 恒为真(Markdown 里的 <!-- gtrk:agent-summary-pending --> 就是判据),
且不产 transcript.json。
output 指向的 Markdown,必须覆盖完整转写内容,不能只看开头几段。summaryPending:true,只编辑 ## 总结 与 ## 文字记录 之间的内容:删除 <!-- gtrk:agent-summary-pending --> 及提示语,写入 3–7 条忠于原文的语义要点。不得改动 ## 文字记录 和 ## 纯文本,不得创建第二个文件。## 总结、## 文字记录、## 纯文本 各出现一次且顺序正确;gtrk:agent-summary-pending 已消失;--json 时是结果 JSON 的 output,不带时是你传的 --out 或那条缺省路径)——MUST NOT 换成副本或新建文件。
gtrk init,不要无效重试。taskId(若有),不要把失败包装成完成。Take gitruck/gtrk-transcript from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.