读取保留的转录记录¶
Agent or terminal // transcripts.cli; macOS release
├── hex history -> Timestamp, app, recorded mode, final text
│ ├── --since / --until / --app / --grep -> Filter, then limit
│ ├── --search <query> -> Rank filtered entries with meetings' fuzzy BM25
│ │ (raw + final text count as one document)
│ ├── --raw -> Include the stored pre-processing transcript
│ ├── --oldest-first -> Reverse timestamp order
│ ├── --json -> Version 1 response, with truncation flag
│ └── stats [--since/--until] [--json] -> Labs › Dictation stats (labs.history_stats):
│ dictations, words, words per minute, changed by Output, daily streak,
│ top apps over every retained entry; toggle off -> fails naming
│ `hex labs on history-stats` before History is read
└── hex meetings
├── list -> Newest first, overlapping time range, live status
├── show <id|latest> -> Markdown or versioned JSON with notes and entries
│ ├── --from / --to <mm:ss|h:mm:ss|seconds> -> Only entries overlapping
│ │ the range, finished or still recording; inverted or past-the-end
│ │ ranges fail with an error
│ └── --chapter N -> Only chapter N's entries (not with --from/--to)
├── chapters <id|latest> -> Live chapters (experiment live-chapters):
│ spans, names, lines, whether corrected; none -> says so; --json
└── search <query> -> MCP's stemmed, fuzzy BM25 passages; exact stems first
这些命令在应用运行的同时独立工作,且不依赖功能选择加入(feature opt-ins),但 hex history stats(以及 meetings show --srt|--vtt)除外,它们需要各自的 Labs 开关。
control/transcript_cli 在日志记录、实例锁定、本地 API、GUI、权限和 Hex Microphone 之前进行分发。不会创建或修复任何内容。
调试用的 meeting list/show 共享此路径;录音仍仅限调试使用。
History 使用一个打开的文件快照以及已保存的保留设置,因此并发的原子替换不会暴露出部分写入,并且过期清理会在磁盘清理之前强制执行。Off 会保留现有条目。缺少设置时默认保留一周;格式错误的 history/settings 会报错。同一个 owner-only 存储现在最多可容纳 10,000 个条目和 16 MiB 的原始文本与最终文本,且没有归档。已驱逐的条目仍然不可用。UI 搜索仍最多返回 200 条;CLI 限制在过滤后生效,最多允许 10,000 条。
来源:control/transcript_cli.rs、history.rs、meeting/query.rs 以及 main.rs 中的早期分发。命令和 JSON 契约 记录了命令行标志和 schema。
control/transcript_cli_tests.rs 中的检查涵盖过滤/排序、保留期内按相关度排序的 --search、每个条目作为一个文档(history_search_counts_raw_and_final_text_as_one_document)、保留策略与格式错误的设置、JSON 快照、原子替换读取、解析,以及 show --from/--to 的 JSON、Markdown 和错误,包括 --to 0(meeting_show_ranges_filter_json_entries_and_markdown),还有针对合成会议 tests/fixtures/meetings-chapters 的 chapters / show --chapter JSON 和 Markdown(meeting_chapters_list_and_select_a_chapter_in_json_and_markdown)。现有的 History 检查涵盖有界存储、owner-only 文件和过期清理。Meeting query 测试夹具覆盖锁、部分 NDJSON、中断的草稿以及与 MCP 的搜索一致性。这些测试夹具检查并不能证明已签名安装应用的调用;原生安装证据必须单独记录。
scripts/test-transcript-cli.py <release-binary> 在持有监听器锁的同时,针对复制的测试夹具运行真实的命令解析器。它检查命令不会创建日志或 API 发现文件,并保持所有输入字节和修改时间不变,同时请求使用实验性麦克风模式。
2026 年 10 月 22 日,在 Pro 上,Rune 集成前后观察:全部 35 个针对性的 history、meeting-query 和 CLI 测试均通过;格式化和全目标/全功能 Clippy(使用 -D warnings)均通过。优化后的发布二进制通过了占用锁/无写入冒烟测试。Claude Opus 5.5 独立审查了实现和集成,未发现阻塞问题。
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 hex19/hex