Most database clients feel like they were designed before AI existed, before dark mode, and before anyone cared about developer experience. Conar is the opposite: a modern, open-source database GUI that puts an AI assistant right next to your SQL editor, supports the four most common databases, and ships as a web app, a desktop application, and a CLI โ€” all from a single TypeScript codebase.

What is Conar?

Conar is an AI-powered database client built by Wannabe Space. It connects to PostgreSQL, MySQL, MSSQL, and ClickHouse, stores encrypted connection strings, and integrates with Anthropic Claude, OpenAI, Google Gemini, and xAI Grok so you can get AI help without ever leaving the query editor.

“AI-powered open-source project that simplifies database interactions.”

Conar Source Code on GitHub Conar Website & Cloud Version

Why developers choose Conar

  • ๐Ÿค– AI SQL assistance โ€” ask any supported model to write, explain, or optimise queries; switch models without leaving the app
  • ๐Ÿ”Œ Multi-database โ€” PostgreSQL, MySQL, MSSQL, ClickHouse from one interface (SQLite & MongoDB coming)
  • ๐Ÿ” Encrypted connections โ€” connection strings are encrypted at rest; sensitive values are redacted from logs
  • ๐Ÿ–ฅ๏ธ Three ways to use it โ€” web app, Electron desktop (macOS/Windows/Linux), or CLI
  • ๐Ÿงฉ Modern stack โ€” React 19, TanStack Router/Query, Monaco Editor, TailwindCSS v4, Drizzle ORM
  • ๐Ÿง Linux-native โ€” AUR package available for Arch Linux users
  • โš–๏ธ Open source โ€” full codebase on GitHub, self-hostable from source

Conar Tech Overview

Conar is a pnpm + Turborepo monorepo with seven apps and six shared packages. Everything is TypeScript, built with Vite 8 on the frontend and Bun-powered scripts for tooling.

Apps at a glance

App Role
api Backend โ€” Hono v4, oRPC, Drizzle ORM, Better Auth
app Frontend โ€” React 19, TanStack Start, Monaco Editor
proxy Connection broker โ€” routes queries to your target databases
desktop Electron 39 wrapper of app, distributed via ToDesktop
cli Terminal access (published as conar on npm)
docs Documentation site
main Marketing landing page

AI layer

The @conar/ai internal package wraps the Vercel AI SDK and provides a unified interface across providers. You pick your model in the settings; the backend proxies requests so your API keys stay server-side. Supported today:

  • Anthropic โ€” Claude 3.5/4 family
  • OpenAI โ€” GPT-4o, o1
  • Google โ€” Gemini 2.x
  • xAI โ€” Grok

The query editor

The SQL editor is built on Monaco Editor (the same engine as VS Code) with monaco-sql-languages providing dialect-aware syntax highlighting and auto-complete for all four supported databases. Query results render in a virtualised table (TanStack Virtual) so millions of rows do not freeze the UI.

Connection security

The @conar/connection package wraps each database driver (pg, mysql2, mssql, @clickhouse/client) behind a uniform interface. Connection strings are encrypted before storage. The @hackylabs/deep-redact library scrubs credentials from any log output automatically.

Running Conar Locally (Self-Host from Source)

Conar does not yet ship a single-container production image โ€” it is a multi-service project best run from source for self-hosting. Here is the full local setup.

Step 1 โ€” Start the development databases

The only Docker requirement for Conar is its own backing store (PostgreSQL for the API’s metadata and Redis for sessions). A docker-compose.dev.yml is included:

services:
  postgresql:
    image: postgres:16-alpine
    ports:
      - '5432:5432'
    environment:
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=postgres
      - POSTGRES_DB=conar
    volumes:
      - postgres_data:/var/lib/postgresql/data
    restart: unless-stopped

  redis:
    image: redis/redis-stack:7.2.0-v19
    ports:
      - '6379:6379'
      - '8001:8001'   # RedisInsight UI
    volumes:
      - redis-data:/data
    restart: always

volumes:
  postgres_data:
  redis-data:

Start it with:

pnpm run docker:start
# equivalent to: docker compose -f docker-compose.dev.yml up -d

Step 2 โ€” Install dependencies and configure

git clone https://github.com/wannabespace/conar
cd conar
pnpm install

Copy and fill in the environment files for each app:

cp apps/api/.env.example apps/api/.env
cp apps/app/.env.example apps/app/.env
cp apps/proxy/.env.example apps/proxy/.env

Key values to set in apps/api/.env:

DATABASE_URL=postgresql://postgres:postgres@localhost:5432/conar
REDIS_URL=redis://localhost:6379
BETTER_AUTH_SECRET=<generate a random string>
# Add at least one AI provider key:
ANTHROPIC_API_KEY=sk-ant-...

Step 3 โ€” Migrate the database and start

# Create the schema
pnpm run drizzle:migrate

# Start all services in parallel (Turborepo)
pnpm run dev

Turborepo starts api, app, proxy, and docs concurrently. The web UI is available at the port defined in packages/shared/constants.ts (typically http://localhost:3000).

Conclusion

Conar is what a database client looks like when built by people who actually write a lot of SQL in 2025. The Monaco-based editor, multi-provider AI assistant, virtualised result tables, and first-class desktop and CLI support put it well ahead of most alternatives in developer experience โ€” and the fully open-source TypeScript monorepo means you are not locked in.

The self-hosted path is currently source-based (not a single docker pull experience), which means it is best suited for developers comfortable running a multi-service Node/Bun stack. A containerised production image would be the natural next step for the project.

Alternatives to consider:

  • DBeaver โ€” the classic heavyweight; supports every database imaginable
  • Beekeeper Studio โ€” modern, clean UI, open-source community edition
  • TablePlus โ€” polished macOS/Windows client, not fully open-source
  • NocoDB โ€” turns your database into a spreadsheet-style UI, different use case