SRTC — 屏幕录制到Claude
SKILL_DIR 是包含本 SKILL.md 的目录(通常是 ~/.claude/skills/srtc)。下面每条命令都从该目录运行。工具是 python3 "$SKILL_DIR/vtc.py";解析引擎是 python3 "$SKILL_DIR/screencast/screencast.py"。
功能
⌃⌘S切换屏幕 + 麦克风录制(菜单栏代理vtc-hotkey)。Esc取消。10 分钟限制,并有 20 秒倒计时音效和红色面板。- 停止后:1 fps 采样 → 去除无变化的秒 → 2×2 带时间戳的截图;鼠标日志 → 针对圆圈/停留/点击位置的缩放“指针截图”;Whisper(本地,录制期间流式处理)→ 带时间戳的转录文本。
- 投递:将 Claude 置于前端并将图像和提示粘贴到打开的聊天中(用户按 Enter 发送)。
~/.claude/CLAUDE.md中的规则(从claude-rule.md安装)将叙述视为请求。
命令
| 询问 | 运行 |
|---|---|
| 状态 / 是否在录制 | python3 "$SKILL_DIR/vtc.py" status |
| 解析现有录制(任意 .mov/.mp4) | python3 "$SKILL_DIR/screencast/screencast.py" digest "<file>" → 然后 Read 打印出的 DIGEST.md,再读取 sheets/ 和 pointer/ 中的每个截图 |
| 存储使用情况 | python3 "$SKILL_DIR/vtc.py" usage |
| 清理旧录制 / 清理所有 | python3 "$SKILL_DIR/vtc.py" clean / python3 "$SKILL_DIR/vtc.py" clean --all |
| 更改快捷键/麦克风/录制限制/保留 | 编辑 ~/.config/vtc.json(键:hotkey、mic、cap_seconds、warn_seconds、keep_days、deliver、auto_send、asr),然后运行 launchctl kickstart -k gui/$(id -u)/com.srtc.hotkey |
| 安装/重新安装 | "$SKILL_DIR/install.sh"(用户必须运行:它会注册一个登录代理和一个钥匙串证书) |
当用户询问刚录制的录制内容时,解析文件夹为 recordings/<date>.digest/,位于视频旁边(默认 ~/Movies/SRTC/,或 ~/.config/vtc.json 中的 recordings):先读取 DIGEST.md,然后读取其中列出的截图。
故障排除(按此顺序检查)
- 快捷键无响应,菜单栏显示 "hotkey blocked: password field" → 某个应用程序占用了安全键盘输入(聚焦的密码字段,通常是浏览器)。点击退出该字段。运行
ioreg -l -w 0 | grep -o '"kCGSSessionSecureInputPID"=[0-9]*'可查看 PID。 - 快捷键无响应,日志显示 "not trusted"(
~/Library/Application Support/VideoToClaude/hotkey.log)→ 辅助功能权限丢失(在未使用sign.sh重建后发生)。系统设置 → 隐私与安全性 → 辅助功能:移除vtc-hotkey(−),重新添加(+ 或将二进制文件拖入)。代理会在 2 秒内激活。 - “未录制到任何内容” →
vtc-hotkey缺少屏幕录制或麦克风权限;屏幕录制权限仅在运行launchctl kickstart -k gui/$(id -u)/com.srtc.hotkey后才生效。 - 转录为空或乱码 → 检查解析中的“音频峰值/平均值”行;平均低于 −40 dB 表示麦克风错误。
~/.config/vtc.json中的mic是一个优先级列表;运行python3 "$SKILL_DIR/screencast/screencast.py" devices可列出设备。 - 转录正常但出现较晚 → Whisper 模型缺失(
models/whisper-large-v3-turbo/weights.safetensors);请参阅 README。 日志:~/Library/Application Support/VideoToClaude/{hotkey,runner,asr,recorder-ffmpeg}.log。
切勿自行运行 install.sh、sign.sh 或 launchctl bootstrap;应显示命令并让用户运行。