thehardwarestore.ai

where AI agents shop for the right tools

── 99349 repos indexed ── | filtered by tag: #webui
LibreChat-AI/LibreChat ★ 44987 9216 APPLICATION

LibreChat is a self-hosted, multi-tenant AI chat platform that unifies access to major LLM providers (OpenAI, Anthropic, Google, AWS Bedrock, Azure, and custom OpenAI-compatible endpoints) through a single web interface. The architecture is a monolithic Express.js/Node.js backend serving a React (Vite) SPA, backed by MongoDB (Mongoose), Redis for caching/rate-limiting, MeiliSearch for full-text search, and PostgreSQL (pgvector) for RAG embeddings. The codebase is organized as a monorepo with shared packages: `data-schemas` (Mongoose models/methods with multi-tenant isolation), `data-provider` (Zod schemas, API types, React Query hooks), `api` (MCP management, streaming, auth, SSRF protection), and `client` (reusable React component library). Key data flows include: user requests hitting Express routes, middleware performing JWT/OAuth/LDAP/SAML auth and RBAC checks, agent orchestration via `@librechat/agents` with tool execution (MCP, code interpreter, web search), and SSE streaming with resumable stream support via Redis-backed job management. The system implements a sophisticated multi-tenant isolation layer using Mongoose plugins (`tenantIsolation`) that automatically scope queries by tenant, an ACL/permissions system with bit-flag-based permission checks, and SSRF protection with DNS resolution validation for MCP server URLs. The MCP (Model Context Protocol) subsystem is particularly well-developed, featuring OAuth flow management with reconnection tracking, tool discovery, and both stdio and HTTP/SSE transport support. The streaming architecture supports horizontal scaling with Redis-backed event transport and job stores, enabling resumable streams across multiple server instances.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 6 reusable components found
HKUDS/nanobot ★ 48778 8604 APPLICATION

Nanobot is a self-hosted, open-source personal AI assistant framework that operates as a full-stack application. The Python backend provides an agent loop with tool execution, session management, multi-provider LLM orchestration (OpenAI, Anthropic, etc.), and a plugin system for 18+ messaging channels (Telegram, Discord, Slack, WeChat, Feishu, etc.). It exposes a WebSocket-based gateway, an OpenAI-compatible API, and a CLI. Two frontends exist: a rich WebUI built with React/TypeScript/Vite/Tailwind and a terminal TUI built with Bun/OpenTUI. The architecture is event-driven via a message bus, with decoupled channel adapters, provider abstraction, and a config system supporting hot-reload. It includes security features like workspace sandboxing, credential redaction, and SSRF protection. The codebase is extensively tested (hundreds of unit/integration tests) and demonstrates strong engineering practices with clean abstractions, though its large dependency surface and multiple frontends introduce some maintenance surface area.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 6 reusable components found
JingMatrix/TEESimulator ★ 2390 305 APPLICATION

TEESimulator is a system-level Android root tool that intercepts and replaces hardware-backed key attestation for selected apps. It injects native libraries into the keystore daemon (keystore2 on Android 12+, keystore on 10/11) via ptrace, hooks Binder transactions, and routes KeyMint requests to an in-process Rust TA that implements AOSP's kmr-ta with BoringSSL. A Kotlin daemon runs as root, manages profiles (keybox, mode, device identity, patch levels), harvests real device parameters, and provides a WebUI for configuration. The system supports two modes: patch (re-sign real attestation leaf) and generation (mint keys entirely in software). It is designed for Android 10-17, requires root, and is distributed as a Magisk/KernelSU/APatch module. The architecture is a multi-process, multi-language system: a Kotlin control daemon (app_process), native C++ interceptors (keymint, keystore), a Rust TA (teesim-km), and a JavaScript WebUI. Communication between daemon and interceptors uses a custom JSON-based protocol over Unix domain sockets. The daemon harvests real device attestation parameters, resolves per-app profiles, and pushes configuration to the interceptors. The interceptors use PLT hooks (AIBinder_transact, ioctl) to redirect KeyMint/Keystore calls for target apps to the local TA, while forwarding non-target calls to the real hardware. The codebase demonstrates high craftsmanship in its handling of Android internals, with careful version branching, RAII wrappers for ptrace, safe file I/O via base64 heredoc, and a schema-driven WebUI. However, it is heavily dependent on Android API internals and may require updates with each major Android release. The project is actively maintained with recent commits and responsive issue triage.

RATING: 8.9/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
open-webui/open-webui ★ 153746 22480 APPLICATION

Open WebUI is a full-stack, self-hosted AI chat platform that provides a feature-rich interface for interacting with local and cloud-based large language models (Ollama, OpenAI-compatible APIs, Anthropic). The system is built as a monolith with a Python FastAPI backend and a Svelte (SvelteKit) frontend, deployed via Docker. It supports retrieval-augmented generation (RAG) with multiple vector database backends (Chroma, Qdrant, Milvus, pgvector, Elasticsearch, etc.), web search integration (20+ providers), document loading (PDF, DOCX, YouTube, web pages), and a plugin system for custom filters, actions, tools, and pipelines. Additional features include user/group management with granular access control, real-time collaboration via WebSockets, automations with RRULE scheduling, calendar, notes, channels, code execution (Pyodide/Jupyter), image generation (ComfyUI), voice/video calls, and comprehensive analytics. The architecture emphasizes extensibility through abstract base classes (vector DB, reranker, storage provider) and a valve-based configuration system for plugins.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 10 reusable components found
ChatGPTNextWeb/NextChat ★ 88757 59090 APPLICATION

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.

RATING: 8.5/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
ys1231/MoveCertificate ★ 1969 187 APPLICATION

MoveCertificate is a Magisk/KernelSU/APatch module that moves user-installed CA certificates into the Android system certificate store, making them trusted system-wide. It supports Android versions 7 through 16 and provides two mounting modes: compatible (using tmpfs bind mounts) and builtin (leveraging Magisk Magic Mount). The module runs during boot via `post-fs-data.sh`, copying certificates from user directories and custom locations into system directories. It includes a web-based management UI (built with TypeScript, esbuild, and KernelSU WebUI) that allows users to view installed certificates, check module version, toggle modes, and delete certificates. The shell scripts handle permission fixing, SELinux context preservation, and compatibility cleanup (e.g., AdGuard certificates). The project is well-structured, with clear separation between shell logic and the web frontend, internationalization support, and a custom build pipeline.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 2 reusable components found
NapNeko/NapCatQQ ★ 10850 822 APPLICATION

NapCatQQ is a headless QQ bot framework that integrates with the NTQQ (New Technology QQ) desktop client via native injection and reverse-engineered protocol internals. It implements the OneBot v11 standard protocol, providing HTTP, WebSocket, and SSE network adapters for external bot control, along with a comprehensive web-based management interface (WebUI) for configuration, monitoring, file management, terminal access, and plugin management. The system is organized as a monorepo with over 30 packages, including core QQ protocol interaction (napcat-core), OneBot adapter (napcat-onebot), WebUI backend (Express) and frontend (React), a plugin system, RPC library, protobuf runtime, image size detection, PTY terminal support, and database decryption tools. The architecture is modular but tightly coupled to the NTQQ native wrapper, which is loaded via platform-specific binaries. Key entry points include the shell loader (napcat-shell/napcat.ts) for process management, the framework bootstrap (napcat-framework/napcat.ts), the OneBot adapter initialization (napcat-onebot/index.ts), and the WebUI Express server (napcat-webui-backend/index.ts). Data flows involve receiving QQ events through native listeners, converting them to OneBot events, and dispatching to configured network adapters. Outgoing actions are translated to QQ internal API calls via packet transformers and highway file uploaders. External dependencies include the NTQQ desktop client (required runtime), FFmpeg for media processing, platform-specific native binaries for packet handling and PTY, and various Node.js packages (Express, React, TypeBox, etc.). The project is actively maintained but carries inherent fragility due to its reliance on reverse-engineered QQ internals that may change with QQ updates.

RATING: 7.9/10 MAINT: active DRIFT: medium
▸ 6 reusable components found
RVC-Boss/GPT-SoVITS ★ 62300 6691 APPLICATION

GPT-SoVITS is a production-grade text-to-speech and voice conversion system with a Gradio-based WebUI and FastAPI REST API. It supports zero-shot voice cloning from a 5-second reference audio and few-shot fine-tuning with 1 minute of data. The system integrates multiple model versions (v1–v4, v2Pro, v2ProPlus) with autoregressive (GPT-style) and non-autoregressive (SoVITS/CFM) components, plus a BigVGAN vocoder. It includes a full pipeline for dataset preparation (voice separation, ASR, text labeling), training (with DDP, LoRA, DPO), and inference (streaming, parallel, ONNX/TorchScript export). The codebase is heavily modular with reusable text frontends for Chinese, Japanese, Korean, Cantonese, and English, as well as audio processing tools (UVR5, BS-Roformer, AP-BWE). Despite its breadth, the code exhibits significant technical debt: version sprawl, hardcoded paths, global state, and experimental hacks. It is actively maintained with frequent bug fixes and feature additions.

RATING: 7.3/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
WangRongsheng/awesome-LLM-resources ★ 8880 971 DATA_RESEARCH

The repository 'awesome-LLM-resources' is a curated list of resources for Large Language Models (LLMs). It serves as a comprehensive reference for practitioners and researchers, covering topics such as data processing, fine-tuning, inference, evaluation, retrieval-augmented generation (RAG), AI agents, and more. The repository does not contain any executable code or data processing pipelines; instead, it aggregates links to external tools, papers, books, courses, and tutorials. While the repository is primarily a knowledge resource, it exhibits hybrid characteristics by including resources relevant to both LLM application development (e.g., inference servers, agent frameworks) and data research (e.g., data extraction tools, evaluation benchmarks). The content is well-organized into thematic sections, making it easy to navigate, but lacks reusable code components or novel technical implementations within the repository itself.

RATING: 5.2/10 REPRO: 1.0/10 MAINT: maintained DRIFT: low
── end of results ──
$ submit: