Chasm extracts and unifies 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
- 🔀 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-windows-x64.zip |
| macOS x64 | chasm-darwin-x64.tar.gz |
| macOS ARM | chasm-darwin-arm64.tar.gz |
| Linux x64 | chasm-linux-x64.tar.gz |
Docker
🚀 Quick Start
List discovered workspaces
┌────────────────────────┬──────────────────┬──────────┬────────────┐
│ Name │ Provider │ Sessions │ Updated │
├────────────────────────┼──────────────────┼──────────┼────────────┤
│ my-project │ GitHub Copilot │ 15 │ 2026-01-08 │
│ another-project │ Cursor │ 8 │ 2026-01-07 │
│ open-source-contrib │ GitHub Copilot │ 23 │ 2026-01-06 │
└────────────────────────┴──────────────────┴──────────┴────────────┘
Show sessions for a project
Harvest sessions from VS Code
Export a session to Markdown
Start the API server
📖 CLI Reference
Core Commands
| Command | Description |
|---|---|
chasm list workspaces |
List all discovered workspaces |
chasm list sessions |
List sessions (optionally filtered by workspace) |
chasm list orphaned |
List unregistered sessions on disk |
chasm show session <id> |
Display full session content |
chasm show path <path> |
Show sessions for a project path |
chasm find workspace <pattern> |
Search workspaces by name |
chasm find session <pattern> |
Search sessions by content |
Data Management
| Command | Description |
|---|---|
chasm harvest scan |
Scan for available providers and sessions |
chasm harvest run |
Collect sessions from all providers |
chasm harvest status |
Show harvest database status |
chasm merge workspace <name> |
Merge sessions from a workspace |
chasm export session <id> |
Export session to file |
chasm import <file> |
Import sessions from file |
Session Recovery
| Command | Description |
|---|---|
chasm detect orphaned <path> |
Find orphaned sessions in old workspace hashes |
chasm detect orphaned -r <path> |
Recover orphaned sessions to active workspace |
chasm register all --path <path> |
Register on-disk sessions in VS Code's index |
Recovering Lost Chat History
When VS Code creates a new workspace hash (e.g., after reinstall or path change), your chat sessions may become "orphaned" in the old workspace folder. Use these commands to recover them:
# 1. Scan for orphaned sessions
# 2. Recover them (copy to active workspace)
# 3. Register in VS Code's database
# 4. Reload VS Code (Ctrl+Shift+P -> Developer: Reload Window)
Server
| Command | Description |
|---|---|
chasm api serve |
Start the REST API server |
chasm mcp serve |
Start the MCP tool server |
Options
🔌 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 |
| GET | /api/agents |
List available agents |
Example
🤖 MCP Integration
Chasm provides Model Context Protocol tools for AI agent integration:
Available Tools
chasm_list_workspaces- List all workspaceschasm_list_sessions- List sessions in a workspacechasm_get_session- Get full session contentchasm_search_sessions- Search across all sessionschasm_get_stats- Get database statistics
🤖 Agency (Agent Development Kit)
Agency is Chasm's Rust-native framework for building, orchestrating, and deploying AI agents. It provides a complete toolkit for creating autonomous agents that can reason, use tools, and collaborate in multi-agent workflows.
Key Capabilities
| Feature | Description |
|---|---|
| 🏗️ Code-First Agents | Define agents in Rust with type safety and performance |
| 🔧 Tool Ecosystem | Built-in tools + custom function registration |
| 🎭 Multi-Agent Orchestration | Sequential, parallel, hierarchical, and swarm patterns |
| 🧠 Memory & RAG | Vector store, knowledge base, context window management |
| 📡 Streaming | Real-time response streaming via SSE |
| 🏠 Proactive Agents | Autonomous household and business agents |
| 🌐 Distributed Execution | Remote task monitoring across machines |
| 🎨 Multimodal | VLM/VLA support for vision and robotics |
CLI Commands
# List available agents and roles
# Get detailed agent information
# Run an agent with a prompt
# Multi-agent orchestration
# Create a custom agent
# List available tools and templates
Agent Roles
| Role | Icon | Description |
|---|---|---|
coordinator |
[C] | Manages and delegates tasks to other agents |
researcher |
[R] | Gathers information and analyzes data |
coder |
[D] | Writes and modifies code |
reviewer |
[V] | Reviews code and provides feedback |
executor |
[E] | Executes commands and tools |
writer |
[W] | Creates documentation and content |
tester |
[T] | Writes and runs tests |
analyst |
[A] | Data analysis and insights |
household |
[H] | Home automation and management |
business |
[B] | Business process automation |
custom |
[X] | User-defined agent with custom behavior |
Orchestration Modes
| Mode | Pattern | Description |
|---|---|---|
single |
[1] |
Traditional single-agent response |
sequential |
[>] |
Agents execute one after another, passing results |
parallel |
[‖] |
Multiple agents work simultaneously on subtasks |
loop |
[O] |
Agent repeats until a condition is met |
hierarchical |
[H] |
Lead agent delegates to specialized sub-agents |
swarm |
[S] |
Multiple agents collaborate with a coordinator |
📚 Agency Use Cases
1. Research Assistant
Build an agent that searches the web, analyzes sources, and synthesizes findings:
use ;
let researcher = new
.model
.instruction
.tool
.tool
.temperature
.build;
let runtime = new;
let result = runtime.run.await?;
CLI equivalent:
2. Code Review Pipeline
Chain multiple agents for thorough code review:
use ;
// Security reviewer
let security = new
.role
.instruction
.build;
// Performance reviewer
let performance = new
.role
.instruction
.build;
// Style reviewer
let style = new
.role
.instruction
.build;
// Sequential pipeline: security → performance → style
let pipeline = sequential;
let result = runtime.run_pipeline.await?;
CLI equivalent:
3. Full-Stack Development Swarm
A coordinator delegates to specialized agents:
use ;
// Coordinator
let coordinator = new
.role
.instruction
.build;
// Specialist agents
let frontend = new
.role
.instruction
.tool
.tool
.build;
let backend = new
.role
.instruction
.tool
.tool
.tool
.build;
let devops = new
.role
.instruction
.tool
.build;
let swarm = new;
let result = runtime.run_swarm.await?;
CLI equivalent:
4. Automated Testing Agent
An agent that writes and runs tests:
use ;
let tester = new
.role
.instruction
.tool
.tool
.tool // For running tests
.max_tool_calls
.build;
let result = runtime.run.await?;
5. Proactive Household Agent
An autonomous agent that monitors and manages home tasks:
use ;
let config = household_agent_config
.permission_level // Can take moderate actions
.scan_interval // Check hourly
.notifications_enabled
.integrations;
let monitor = new;
// Monitor detects problems and takes action based on permission level:
// - NotifyOnly: Just alerts (bills due, maintenance needed)
// - LowRisk: Safe actions (add reminders, reorder supplies)
// - MediumRisk: Moderate actions (adjust thermostat, schedule services)
// - HighAutonomy: Full automation (pay bills, control devices)
monitor.start.await?;
6. RAG-Enhanced Agent
Agent with access to a knowledge base:
use ;
// Create knowledge base from documents
let mut kb = new;
kb.add_documents_from_directory.await?;
// Vector store for semantic search
let store = new;
let expert = new
.instruction
.knowledge_base
.vector_store
.build;
let result = runtime.run.await?;
7. Multimodal Vision Agent (VLM)
Agent that can understand images:
use ;
let vision_agent = new
.model // VLM model
.instruction
.modality
.build;
// Send image with text
let message = new
.text
.image;
let result = runtime.run.await?;
8. Distributed Task Monitoring
Track agent tasks across multiple machines:
use ;
let monitor = new;
// Register remote nodes
monitor.register_node.await?;
monitor.register_node.await?;
// Submit task to best available node
let task = builder
.title
.agent
.priority
.build;
let task_id = monitor.submit_task.await?;
// Stream progress updates
let mut events = monitor.subscribe_task;
while let Some = events.recv.await
🔌 Agency REST API
The API server provides full CRUD operations for agents:
Endpoints
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/v1/agents |
List all agents |
| POST | /api/v1/agents |
Create an agent |
| GET | /api/v1/agents/{id} |
Get agent details |
| PUT | /api/v1/agents/{id} |
Update an agent |
| DELETE | /api/v1/agents/{id} |
Delete an agent |
| POST | /api/v1/agents/{id}/clone |
Clone an agent |
| GET | /api/v1/swarms |
List all swarms |
| POST | /api/v1/swarms |
Create a swarm |
| POST | /api/v1/swarms/{id}/start |
Start swarm execution |
| POST | /api/v1/swarms/{id}/pause |
Pause swarm |
| POST | /api/v1/swarms/{id}/resume |
Resume swarm |
| POST | /api/v1/swarms/{id}/stop |
Stop swarm |
Example: Create an Agent via API
Example: Run a Swarm
# Create a swarm
# Start the swarm with a task
🗃️ Supported Providers
Editor-based
- ✅ GitHub Copilot (VS Code)
- ✅ Cursor
- ✅ Windsurf
- ✅ Continue.dev
Local LLMs
- ✅ Ollama
- ✅ LM Studio
- ✅ GPT4All
- ✅ LocalAI
- ✅ llama.cpp / llamafile
Cloud APIs
- ✅ OpenAI / ChatGPT
- ✅ Anthropic / Claude
- ✅ Google / Gemini
- ✅ Perplexity
📁 Database
Chasm stores all data in a local SQLite database:
| Platform | Location |
|---|---|
| Windows | %LOCALAPPDATA%\csm\csm.db |
| macOS | ~/Library/Application Support/csm/csm.db |
| Linux | ~/.local/share/csm/csm.db |
Schema
Workspaces ──< Sessions ──< Messages
│
├──< Checkpoints
└──< ShareLinks
🛠️ Development
Prerequisites
- Rust 1.75+
- Git
Building
Running tests
Running the TUI
📜 License
Licensed under either of:
- Apache License, Version 2.0 (LICENSE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE or http://opensource.org/licenses/MIT)
at your option.
🤝 Contributing
Contributions are welcome! Please read our Contributing Guide and Code of Conduct.
🔒 Security
For security issues, please see our Security Policy.