Chasm bridges the divide between AI providers by extracting and unifying chat sessions from AI coding assistants like GitHub Copilot, Cursor, and more. Never lose your AI conversations again.
✨ Features
- 🔍 Harvest - Extract chat sessions from VS Code, Cursor, Windsurf, and other editors
- 🔄 Recover - Restore lost or orphaned chat sessions to VS Code
- 🔀 Merge - Combine sessions across workspaces and time periods
- 📊 Analyze - Get statistics on your AI assistant usage
- 🔌 API Server - REST API for building custom integrations
- 🤖 MCP Tools - Model Context Protocol support for AI agent integration
- 🗃️ Universal Database - SQLite-based storage that normalizes all providers
📦 Installation
From crates.io
From source
Pre-built binaries
Download from GitHub Releases:
| Platform | Download |
|---|---|
| Windows x64 | chasm-v1.0.0-x86_64-pc-windows-msvc.zip |
| Windows ARM | chasm-v1.0.0-aarch64-pc-windows-msvc.zip |
| macOS x64 | chasm-v1.0.0-x86_64-apple-darwin.tar.gz |
| macOS ARM | chasm-v1.0.0-aarch64-apple-darwin.tar.gz |
| Linux x64 | chasm-v1.0.0-x86_64-unknown-linux-gnu.tar.gz |
| Linux musl | chasm-v1.0.0-x86_64-unknown-linux-musl.tar.gz |
🚀 Quick Start
Recover Lost Chat Sessions
The most common use case - recover chat sessions that disappeared from VS Code:
# Recover sessions for a specific project
# Example output:
# [<] Fetching Chat History for: my-project
# ======================================================================
# Found 3 historical workspace(s)
#
# [OK] Fetched: Implementing authentication system... (abc12345-...)
# [OK] Fetched: Debugging API endpoints... (def67890-...)
#
# ======================================================================
# Fetched: 2 sessions
#
# [i] Reload VS Code (Ctrl+R) and check Chat history dropdown
After running, reload VS Code (Ctrl+R or Cmd+R) and your sessions will appear in the Chat history dropdown.
Auto-Detect Workspace Info
# See what chasm knows about a workspace
# Output shows:
# - Workspace ID and status
# - Available sessions
# - Detected providers
# - Recommendations
List All Workspaces
┌──────────────────┬──────────────────────────────────────────┬──────────┬───────────┐
│ Hash │ Project Path │ Sessions │ Has Chats │
├──────────────────┼──────────────────────────────────────────┼──────────┼───────────┤
│ 91d41f3d61f1... │ c:\dev\my-project │ 3 │ Yes │
│ a2b3c4d5e6f7... │ c:\dev\another-project │ 1 │ Yes │
└──────────────────┴──────────────────────────────────────────┴──────────┴───────────┘
List Sessions for a Project
Search for Sessions
# Find sessions by project name
# Find sessions containing specific text
View Session Details
Export Sessions
# Export to a backup directory
📖 Complete CLI Reference
Session Recovery & Fetching
| Command | Description |
|---|---|
chasm fetch path <project-path> |
Recover sessions - Fetches and registers sessions for a project |
chasm fetch workspace <pattern> |
Fetch sessions from workspaces matching a pattern |
chasm fetch session <id> |
Fetch a specific session by ID |
chasm register <path> |
Register orphaned sessions in VS Code''s database index |
Listing & Discovery
| Command | Description |
|---|---|
chasm list workspaces |
List all discovered workspaces |
chasm list sessions |
List all sessions |
chasm list sessions --project-path <path> |
List sessions for a specific project |
chasm detect all <path> |
Auto-detect workspace, providers, and sessions |
chasm detect workspace <path> |
Detect workspace info for a path |
chasm detect providers |
List available LLM providers |
Viewing & Searching
| Command | Description |
|---|---|
chasm show session <id> |
Display full session content |
chasm find session <pattern> |
Search sessions by text pattern |
chasm find workspace <pattern> |
Search workspaces by name |
Export & Import
| Command | Description |
|---|---|
chasm export path <dest> <project-path> |
Export sessions from a project |
chasm export workspace <dest> <hash> |
Export sessions from a workspace |
chasm import path <source> <project-path> |
Import sessions into a project workspace |
Merging Sessions
| Command | Description |
|---|---|
chasm merge path <project-path> |
Merge all sessions for a project into one |
chasm merge workspace <pattern> |
Merge sessions from matching workspaces |
chasm merge sessions <id1> <id2> ... |
Merge specific sessions by ID |
chasm merge all |
Merge all sessions across all providers |
Harvesting (Bulk Collection)
| Command | Description |
|---|---|
chasm harvest scan |
Scan for all available providers and sessions |
chasm harvest run |
Harvest sessions from all providers into database |
chasm harvest run --providers copilot |
Harvest only from specific providers |
chasm harvest status |
Show harvest database status |
chasm harvest search <query> |
Full-text search across all harvested sessions |
Git Integration
| Command | Description |
|---|---|
chasm git init |
Initialize git versioning for chat sessions |
chasm git add |
Stage and commit chat sessions |
chasm git status |
Show git status of chat sessions |
chasm git log |
Show history of chat session commits |
chasm git snapshot |
Create a tagged snapshot |
Provider Management
| Command | Description |
|---|---|
chasm provider list |
List discovered LLM providers |
Server & API
| Command | Description |
|---|---|
chasm api serve |
Start the REST API server |
chasm api serve --port 8787 |
Start on specific port |
🤖 Agency - Agentic Coding CLI
Chasm includes a full agentic coding toolkit similar to Claude Code CLI, but provider-agnostic. Run coding tasks with any LLM backend.
Available Tools
| Tool | Description |
|---|---|
file_read |
Read file contents |
file_write |
Write or modify files |
terminal |
Execute shell commands |
code_search |
Search codebase for symbols |
web_search |
Search the web for information |
http_request |
Make HTTP requests |
calculator |
Perform calculations |
Agent Roles
- coordinator - Orchestrates multi-agent workflows
- coder - Writes and refactors code
- reviewer - Reviews code for issues
- tester - Generates and runs tests
- researcher - Gathers information
- executor - Runs commands and tasks
Orchestration Modes
| Mode | Description |
|---|---|
single |
Traditional single-agent (like Claude Code) |
sequential |
Agents execute one after another |
parallel |
Multiple agents work simultaneously |
swarm |
Coordinated multi-agent collaboration |
hierarchical |
Lead agent delegates to specialists |
debate |
Agents debate to find best solution |
Usage Examples
# Simple coding task (single agent)
# Specify a model
# Use local Ollama model
# Multi-agent swarm for complex tasks
# Parallel agents for speed
🔄 Unified Chat Interface - No Vendor Lock-in
Chasm provides a unified interface to all chat systems, preventing vendor lock-in. Continue conversations seamlessly across providers.
The Problem
Your AI chat history is scattered across:
- VS Code Copilot (SQLite + JSON in workspaceStorage)
- Cursor (proprietary format)
- ChatGPT (web-only, export required)
- Claude (web-only)
- Local LLMs (various formats)
Each uses different formats, storage locations, and APIs. If you switch providers, you lose context.
The Solution
Chasm normalizes all sessions into a universal format and lets you:
- Import from any provider into a unified database
- Export to any format (JSON, Markdown, CSV)
- Continue sessions with a different provider
- Search across all history regardless of source
Continue a Session with Any Provider
# List all your sessions from all providers
# Export a Copilot session
# The exported session contains the full conversation:
# - All messages (user + assistant)
# - Tool invocations and results
# - Timestamps and metadata
# - File references and code blocks
# Continue the conversation with a different provider:
# Or import into the harvest database for unified access
Cross-Provider Workflow Example
# 1. Start a project with GitHub Copilot in VS Code
# (sessions automatically tracked)
# 2. Later, recover and view your sessions
# 3. Export the session for portability
# 4. Continue with Claude, GPT-4, or local Ollama
# 5. Or merge multiple sessions into one unified history
# 6. Search across ALL your AI conversations
Universal Session Format
Chasm's normalized format includes:
Benefits
| Feature | Vendor Lock-in | With Chasm |
|---|---|---|
| Switch providers | Lose all history | Keep everything |
| Search old chats | Per-provider only | Search all at once |
| Backup conversations | Manual exports | Automatic harvesting |
| Continue sessions | Start fresh | Full context preserved |
| Compare providers | Impossible | Same task, different models |
🔌 API Server
Start the REST API server for integration with web/mobile apps:
Endpoints
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/health |
Health check |
| GET | /api/workspaces |
List workspaces |
| GET | /api/workspaces/:id |
Get workspace details |
| GET | /api/sessions |
List sessions |
| GET | /api/sessions/:id |
Get session with messages |
| GET | /api/sessions/search?q= |
Search sessions |
| GET | /api/stats |
Database statistics |
| GET | /api/providers |
List supported providers |
🗃️ Supported Providers
Editor-based
- ✅ GitHub Copilot (VS Code)
- ✅ Cursor
- ✅ Windsurf
- ✅ Continue.dev
Local LLMs
- ✅ Ollama
- ✅ LM Studio
- ✅ GPT4All
- ✅ LocalAI
- ✅ Jan.ai
- ✅ llama.cpp / llamafile
- ✅ vLLM
- ✅ Text Generation WebUI
Cloud APIs
- ✅ OpenAI / ChatGPT
- ✅ Anthropic / Claude
- ✅ Google / Gemini
- ✅ Azure AI Foundry
- ✅ Perplexity
- ✅ DeepSeek
📁 Database Locations
| Platform | Location |
|---|---|
| Windows | %LOCALAPPDATA%\csm\csm.db |
| macOS | ~/Library/Application Support/csm/csm.db |
| Linux | ~/.local/share/csm/csm.db |
🛠️ Development
Prerequisites
- Rust 1.75+
- Git
Building
Running tests
📜 License
Licensed under the Apache License, Version 2.0 (LICENSE or http://www.apache.org/licenses/LICENSE-2.0).
🤝 Contributing
Contributions are welcome! Please read our Contributing Guide and Code of Conduct.
🔒 Security
For security issues, please see our Security Policy.
Security Audit Summary (v1.2.0)
Chasm underwent a comprehensive security audit in January 2026 against industry frameworks:
| Framework | Status | Notes |
|---|---|---|
| CVE/RustSec | ✅ Pass | No direct vulnerabilities |
| MITRE ATT&CK | ✅ Mitigated | Command execution requires auth |
| NIST FIPS | ✅ Compliant | Argon2id password hashing |
| CMMC 2.0 | ✅ Compliant | Authentication hardened |
Key Security Features:
- 🔐 Argon2id password hashing (OWASP recommended)
- 🔑 JWT authentication with required secrets (no dev fallbacks)
- 🛡️ Parameterized SQL queries (no injection vectors)
- 🔒 DPAPI/Keychain integration for credential access
Dependencies: 2 transitive warnings from ratatui (TUI framework) - compile-time only, no runtime risk.
📞 Support
🤝 Contributing
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
📜 License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.