Stop rewriting ChatGPT parsers
every product cycle.
decant-core is a shared extraction layer for the modern web — including AI conversations. Reusable parsers for 17 AI platforms, platform detection, and web article extraction, so the fix for a platform change lands once, in one place, instead of in every exporter.
import { detectPlatform, isAiChatUrl } from "decant-core";
if (isAiChatUrl(location.href)) {
const { platform, parser } = detectPlatform(location.href);
const result = await parser.parse();
// result.messages -> structured, normalized, reusable
}
Boring infrastructure. Serious leverage.
AI platforms change constantly. Their DOM structures, rendering approaches, and features evolve, and parsers that worked yesterday break today. decant-core centralizes that work so the entire ecosystem shares the benefit.
17 AI chat parsers
ChatGPT, Claude, Gemini, Copilot, Perplexity, DeepSeek, Qwen and more — normalized messages, models, and metadata.
Web article extraction
Mozilla Readability, Defuddle, and Article-Extractor run concurrently and arbitrate by content-quality scoring.
Detection utilities
Tell an AI chat page from a regular page before you decide which
parser to run —isAiChatUrl,
detectPlatform, AI_CHAT_DOMAINS.
Math & Markdown handling
LaTeX normalization plus GFM tables and code fencing that survive round-trips into Obsidian, Logseq and Noteplan.
One package, tree-shakeable
Subpath imports (decant-core/ai/chatgpt,
decant-core/article) let consumers pull only what
they need.
Used by
AI Chat Exporter
Export, archive, and transfer AI conversations between platforms. The product is the demonstration; decant-core is the engine.
Decant
The distraction-free web clipper and research batcher. Batch-clips tabs to Markdown and PKM apps on top of the same extraction layer.
Your project can be next — see Contributing to add or fix a parser.