SillyTavern is a full-stack web application (Node.js/Express backend, jQuery/Webpack frontend) that serves as a highly customizable frontend for interacting with large language models (LLMs) for roleplaying and chat. It supports dozens of AI backends (OpenAI, Anthropic, Kobold, Ollama, vLLM, etc.) via streaming text and chat completions, and provides an extensive plugin/extension system for TTS, translation, image generation, vector search, and more. The application features a sophisticated macro engine (Chevrotain-based CST parser) for dynamic prompt templating, a slash command framework with typed arguments and autocomplete, and a rich UI with themes, backgrounds, character management, and branching chat history. It is designed for power users who want fine-grained control over prompts, model parameters, and UI behavior, and includes multi-user support with authentication, secrets management, and per-user data isolation.
ChatGPT-web is a Svelte 5 single-page application (with a Tauri desktop wrapper) that provides a configurable chat interface for multiple large language model (LLM) providers, including OpenAI, Anthropic, xAI, Google Gemini, Mistral, APIpie, OpenRouter, OrcaRouter, and custom endpoints. The system handles streaming and non-streaming chat completions, image generation, token counting, pricing estimation, chat profiles with system prompt injection, and export/import of conversations. All chat history and settings are stored client-side in localStorage and IndexedDB, making it a private, self-contained frontend. The architecture is a client-only SPA with no backend; it relies entirely on browser fetch calls to provider APIs. The codebase demonstrates a clear separation of concerns between UI components (Svelte), state management (local storage stores), provider abstractions (provider definitions, request classes), and utility modules (token counting, image caching, settings schema). However, it shows signs of organic growth with tight coupling between modules, frequent `any` type casts, and comments referencing desired refactors. The bundled prompts CSV from the awesome-chatgpt-prompts project serves as a built-in prompt library. The project is suitable for developers wanting a customizable, private, multi-provider chat frontend, but reusing individual components requires careful extraction due to internal dependencies.