用途:将不受支持的本地聊天导出转换为 ChatLab 可用的 JSONL 或 JSON,并做严格验证。核心原则是源文件只读、聊天数据不离开本地、不把消息正文输出到终端,优先用可复现脚本而非一次性改写。
主要能力:先检查结构(键名、列名、值类型、计数、时间戳形态、脱敏样本),再定义源字段到 ChatLab 字段的映射,包括会话边界、群聊/私聊类型、成员与所有者身份、时间戳单位与时区、消息类型、内容、原始消息 ID 与回复关系。转换器需接受输入输出路径参数、拒绝覆盖源文件、先写临时文件再重命名、保持源顺序或按时间戳加稳定序号排序、保留源 ID、确定性派生缺失成员 ID、流式处理大文件并打印不含正文的进度、解析失败时非零退出并输出源/输出/跳过计数。
使用方式:可用 clb --help、clb validate --help、clb formats、clb import "路径" --dry-run --json 检查能力;验证用 clb validate "路径" --json,无 CLI 时用捆绑验证器 node ".../scripts/validate-chatlab.mjs" "路径"(需 Node.js 22.19 及以上)。仅在用户明确要求导入时才执行 clb import "路径" --json。
适用场景:本地聊天记录迁移到 ChatLab、格式不兼容的导出文件转换、需要可复现转换流程与验证结果的场景。
限制:不修改源文件;不静默跳过畸形记录,无法精确表示时保留为消息类型 99 并显式计数;未经批准不安装包或系统工具;一个 ChatLab 文件只代表一个会话,多会话需分别输出;无 CLI 时只能报告“格式已验证”,不能声称导入验证通过;身份、会话边界、时间戳含义或归属存在歧义时须询问用户而非猜测。