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.