rybaier29 downloadsSplit long AI chat transcripts into organized, topic-specific notes.
Split long AI chat transcripts and documents into organized, topic-specific Obsidian notes.
Chat Splitter takes a sprawling multi-topic conversation from ChatGPT or Claude -- or any long-form document -- and breaks it into individual notes, one per topic or section, with auto-generated titles, tags, summaries, key points, bidirectional wikilinks, and an index (Map of Content) note tying everything together.
main.js, manifest.json, and styles.css from the latest release.obsidian/plugins/chat-splitter/git clone https://github.com/rybaier/obsidian-chat-analyze-plugin.git
cd obsidian-chat-analyze-plugin
npm install
npm run build
Then copy main.js, manifest.json, and styles.css into your vault's .obsidian/plugins/chat-splitter/ folder.
Documents with headings are automatically split at heading boundaries. Documents without headings fall back to paragraph-group splitting. The format badge shows "Document" when non-chat content is detected, and plain speaker style is auto-selected.
.json, .zip, or .md fileClick "Preview segments..." before creating notes to review the auto-detected topics. In preview mode you can:
Enable "Always preview" in settings to open preview mode by default.
| Setting | Default | Description |
|---|---|---|
| Default folder | AI Chats |
Base folder for imported conversations |
| Naming template | {{topic}} |
Template for note filenames ({{date}}, {{conversation_title}}, {{topic}}, {{source}}, {{segment}}, {{segment_total}}) |
| Tag prefix | ai-chat |
Prefix for auto-generated tags |
| Folder structure | Nested | Nested (per-conversation folder) or Flat |
| Default granularity | Medium | Coarse / Medium / Fine segmentation |
| Speaker style | Callouts | Callouts / Blockquotes / Bold / Plain |
| Keep full transcript | Off | Also create a single unsplit transcript note |
| Enable Ollama | Off | Use local Ollama for LLM-enhanced segmentation |
| Custom frontmatter | (empty) | Additional YAML fields added to every note |
| Debug logging | Off | Log detailed info to console with [Chat Splitter] prefix |
| Format | Method | Notes |
|---|---|---|
| ChatGPT paste | Paste | "You said:" / "ChatGPT said:" format |
| ChatGPT JSON export | File | Single or multi-conversation .json files |
| ChatGPT ZIP export | File | ZIP archives containing conversations.json |
| Claude paste | Paste | "Human:" / "Assistant:" format |
| Claude JSON export | File | chat_messages array format |
| Generic markdown | Paste/File | Heading-based or bold-label speaker patterns |
| Documents | Paste/File | Any long-form text; splits at headings or paragraph groups |