deniz.in

Markets

Weather

Loading weather

· via dev.to (home feed)

Convolvger 0.5.0 adds Grok, archives ChatGPT, Claude and Gemini chats locally

The CLI now archives conversations from ChatGPT, Claude, Gemini and Grok share links into local Markdown and JSON files, capturing provider quirks like re-typed ChatGPT messages and silent Gemini deletions.

Convolvger 0.5.0 adds Grok, archives ChatGPT, Claude and Gemini chats locally

What shipped

Convolvger 0.5.0, a Python command-line tool for archiving AI chat conversations, adds Grok to a provider list that already covered ChatGPT, Claude and Gemini. According to a dev.to announcement, the tool takes a public share URL and stores the conversation on your own machine as readable Markdown plus a JSON copy meant for verification — running without accounts, telemetry, or any model in the loop.

The premise is that share links are not archives. Every major provider lets users publish a conversation at a URL, but none promises it will stay put: pages get redesigned, and what an address serves can change without notice.

How each provider behaves

The post documents a different extraction problem per provider, and several of the findings are unsettling.

ChatGPT delivers share snapshots as a turbo-stream, which Convolvger decodes directly. More concerning, the content can shift: fetching the same link eight hours apart once produced the same 31 message IDs with four assistant replies silently re-typed in between. That is why every archive records when it was retrieved.

Claude blocks non-browser clients from its share pages regardless of headers. Rather than spoofing a browser, the tool prints a bookmarklet the user clicks on the share page, handing the snapshot to a loopback listener on 127.0.0.1 — capped at one snapshot, with a three-minute timeout.

Gemini's share URL carries no conversation at all: it is an application shell whose only prose is Google's marketing examples, so a naive scrape archives the wrong content. Convolvger calls the same endpoint the web UI uses, sending only the one required query parameter under its own User-Agent. It handles all three link formats Google issues and catches deleted shares, which Google reportedly serves as a 200 OK response with a null payload.

Grok, the new addition, has the same app-shell shape: the conversation loads as JSON after the page renders, so the tool requests that endpoint directly, with no browser, cookie or token. Share IDs are kept intact whatever their prefix. Citations arrive as inline markup and are lifted out of the text, while the message exactly as served remains in the JSON. Sender labels are preserved as-served even when inconsistent — the post observed "human", "ASSISTANT" and "assistant" within a single conversation. Reasoning traces are retained whole but flagged as unmodelled, files a response names but never carries are reported as withheld rather than fetched, and missing shares are detected whether the provider answers 404, 400, or a 200 with a title and no messages.

Design guarantees

The announcement lists rules the tool holds to. Everything runs locally, and a test fails the build if the program ever contacts a package index to check for updates. It never impersonates a browser and never dereferences a URL it archives. Each archive stores its schema version, retrieval time and extraction findings, and a convolvger verify command checks integrity without fetching anything again. Content the current version cannot model is flagged, never silently dropped.

Upstream changes are caught by a weekly scheduled job that probes each provider in its own CI job, so a format shift breaks the build — naming the provider that moved — before it reaches users.

Also in this release

A capture-port bug on Windows is fixed, and the test suite now runs on Windows in CI as well as Linux. The tool installs via pip, uv or pipx, requires Python 3.12 or newer, and is MIT licensed. Commands include convolvger export to save a share, convolvger inspect to look without saving, and convolvger verify to check a stored archive.

Why it matters

Share links have quietly become a citation format: bug reports, tutorials and research notes increasingly point at conversations hosted by four companies with no archival obligation. Convolvger turns those links into local, timestamped, verifiable files — and its own findings about re-typed ChatGPT snapshots and nulled-out Gemini deletions suggest the problem it targets is real. For anyone who treats AI chats as reference material, the tool carries a pointed argument: if you do not archive the conversation yourself, nobody else will.

  • #cli
  • #python
  • #data-archiving
  • #ai-chatbots
  • #open-source

Related posts