关于 chatlab-import
chatlab-import 是一个通过 `clb` 命令行导入本地聊天导出的技能,适合需要将聊天记录写入 ChatLab 的用户。它要求先预览具体写入计划,并依据结果决定是否继续。
主要功能
- 01导入前预览写入计划
- 02支持增量更新和新建会话
- 03识别重复消息并报告计数
- 04限制聊天内容的披露
适用场景
- 01将本地聊天导出导入 ChatLab
- 02检查导入计划后更新现有会话
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ chatlab/ chatlab --skill chatlab-import安装后在 Claude Code 中输入/chatlab-import确认已加载。
附带文件agents/openai.yaml
详细介绍
ChatLab 导入
通过 clb CLI 导入本地聊天记录导出文件。始终预览确切的写入内容。明确请求导入即表示授权在预览成功后继续;无需再次征求确认。
遵循用户要求的回复语言;否则使用对话语言,并在适用时保留用户使用的中文变体。命令、字段名、ID 和证据标记保持不变。
分析已导入的记录时,如果 chatlab-analyze 可用,请使用它。对于不受支持的来源,如果 chatlab-convert 可用,请使用它;受支持的导入不要求使用这两项技能。
工作流
- 检查 CLI 并确定一个确切的文件路径:
clb --help
如果缺少 CLI,请告知用户使用 npm install -g chatlab-cli 安装。未经批准,不要安装软件。使用用户指定的文件和目标。只有在路径仍有歧义时才询问,并在每条命令中引用该路径。
- 预览导入,不进行写入:
clb import "/absolute/path/to/chat-export.json" --dry-run --json
如果用户选择了一个现有会话,则在预览和导入命令中都加入 --session-id <session-id>。
-
仅总结计划:创建或更新模式、目标会话 ID、扫描的消息数、新消息数、重复项数,以及匹配方法或创建原因。绝不引用消息正文。
-
要求
ok: true,然后从data中读取计划并作出判断:
- 如果用户只要求预览或检查,则停止,不进行写入。
- 如果
importMode为incremental且newMessageCount为0,则报告会话已是最新状态并停止。 - 如果
importMode为incremental且有新消息,则自动继续,无需再次确认。 - 如果
importMode为created,则自动继续。如果createReason为ambiguous,则通过创建新会话来保留现有会话,并在最终结果中说明此选择。 - 如果结果无法确定安全的操作,则停止并说明缺少什么。
- 如果判断允许写入,则运行同一条命令,但不带
--dry-run,并保持文件、目标和格式不变:
clb import "/absolute/path/to/chat-export.json" --json
从最终 JSON 信封中报告结果会话 ID、导入模式、新消息数和重复项数。
防护规则
- 绝不跳过预览、直接编辑 ChatLab 数据库,或删除、合并会话。
- 绝不泄露完整的聊天导出内容或消息正文。
- 绝不臆造文件路径、解析器格式或会话 ID。
- 只有在修正方式明确无歧义时,才遵循
error.hint。 - 对于
FILE_NOT_FOUND或INVALID_SESSION_ID,根据可用上下文确定正确值,或请求用户提供正确值。对于UNRECOGNIZED_FORMAT,检查clb formats。对于IMPORT_IN_PROGRESS,在当前导入完成后重试一次;如果仍受阻,则报告情况,不要无限轮询。
评论
支持 Markdown