mcpField
C
chatlab-import

chatlab-import

github.com/chatlab数据与数据库7.6k76 次安装1 天前更新
代码仓库

关于 chatlab-import

chatlab-import 是一个通过 `clb` 命令行导入本地聊天导出的技能,适合需要将聊天记录写入 ChatLab 的用户。它要求先预览具体写入计划,并依据结果决定是否继续。

主要功能

  1. 01导入前预览写入计划
  2. 02支持增量更新和新建会话
  3. 03识别重复消息并报告计数
  4. 04限制聊天内容的披露

适用场景

  1. 01将本地聊天导出导入 ChatLab
  2. 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 可用,请使用它;受支持的导入不要求使用这两项技能。

工作流

  1. 检查 CLI 并确定一个确切的文件路径:
clb --help

如果缺少 CLI,请告知用户使用 npm install -g chatlab-cli 安装。未经批准,不要安装软件。使用用户指定的文件和目标。只有在路径仍有歧义时才询问,并在每条命令中引用该路径。

  1. 预览导入,不进行写入:
clb import "/absolute/path/to/chat-export.json" --dry-run --json

如果用户选择了一个现有会话,则在预览和导入命令中都加入 --session-id <session-id>。

  1. 仅总结计划:创建或更新模式、目标会话 ID、扫描的消息数、新消息数、重复项数,以及匹配方法或创建原因。绝不引用消息正文。

  2. 要求 ok: true,然后从 data 中读取计划并作出判断:

  • 如果用户只要求预览或检查,则停止,不进行写入。
  • 如果 importMode 为 incremental 且 newMessageCount 为 0,则报告会话已是最新状态并停止。
  • 如果 importMode 为 incremental 且有新消息,则自动继续,无需再次确认。
  • 如果 importMode 为 created,则自动继续。如果 createReason 为 ambiguous,则通过创建新会话来保留现有会话,并在最终结果中说明此选择。
  • 如果结果无法确定安全的操作,则停止并说明缺少什么。
  1. 如果判断允许写入,则运行同一条命令,但不带 --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