ChatForge

A modern AI chat application with advanced tool orchestration and OpenAI-compatible API proxy

ChatForge is a full-stack AI chat application featuring a Next.js 15 frontend and Node.js backend. It acts as an OpenAI-compatible API proxy with enhanced capabilities including conversation persistence, server-side tool orchestration, multi-provider support, model comparison mode, conversation forking, and cross-platform desktop app support.

Core Capabilities

  • 🤖 Server-Side Tool Orchestration: Unified tool calling with iterative workflows, thinking support, parallel execution, and intelligent error handling
  • 💬 Real-Time Streaming: Server-Sent Events (SSE) with tool execution visibility and abort support
  • 💾 Conversation Persistence: SQLite-backed storage with automatic retention cleanup and migration system
  • 🔌 Multi-Provider Support: OpenAI-compatible interface supporting OpenAI, Anthropic, and Gemini providers
  • 🎨 Modern UI: React 19 with markdown rendering, syntax highlighting, code wrapping, HTML preview, and responsive design
  • 🗂️ Prompt Management: Built-in and custom system prompts with conversation-aware selection

Advanced Features

  • 🔀 Model Comparison Mode: Side-by-side comparison of multiple models with isolated conversation histories
  • 🍴 Conversation Forking: Fork conversations at any message to explore alternative paths
  • ⚡ Parallel Tool Execution: Configurable concurrent tool execution for improved performance
  • 🌐 Enhanced WebFetch: Playwright-based browser automation with SPA support and specialized extractors for Reddit and StackOverflow
  • 🖥️ Desktop App: Cross-platform Electron app with auto-login and native packaging

AI Capabilities

  • 🖼️ Image Upload & Vision Support: Multimodal vision support with drag-and-drop UI
  • 🎙️ Audio Upload Support: Upload and send audio files for voice-enabled models
  • 📎 File Attachment Support: Text file upload with content extraction
  • 🧠 Reasoning Controls: Support for reasoning effort and extended thinking modes
  • 💾 Prompt Caching Optimization: Automatic cache breakpoints to reduce token costs
  • 📓 Journal Tool: Persistent memory tool for cross-conversation AI memory

Quick Start

One-line Docker deployment:

docker run -d --name chatforge -p 3000:3000 \
  -v chatforge_data:/data -v chatforge_logs:/app/logs \
  -e DB_URL=file:/data/prod.db qduc/chat:latest

Visit http://localhost:3000, register, and configure your API keys in Settings → Providers & Tools.

Tech Stack

  • Frontend: Next.js 15, React 19, TypeScript
  • Backend: Node.js, Express, SQLite
  • Desktop: Electron for cross-platform support

Check out the GitHub repository for detailed documentation and setup instructions.