Convergent
No chats found
🔐 Click to reconnect to your encrypted data file
Search Chats
No chats found
Project
Project Settings
Persistent notes injected into every chat in this project as background context. Great for facts the model should always know about this project.
Memory
A system prompt applied to every chat in this project. Overrides the global system prompt when set.
Project Instructions
Attach skill files or markdown documents. Their contents are read fresh and injected into every chat in this project.
Files are read from disk each time you open Convergent. If a file is moved or deleted, it will show an error and be skipped. Contents are injected into the system prompt — keep files focused and concise.

Start a new conversation

Select a chat from the sidebar or create a new one. Your conversations are stored locally.

Project context active:
Synthesis active — responses will be merged after streaming
Initializing…

All Chats

No chats found

Welcome to Convergent

Configure your first API endpoint. All data stays on your machine — optionally encrypted on disk.

Any OpenAI-compatible endpoint. Ollama: http://localhost:11434/v1 · Google Gemini: https://generativelanguage.googleapis.com/v1beta
Creates meta.json, index.json, config.json, chats/, and rolling backups/ inside. Files are AES-256 encrypted with a key derived from a passphrase you'll set next.

🔐 Enter Passphrase

Your data folder is encrypted. Enter your passphrase to unlock it.
Settings
CORS Proxy Server
Required for NVIDIA NIM (CORS-blocked from browser). Run npx convergent-proxy --port 3030 in a terminal, then enable above.
0 = deterministic · 2 = max randomness
Past messages per request
Off: show responses as plain text, keep code blocks. On: render **bold**, ## headings, and 1. 2. 3. lists.
Injected at the top of every conversation.
Leave empty to use global prompt.
🔐 AES-256-GCM · Passphrase-derived key (PBKDF2-SHA256, 210k iterations) Your encryption key is derived from a passphrase you choose. The passphrase is never stored on disk — only a random salt and a short verifier go into meta.json. Copy the folder to another machine or browser, enter the same passphrase, and your data decrypts. Clear site data? Just re-enter the passphrase.
Sharded storage: meta.json + index.json + config.json + chats/{id}.json. Rolling backups in backups/ (same base folder, no tmp/rename).
Re-encrypts all files with a new key derived from a new passphrase.
Removes the cached key from this browser's IndexedDB. You'll be prompted on next open.
Enable providers below to inject real-time web results into every AI query. Multiple enabled providers are queried in parallel and results are merged. The model sees them as context and can cite sources.
Applied to all providers that support time filtering (Bing supports true last-hour freshness).
Google Custom Search
Google Cloud Console → Credentials → API key with Custom Search JSON API enabled.
programmablesearchengine.google.com → Edit engine → Basics → Search engine ID. Set to search the entire web.
Bing Search API v7
Azure Portal → Cognitive Services → Bing Search v7. Supports freshness=Hour for true last-hour filtering.
DuckDuckGo Instant Answers
⚠ Limited to Wikipedia-style factual lookups only. Will not return news, recent events, or release announcements. Use Google or Bing for current information.
SearXNG (Self-hosted)
Instance must have JSON format enabled and CORS allowed.
Brave Search API
api.search.brave.com → Get API key. Free tier: 2,000 queries/month. Privacy-first, no tracking.
Tavily Search API
app.tavily.com → API Keys → Create key. Free tier: 1,000 queries/month. Purpose-built for LLM/AI search — clean structured results, no scraping noise. Commonly used with Ollama setups.
Custom Search API
Query sent as ?q=… Must return JSON: {results:[{title,url,snippet}]}.
Runs a live search with current settings and shows raw results from each provider. Save settings first.
🔌 Global MCP Servers MCP (Model Context Protocol) servers added here are available in all chats and projects. Convergent will pass their tool definitions to models that support function calling. Each server must be reachable from your browser (no CORS restriction) or proxied via convergent-proxy.

New Project

Rename Chat

Delete Chat

This action is permanent and cannot be undone.

Move to Project