用途:在 macOS 上快速检索、引用或汇总 Signal Desktop 的历史对话,适合需要回溯既往消息的场景。\n\n主要能力:从 macOS 钥匙串(Signal Safe Storage)取回加密密钥,用 PBKDF2 解密后以 SQLCipher 直接打开本地 SQLite 数据库,对 messages 与 conversations 表执行 SQL;搜索在内存中完成,不写文件。\n\n使用方式:提供 list、dump、search 三个命令。示例:signal-search list;signal-search dump --date "2026-01-25";signal-search dump --date "2026-01-25" --chat "Dariush";signal-search search --query "istanbul" --chat "Monika";signal-search search --query "flight" --chat "Monika" --context 3;正则或字面量可用 --literal,默认 smart-case,--case-sensitive 区分大小写,--max-count 限制结果数。输出行以 > 标记匹配,格式为 [时间戳] 聊天名 | 发送者: 消息。\n\n性能与限制:首次运行需 5–10 秒配置 Python 环境(nix-shell),之后查询小于 0.5 秒,千条级聊天小于 1 秒;缓存路径在 ~/.cache/signal-search/。仅支持 macOS,需已安装 Signal Desktop;钥匙串读取失败或找不到 ~/Library/Application Support/Signal 时无法使用;需安装 Nix。旧版基于导出的 signal-history-search 已弃用,约需 15–30 秒,仅在直连数据库失败时作为备选。
signal-history-search
办公与效率
更新于 10-16 01:38