3.0 KiB
name, description
| name | description |
|---|---|
| chatlab-import | Preview and import supported local chat exports into ChatLab, including incremental updates. 预览并导入 ChatLab 支持的本地聊天导出,支持增量更新。 |
ChatLab Import
Import local chat exports through the clb CLI. Always preview the exact write. Treat an explicit request to import as authorization to continue after a successful preview; do not ask for a second confirmation.
Follow the user's requested response language; otherwise use the conversation language, preserving the user's Chinese variant when applicable. Keep commands, field names, IDs, and evidence markers unchanged.
For analysis of imported records, use chatlab-analyze when available. For an unsupported source, use chatlab-convert when available; neither skill is required for a supported import.
Workflow
- Check the CLI and resolve one exact file path:
clb --help
If the CLI is missing, tell the user to install it with npm install -g chatlab-cli. Do not install software without approval. Reuse the user's specified file and target. Ask only if the path remains ambiguous, and quote it in every command.
- Preview the import without writing:
clb import "/absolute/path/to/chat-export.json" --dry-run --json
If the user selected an existing session, include --session-id <session-id> in both preview and import.
-
Summarize only the plan: create or update mode, target session ID, scanned messages, new messages, duplicates, and match method or create reason. Never quote message bodies.
-
Require
ok: true, then read the plan fromdataand decide:
- If the user asked only to preview or inspect, stop without writing.
- If
importModeisincrementalandnewMessageCountis0, report that the session is already up to date and stop. - If
importModeisincrementaland there are new messages, continue automatically without another confirmation. - If
importModeiscreated, continue automatically. WhencreateReasonisambiguous, preserve existing sessions by creating a new one and explain this choice in the final result. - If the result does not identify a safe action, stop and explain what is missing.
- When the decision permits writing, run the same command without
--dry-run, keeping the file, target, and format unchanged:
clb import "/absolute/path/to/chat-export.json" --json
Report the resulting session ID, import mode, new-message count, and duplicate count from the final JSON envelope.
Guardrails
- Never skip the preview, edit ChatLab databases directly, or delete or merge sessions.
- Never reveal a full chat export or message bodies.
- Never invent a file path, parser format, or session ID.
- Follow
error.hintonly when the correction is unambiguous. - For
FILE_NOT_FOUNDorINVALID_SESSION_ID, resolve from available context or request the correct value. ForUNRECOGNIZED_FORMAT, inspectclb formats. ForIMPORT_IN_PROGRESS, retry once after the active import finishes; if still blocked, report it instead of polling indefinitely.