This is a full-stack AI chat platform (DIAL Chat) built as a monorepo with a NestJS backend-for-frontend (BFF) and a React single-page application. The backend proxies all requests to an external DIAL Core service, handling authentication (OIDC providers, cookie sessions, header tokens, CSRF), configuration aggregation (env, static defaults, feature flags), file management (upload, archive download, sharing, batch operations), conversation lifecycle (CRUD, streaming with SSE, naming, publishing/unpublishing, sharing by invitation), and skills/prompts/toolsets management with manifest import/export. The frontend provides a rich chat UI with conversation panel, attachment input with canvas for previewing PDFs, Office docs, images, and MCP app iframes, a catalog browser for models/agents/toolsets, scheduled tasks with recurrence forms, skill and prompt editors, usage limits dashboards, and overlay embedding for third-party host apps. Both apps share extensive typed libraries (22 private packages) covering the catalog, conversation hooks, shared UI components, and a generated OpenAPI client. The system follows a strict BFF pattern: the frontend never communicates directly with DIAL Coreβall API calls go through the NestJS server, which adds session validation, resource ownership checks, and caching. Streaming chat completions use server-sent events (SSE) with a consistent init payload format. The overlay embedding protocol uses postMessage with a documented state machine, feature flags gated by backend configuration. Observable telemetry via OpenTelemetry instruments HTTP lifecycle, generation metrics, and runtime diagnostics with Prometheus endpoints. The codebase is thoroughly tested (Vitest for frontend, Supertest for NestJS integration, browser-level CSP tests) and includes CI/CD pipelines for OpenAPI regeneration, deployment, and e2e testing. Architecture is modular: domain-specific NestJS services are split into focused sub-services (e.g., ConversationsService delegates to ConversationListingService, ConversationPersistenceService, ConversationLifecycleService, ConversationStreamingService). React contexts are used for state management (no Redux), with custom hooks for entity operations. The monorepo leverages Nx for task orchestration, dependency graph enforcement, and bundle budget checks in libraries. External dependencies include DIAL Core (for AI model inference and file storage), various OIDC providers, and optional libraries like MCP UI client for sandboxed app rendering.
Stream Chat Swift is an iOS/macOS SDK for building real-time chat and messaging applications. It provides a modular architecture separating core networking (StreamChat), UI components (StreamChatUI), and shared utilities (StreamChatCommonUI). The SDK supports features like channels, messages, reactions, threads, polls, attachments, typing indicators, and presence. It uses Combine for reactive programming, Core Data for persistence, and WebSocket for real-time communication. The repository includes demo applications, example implementations (SlackClone, MessengerClone, etc.), and extensive testing infrastructure. The SDK follows protocol-oriented programming with dependency injection via Appearance and Components providers, enabling high customization.
NextChat is a production-grade, multi-provider AI chat client built as a Next.js web application with an optional Tauri desktop wrapper. It supports 15+ LLM providers (OpenAI, Anthropic, Google, Baidu, DeepSeek, etc.) through a unified API abstraction layer, and provides a rich chat interface with streaming responses, markdown rendering, code folding, image upload, TTS, real-time voice chat, and Stable Diffusion image generation. The application is designed for self-hosting (Docker, Vercel, manual) and emphasizes privacy by storing all chat data locally in IndexedDB/localStorage, with optional cloud sync via WebDAV or UpStash Redis. Architecturally, NextChat is a monolith with client-side state management using Zustand (with IndexedDB persistence), serverless API routes for proxying LLM requests, and a React component library. It includes a plugin system for OpenAPI-based function calling, MCP (Model Context Protocol) integration for external tool execution, and a prompt/mask system for reusable system instructions. The codebase is well-structured with reusable patterns like generic store factories, UI components, and streaming utilities, though it exhibits significant duplication across provider integrations and some features (e.g., Tencent, SD) appear less maintained.
This repository provides a production-ready, full-stack Retrieval-Augmented Generation (RAG) chat application built with Python FastAPI and React TypeScript. It demonstrates how to use Azure OpenAI (or OpenAI.com, or Ollama) to answer questions about data stored in Azure Database for PostgreSQL with the pgvector extension. The system supports both a simple RAG flow (embedding + direct search) and an advanced flow that uses OpenAI function calling to rewrite queries and apply column filters (brand, price). It features hybrid search combining full-text search and vector similarity via Reciprocal Rank Fusion. The backend is a monolith serving API endpoints and a React frontend, designed for deployment to Azure Container Apps using the Azure Developer CLI. The codebase includes comprehensive unit tests, end-to-end tests with Playwright, evaluation scripts, load testing with locust, and safety evaluation using Azure AI Red Teaming. The architecture is cleanly separated into reusable modules, making it a solid reference architecture for building RAG applications on Azure.
OS1 (nokodo) is a full-stack AI-powered collaborative platform combining autonomous agents, deep research, real-time collaboration, and extensible tooling in a self-hostable workspace. The system features a modular architecture with FastAPI/Python backend, Svelte 5 frontend, and separate admin console, communicating via REST API, WebSocket, and Redis pub/sub. Core capabilities include AI agent construction with tool integration (web search, code execution, file operations), persistent memory system with vector search, real-time document editing, and comprehensive resource management (threads, notes, files, projects, calendars, reminders). The platform emphasizes extensibility through plugin systems for tools, filters, and hooks, with production-ready deployment via Docker Compose.
This is a sample application from Microsoft demonstrating how to build a chatbot with Azure OpenAI and your own data using Retrieval-Augmented Generation (RAG). It is a full-stack web application with a Python Quart async backend and a React/TypeScript frontend. The backend handles conversation orchestration, integrates with Azure OpenAI for chat completions, and supports multiple data sources (Azure Cognitive Search, CosmosDB, Elasticsearch, Pinecone, etc.) for grounding responses. It also includes a comprehensive data preparation pipeline (scripts) for chunking documents, generating embeddings, and indexing into search services. The frontend provides a modern chat interface with features like streaming responses, citation display, chat history, and file upload. The repository is primarily an application but has a strong data engineering component, making it a hybrid. It is actively maintained, well-structured with tests and CI/CD, but has some technical drift due to preview APIs and outdated dependencies.
Colanode is a local-first collaboration workspace platform designed for self-hosting. It provides real-time editing of rich-text documents, customizable databases (table, board, calendar views), threaded chats, file management, and user roles. The architecture is a monorepo with separate packages for core types, client-side local persistence and sync, CRDT conflict resolution, and a shared UI library. The server runs on Fastify with PostgreSQL and Redis, exposing REST APIs and WebSocket connections for real-time synchronization. All data mutations are first applied locally in SQLite (via Kysely) and then synced to the server, enabling offline-first operation. Clients include a web application (React, Vite, service worker), a desktop app (Electron), and an experimental mobile app (Expo). The editor is built on TipTap/ProseMirror with custom extensions for blocks, mentions, files, and database nodes. External dependencies include PostgreSQL (with pgvector extension for optional vector search), Redis (for rate limiting and job queues), object storage (local filesystem, S3, GCS, or Azure), and optional AI/LLM providers for semantic search and assistant features. Many AI features are commented out or in development, indicating an incomplete experimental layer. The codebase is actively maintained with CI/CD pipelines, Docker images, Helm charts, and automated tests for critical server and web components.
IRCCloud iOS is a native iOS IRC client that connects to the IRCCloud backend via a custom WebSocket implementation. The app provides real-time chat, file sharing, push notifications, and a rich set of IRC-specific UI components including color formatting, nickname autocomplete, and animated image support. The architecture is a monolithic iOS application with multiple targets (main app, share extension, notification service) and a singleton-based data layer that persists state via NSCoding. The codebase is primarily Objective-C with some Swift and relies on several vendored third-party libraries (TrustKit, FLEX, YYImage, SBJson) for SSL pinning, debugging, image handling, and JSON parsing. Key entry points include the AppDelegate, MainViewController (central UI orchestrator), and NetworkConnection (WebSocket and API singleton). The repository demonstrates solid iOS craftsmanship with reusable IRC-specific utilities but shows technical drift in its use of deprecated iOS APIs and older third-party dependencies.
GoBelieveIO/im_service is an instant messaging (IM) server infrastructure implemented in Go. It provides real-time peer-to-peer messaging, group chat (including super groups for large audiences), and chat rooms. The system is designed for clustered deployment and consists of three separate processes: `im` (access server handling client TCP/WebSocket connections), `ims` (storage server using append-only file logs with in-memory indexes), and `imr` (router server coordinating message delivery between access servers). Authentication is token-based (Redis or JWT). Message storage is per-user file-based with efficient offline message synchronization via sync keys. The codebase includes a custom binary protocol over TCP/WebSocket, a Redis-backed pub/sub mechanism for group events and relationship changes, and MySQL for group and friend data. This is a production-grade system (as indicated by its star count) with comprehensive benchmark tools and Python integration tests. However, the repository appears to be in a maintenance-stale state with no recent commits and some deprecated message types.