ThreadShelf Brings Unified Semantic Search to AI Chat Archives

Local-first tool aggregates conversations from six major providers into one searchable workspace.

GeoDetect PipelineOctober 2, 2026
Share
Article cover image

Overview

A new open-source tool called ThreadShelf is aiming to solve a growing problem for AI power users: the fragmentation of chat history across multiple platforms. As professionals and hobbyists increasingly rely on a mix of ChatGPT, Claude, Google AI Studio, and other interfaces, their most valuable conversational context becomes siloed in incompatible formats. ThreadShelf positions itself as a local-first solution that unifies these disparate archives into a single, searchable workspace.

The project, hosted on GitHub by developer ChrystianSchutz, allows users to import exports from six major AI providers. It then normalizes the data, generates local embeddings, and stores everything in a vector database called LanceDB. This architecture enables semantic search, meaning users can find past conversations by topic or intent rather than relying solely on exact keyword matches.

Beyond simple retrieval, ThreadShelf offers the ability to reconstruct entire threads and continue them. While the primary inference engine runs locally via llama.cpp, the tool also supports an explicitly marked external provider path through OpenRouter for users who require more powerful cloud-based models.

How It Works

The core value proposition of ThreadShelf lies in its ability to normalize data from vendors that do not speak the same language. Currently, the system supports imports from ChatGPT, Claude, Google AI Studio, OpenRouter, LM Studio, and Grok. Each provider uses a different export format, and in some cases, no official export mechanism exists at all.

For providers like ChatGPT and Claude, the tool ingests official data exports. However, for others, such as Google AI Studio and OpenRouter, users must rely on undocumented formats or browser-based console scripts provided by the project. These scripts walk through the user’s chat sidebar and download individual JSON files, which ThreadShelf then parses into a common structure.

Once the data is ingested, it is chunked and embedded locally. The resulting index powers three different interfaces: a React-based web UI, a command-line tool for scripting, and an MCP (Model Context Protocol) stdio server. This triad of access points means that a user’s archived knowledge is not locked behind a single graphical interface but can be queried by other AI tools that support the MCP standard.

Search remains useful without configuring any LLM. When generation is wanted, the primary engine is a loopback-only llama.cpp server; OpenRouter is a separately marked external choice.

Privacy and Architecture

In an era where data privacy is a paramount concern, ThreadShelf emphasizes a local-first design. The entire archive pipeline—including parsing, embedding generation, storage, and search—runs on the user’s machine. There is no central server sending conversation history to a cloud provider for indexing purposes.

The project distinguishes clearly between local and external processing. By default, any attempt to generate a response or continue a thread uses llama.cpp with a local GGUF model. This ensures that sensitive context never leaves the device. If a user wishes to use a more capable cloud model, they must explicitly select the OpenRouter provider, which is clearly labeled as an external choice in the interface.

This separation is critical for enterprise and privacy-conscious users. The default behavior prioritizes data isolation, while still offering flexibility for those who need to leverage external APIs for complex reasoning tasks. The project also includes synthetic test data and strict logging to help users verify what is happening during ingestion and generation.

Limitations and Stability Concerns

Despite its innovative approach, ThreadShelf faces significant challenges related to the stability of third-party data formats. The README explicitly warns that four of the six supported sources—Google AI Studio, OpenRouter, LM Studio, and Grok—have no documented, stable export schemas. This means that the vendors can change their file structures at any time, potentially breaking the parser.

The tool has been tested against specific snapshots, such as LM Studio version 0.4.x and Google Drive exports from July 2026. If a user updates their application to a newer version that alters the export shape, ThreadShelf may fail to parse the data correctly. The developer encourages users to open issues with anonymized samples if they encounter such breakages.

In contrast, ChatGPT and Claude are considered semi-stable because they have official, long-standing export mechanisms. However, even these are not guaranteed to remain perfectly consistent over time. Users relying on ThreadShelf for long-term archival should be aware that they are dependent on the continued cooperation of proprietary platforms in maintaining backward-compatible export formats.

Getting Started

To begin using ThreadShelf, users must first gather their chat exports from the providers they utilize. For Google AI Studio, this involves downloading the relevant folder from Google Drive and unzipping it locally. For OpenRouter, users run a JavaScript script in their browser’s developer console to scrape their chat history into individual JSON files.

Once the files are collected, they are pointed at the ThreadShelf indexer. The system handles the rest, creating the vector database and making the conversations available for search. Users can then browse their unified history, reopen old threads with full context, and export conversations to Markdown for sharing or backup.

The project is designed to be modular. Users do not need to import every provider; they can start with just the ones they actively use. This flexibility makes it an attractive option for individuals who want to maintain a personal knowledge base without committing to a single AI ecosystem.

Share

Sources

Tools mentioned