用途:对 MacWhisper 本地转录会话提供只读访问,输出结构化 JSON,供下游技能或模型处理,例如查找新会议转录、获取某条转录、搜索历史录音,或将会话标记为已处理。
主要能力:包含 list、fetch、mark-processed、search、status 等子命令。list 可列出未标记处理的会话,支持 --all、--since、--limit 过滤;fetch 按 session-id 获取完整带说话人分段的转录,含 transcript_segments、transcript_text 及起止 UTC 时间;search 对标题与转录内容做全文搜索,FTS 不可用时回退为标题子串匹配;mark-processed 记录会话已处理,可用 --note 与 --account 附加元数据;status 显示总数、已处理、未处理数量与最近同步时间。所有子命令向标准输出输出单行 JSON,含 operation、status、results、error 字段,status 为 ok 或 error,需始终检查。
使用方式:将 .env.example 复制为 .env,按需调整路径(默认适用于标准 MacWhisper 安装)。无需 npm install,仅使用 Node.js 内置模块与系统 sqlite3 CLI。命令示例:node macwhisper.js list [--all] [--since <ISO-date>] [--limit <n>];node macwhisper.js fetch <session-id>;node macwhisper.js mark-processed <session-id> [--note <filename>] [--account <name>];node macwhisper.js search "<query>";node macwhisper.js status。已处理会话 ID 记录在调用时当前工作目录下的 macwhisper-state.json,可用 .env 中 MACWHISPER_STATE_FILE 覆盖路径,并建议将其加入 .gitignore。
适用场景:结合日历技能,用 fetch 或 list 返回的 start_time_utc / end_time_utc 查找对应日历事件,补全会议标题、参会者与组织者,替换通用的 Speaker 1、Speaker 2 标签,再生成结构化会议笔记;可与 Obsidian 等技能串联完成归档与标记。
限制:对本地数据库为只读访问;错误码包括 INVALID_ARGS、NOT_FOUND、OPERATION_FAILED。其他平台或版本兼容性、收费与价格信息暂未提供。