thehardwarestore.ai

where AI agents shop for the right tools

── 99963 repos indexed ── | filtered by tag: react
raphaelsalaja/cambio ★ 204 4 APPLICATION

Cambio is a React component library that simplifies shared-element animations for dialogs/popups. It provides a compound component API (`Cambio.Root`, `Trigger`, `Portal`, `Backdrop`, `Popup`, `Title`, `Description`, `Close`) built on top of Base UI's accessible Dialog primitives and Motion's animation engine. The library offers four built-in motion presets (snappy, smooth, bouncy, reduced) configurable globally, per-component via variants, or overridden individually. It supports dismissible popups driven by drag gestures with configurable threshold and velocity, automatic respect for `prefers-reduced-motion`, and explicit reduce-motion overrides. The architecture uses React Context for state propagation and Motion's `motion.create` to wrap Base UI components. The code is well-typed in TypeScript, organized into clear modules, and demonstrates craftsmanship in its motion configuration resolution chain and drag physics handling. The repository also includes a documentation website built with Next.js and Fumadocs.

RATING: 7.8/10 MAINT: active DRIFT: low
▸ 4 reusable components found
openclaw/cookbook ★ 35 9 APPLICATION

This repository is a cookbook of runnable examples for the OpenClaw SDK. It contains two layers: small one-concept recipes (e.g., run-an-agent, stream-events, cancel-a-run) and standalone starter apps (quickstart Node app, coding-agent CLI, agent-workbench React app, run-board React dashboard). The code demonstrates SDK workflows such as starting runs, streaming normalized events, cancelling work, reusing sessions, checking model status, and testing with an in-memory transport. The architecture is modular: recipes are self-contained TypeScript files with shared configuration helpers, and SDK examples are independent packages that can be copied out and adapted. The repository includes comprehensive tests, CI checks, and a workspace SDK shim for local validation without a live Gateway. It is actively maintained with modern dependencies (TypeScript 7, Node 22, pnpm 10.34.5) and follows strict formatting and linting rules.

RATING: 7.8/10 MAINT: active DRIFT: low
▸ 3 reusable components found
JOYCEQL/magic-resume ★ 11081 1158 APPLICATION

Magic Resume is a production-oriented, bilingual resume-builder web application. Users manage resume documents in a dashboard, edit them in a multi-panel workbench with a live A4 preview, choose among nine templates, and export to PDF, PNG, JSON, or Markdown. The editor supports rich text, structured sections, custom themes, typography controls, and automatic one-page scaling. Resume data is local-first, persisted to localStorage and optionally synced to the local file system via the File System Access API. Under the hood, it is a React/TypeScript full-stack app with a somewhat unusual dual route-tree structure: an older Next.js App Router layout coexists with a newer TanStack Router source tree. State is managed with Zustand, UI uses Tailwind CSS and shadcn-style components, and rich text editing is built on Tiptap. AI features—streaming text polish, grammar checking, and vision-based PDF import—run through server routes that abstract OpenAI, Gemini, Anthropic, DeepSeek, Qwen, and Doubao behind a common transport with retries and SSE streaming. Export paths include a server-side PDF renderer, client-side html2canvas/jsPDF, browser print, JSON, and Markdown. The codebase is feature-rich and actively maintained, with some solid server-side AI abstractions and a meaningful test suite. However, it carries structural debt: near-identical section components are duplicated across nine templates, the old Next.js route tree remains alongside the newer TanStack routes, and AI model IDs/configurations are speculative and likely to age. It is deployable to Cloudflare Workers, Node, or Docker, but the architecture is hybrid and transitional rather than cleanly unified.

RATING: 7.7/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
tencentmusic/supersonic ★ 5133 1019 APPLICATION

SuperSonic is a full-stack AI+BI platform that combines Chat BI (natural language to SQL via LLMs) and Headless BI (semantic layer for metrics and dimensions). The backend is a modular Java Spring Boot application with modules for chat, headless query, authentication, and common utilities. It supports multiple databases (MySQL, PostgreSQL, ClickHouse, etc.) and integrates with various LLM providers (OpenAI, Ollama, Dify) and embedding stores (Milvus, Chroma, PGVector, InMemory). The frontend is a React application built with UmiJS and Ant Design, providing a semantic model editor, agent configuration, plugin management, and an embeddable chat SDK. The core NL2SQL pipeline involves schema mapping (rule-based and embedding-based), semantic parsing (rule and LLM), SQL correction (chain of correctors), translation to physical SQL, and execution. The system also includes chat memory for few-shot learning, plugin recognition, and post-query recommendations. While primarily an application, it contains data research elements such as evaluation scripts (benchmark.py, evaluation.py) and custom HanLP dictionaries for domain-specific entity recognition. The architecture is extensible via SPI-based component factories for parsers, correctors, mappers, and DB adaptors. The codebase is well-structured but shows signs of complexity with many modules, some commented-out code, hardcoded configurations, and a dependency on external LLM services that may introduce drift.

RATING: 7.7/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
streamlabs/desktop ★ 4856 688 APPLICATION

Streamlabs Desktop (formerly Streamlabs OBS) is a production-grade live-streaming desktop application for Windows and macOS built on Electron and the OBS Studio native library (obs-studio-node). In production it lets streamers compose multi-scene/source setups, manage audio, go live simultaneously to Twitch, YouTube, TikTok, Kick, Facebook and other platforms, run alert/widget overlays, record and replay, generate AI highlight clips, and control the app programmatically through an external JSON-RPC API (used by Stream Deck devices, mobile remotes, and third-party platform apps). The product layer also includes Ultra subscription gating, an overlay/widget store, onboarding flows, game-capture source management, and a managed updater with incremental rollout and A/B testing. Architecturally, the app spans multiple Electron processes (worker services layer, main UI, child windows) with a custom dependency-injection framework (@Inject, Service/StatefulService/PersistentStatefulService) and IPC proxies that let any window invoke services as if local. State is persisted through layered mechanisms: Vuex-backed mutations, localStorage-backed persistent services, and RealmObject documents for real-time data. The UI is a hybrid: a large legacy Vue 2 surface is being progressively replaced by React 17 with antd 4, bridged through component wrappers. Undo/redo is a genuine Command pattern (EditorCommandsService with combinable commands and a 500-entry history), and scene collections serialize through a versioned node/array-node tree with overlay import/export and migrations. Core data flows: OBS native events (stream/record status, scenes, sources, audio meters) flow from obs-studio-node into stateful services that reactively drive the UI; scene collections persist as JSON via the node serializer; widget settings are fetched and patched against the Streamlabs REST API; real-time alerts, safe-mode state, and user state for AI features arrive over WebSocket; platform auth uses OAuth/PKCE flows. The highlighter subsystem contains a notably crafted media pipeline (FFmpeg frame reading, WebGL transitions, audio crossfading, vertical export, companion-app installation) for automated clip generation. The codebase is large (~5000 files) and shows its age in places: Vue 2 (EOL), React 17, and antd 4 are several major versions behind; at least four state-management approaches coexist (Vuex, Zustand, Realm, localStorage); a global Services locator couples many modules; and scattered @ts-ignore comments and skipped tests indicate debt. Despite this, the DI/service layer, command pattern, node serialization framework, JSON-RPC protocol, metadata-driven form system, and several DSP/geometry utilities are cleanly designed and genuinely reusable, and the project is actively maintained with CI workflows, dependency automation via Renovate, and an extensive test suite spanning unit, integration, screenshot, and performance tests.

RATING: 7.7/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
rememberber/MooTool ★ 2042 260 APPLICATION

MooTool is a cross-platform developer toolbox with over 30 utilities including JSON formatting, HTTP client, regex testing, encryption/decryption, color picker, diff viewer, QR code, cron expressions, translation, image processing, PDF manipulation, code runtime, and more. The repository contains three concurrent implementations: a legacy Java Swing desktop application (with FlatLaf theming and MyBatis/SQLite persistence), an Electron+React+TypeScript rewrite (using CodeMirror, pdf-lib, and native IPC bridges), and a Tauri 2 (Rust+React) version with additional native features like screen capture, system tray, and updater integration. A macOS native SwiftUI app is also provided as a preview. The architecture is modular per tool, with shared contracts across platforms, session tracking, operation history, and vault-based note storage with Git versioning. Key entry points include the Java MainFrame, the Electron main process (electron/main/index.ts), and the Tauri Rust backend commands. Data flows are entirely local (SQLite, file vault, settings JSON) with no cloud dependency except automated translation APIs and optional update checks. External dependencies include Java runtime, Git, protoc, Tesseract OCR, system keyring, and translation web services (Google, Bing).

RATING: 7.7/10 MAINT: active DRIFT: medium
▸ 5 reusable components found

Materio is a free admin dashboard starter template built on Next.js 14 App Router, MUI v5, and Tailwind CSS, published by ThemeSelection. It ships as two parallel, functionally identical codebases: javascript-version/ and typescript-version/. Everything in the repo is static UI - hardcoded demo data, mock ApexCharts, placeholder auth forms - there is no API layer, database, or authentication logic. Its job is to be a polished starting point for admin applications, and it executes that role well: an extensive per-component MUI theme override system, a custom collapsible vertical menu subsystem, and a cookie-persisted settings context for dark/light mode. Architecturally it follows Next.js App Router conventions: root layout (app/layout.jsx), a dashboard layout that wraps the VerticalLayout shell (navigation, navbar, footer), and a blank layout for login/register/error pages. The most interesting engineering lives in src/@menu (a self-contained vertical navigation layer with context-driven collapse/expand and breakpoint behavior), src/@core/theme (dozens of isolated MUI component overrides), and a few genuinely reusable React hooks (useObjectCookie, useImageVariant). All dashboard data is fabricated; adopters must wire real data and backend logic themselves. The template is actively maintained (last commit March 2026, one open issue, automated issue triage workflows). Drift risks are version pinning to Next.js 14 / MUI v5.15 and the maintenance cost of keeping JS and TS variants in sync.

RATING: 7.7/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
F-star/suika ★ 977 128 APPLICATION

This is a monorepo for a web-based vector graphics editor (similar to Figma) built with React, Canvas2D, and TypeScript. It features a core editor with drawing tools, layers, path editing, undo/redo, SVG import/export, and real-time multiplayer collaboration (via Yjs/Hocuspocus). The architecture includes a standalone editor app, a deprecated multiplayer variant, a backend (NestJS + Prisma + PostgreSQL) for authentication and file storage, and a workbench for team management. Shared packages provide geometry utilities, UI components, icons, and Skia PathKit WASM bindings. The codebase demonstrates strong engineering patterns (command pattern, event emitter, strategy pattern) and provides several reusable components, especially the geometry library and UI components. However, there is significant code duplication between the standalone and multiplayer apps, and the multiplayer app is deprecated, indicating some drift risks. The backend is functional but has minimal stubs and a hardcoded JWT secret.

RATING: 7.7/10 MAINT: maintained DRIFT: medium
▸ 4 reusable components found
poteto/noodle ★ 285 17 APPLICATION

Noodle is an open-source AI agent orchestration framework written in Go that manages autonomous coding agents through a kitchen-brigade model. It operates as a background daemon with a CLI (`noodle start`, `noodle status`, `noodle worktree`) and a real-time React/TypeScript web UI. The core loop reads backlog items (from markdown files via shell-script adapters), schedules multi-stage orders, dispatches agents (Claude Code, Codex) into isolated git worktrees, monitors their progress via NDJSON event logs, handles merge conflicts, and supports human-in-the-loop review gates. The system is config-driven via `.noodle.toml` and uses skills (directories with `SKILL.md` frontmatter) as the sole extension point for defining agent behavior and task types. Architecturally, Noodle is a monolith with clear internal packages: a state-machine loop (`loop/`), dispatchers for process and remote runtimes (`dispatcher/`), a parser pipeline for provider NDJSON output (`parse/`, `stamp/`), session monitoring (`monitor/`), event-sourced state management (`internal/reducer/`, `internal/state/`), a projection layer for incremental UI updates (`internal/projection/`), and a WebSocket server (`server/`). The UI is built with TanStack Router, React Query, and D3 for agent tree visualization. State is persisted as JSON/NDJSON files under `.noodle/`, with crash recovery via atomic snapshots and idempotent event ingestion. Key design patterns include: event sourcing with a deterministic reducer and effect ledger, directory-based fixture testing with source hash validation, a failure taxonomy with recoverability classification, mode gating for autonomy levels (auto/supervised/manual), and a plugin system via JSON-RPC for external runtimes. The codebase demonstrates strong engineering discipline with extensive test coverage (unit, integration, e2e with Playwright), CI/CD via GitHub Actions and GoReleaser, and a comprehensive brain vault for agent knowledge persistence.

RATING: 7.7/10 MAINT: maintained DRIFT: low
▸ 6 reusable components found
zekroTJA/shinpuru ★ 201 34 APPLICATION

This repository contains shinpuru, a production-grade Discord bot written in Go with a React/TypeScript web dashboard. It serves as a comprehensive guild management and moderation platform, handling reports, kicks, bans, mutes, and community engagement features like karma, starboard, votes, and code execution. The backend is a monolith using the discordgo library for Discord interactions, Fiber for its REST API, and sarulabs/di for dependency injection, backed by MySQL, Redis, and MinIO. The architecture is well-structured with clear separation of concerns. The internal/ directory houses services (database, storage, permissions, karma, reports), event listeners, slash commands, and middleware. The pkg/ directory is a standout collection of over 30 reusable utility packages, covering areas like rate limiting (limiter), one-time authentication (onetimeauth), Discord embed building (embedbuilder), fuzzy object resolution (fetch), and permission management (permissions). These packages are largely self-contained and could be extracted for use in other Go projects. The frontend is a modern React SPA with i18n support (English and German), a typed API client (shinpuru-ts), and a comprehensive set of components for managing every aspect of the bot. The project demonstrates strong engineering practices with CI/CD pipelines, Docker support, and a clear contribution model. While the codebase is large and shows some signs of technical drift (legacy package versions, some raw SQL patterns, duplicated package versions), the core architecture and reusable packages make it a valuable reference for building complex Discord bots or Go web applications.

RATING: 7.7/10 MAINT: active DRIFT: medium
▸ 7 reusable components found
ritz078/transform ★ 9217 705 APPLICATION

This repository is a polyglot web converter application built with Next.js. It provides a large collection of code transformations (e.g., JSON to TypeScript, SVG to JSX, GraphQL to Resolvers, HTML to Pug, etc.) in a user-friendly two-pane editor interface. The architecture is a monolith with each transformation implemented as a separate page under `pages/`, all sharing a common `ConversionPanel` component that manages the input/output editors, web workers for heavy processing, and server-side API routes for a few transforms that require Node.js native modules. External dependencies include numerous npm libraries for the actual conversion logic (e.g., `json_typegen_wasm`, `@svgr/core`, `graphql-codegen`), the Monaco editor for code editing, and the evergreen-ui component library for the UI. The application uses web workers extensively (via a custom `workerWrapper` utility) to offload CPU-intensive conversions off the main thread, ensuring a responsive UI. Data flows from the user's input editor, through a transformer function (which may call a web worker or an API endpoint), and into the output editor, with results automatically formatted by Prettier. The codebase is well-structured with a consistent pattern for each converter, making it straightforward to add new transformations.

RATING: 7.6/10 MAINT: maintained DRIFT: medium
▸ 2 reusable components found
midudev/aprendiendo-react ★ 9000 1197 APPLICATION

This repository is a collection of 14 small to medium React projects, built as part of a popular Spanish YouTube course (midudev). Each project focuses on a specific React concept or real-world pattern: from basic component state and effects (Twitter follow card, tic-tac-toe, mouse follower) to advanced topics like custom hooks, fetching data, complex state management with useReducer and useContext, TypeScript integration, routing (including a custom router), Redux Toolkit, React Query, Zustand, and CSS-in-JS with vanilla-extract. The projects are self-contained, well-structured, and progressively build complexity, making this an excellent learning resource for intermediate React developers. The code quality is professional: modern React (18), functional components, hooks, TypeScript in later projects, and some tests (Playwright, Vitest). The custom router (midu-router) is published as an npm package and demonstrates non-trivial patterns like dynamic route matching with path-to-regexp, lazy loading, and i18n. Other reusable gems include a generic debounce hook, a Redux middleware for optimistic updates with rollback, and a Zustand store with persistence. While not a single production application, the repository serves as a practical textbook of React patterns. Developers can extract individual components or hooks into their own projects with minimal adaptation.

RATING: 7.6/10 MAINT: active DRIFT: low
▸ 5 reusable components found
brimdata/zui ★ 1969 138 APPLICATION

Zui (formerly Brim) is an Electron-based desktop application for network security monitoring and data exploration. It provides a graphical interface to query and visualize data stored in a Zed/SuperDB lake, with a focus on Zeek and Suricata log analysis. The application supports importing packet captures (pcap), structured logs (Zeek TSV, NDJSON, CSV, Parquet), and offers a rich query editor (Monaco), histogram, table/inspector views, and export workflows. The codebase is a monorepo (Yarn workspaces, Nx) with packages for type definitions (`superdb-types`), a Node.js client (`superdb-node-client`), sample data, and an e2e test framework (`app-player`). The architecture follows a domain-driven pattern with handlers and operations, a Redux store with versioned state migrations, and a plugin system for extensibility. While the application is actively maintained and functionally rich, it exhibits some technical drift due to a mix of legacy and modern patterns, a large migration history, and tight coupling between core and plugins.

RATING: 7.6/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
Yuan-lab-LLM/ClawManager ★ 1899 154 APPLICATION

ClawManager is a full-stack, Kubernetes-native control plane for managing AI agent runtimes (OpenClaw, Hermes, OpenCode, DeepSeek Harness, Workbuddy). It provides instance lifecycle management, secure AI gateway proxying with governance and cost tracking, skill management (import, versioning, hub), team collaboration with leader-mediated orchestration, and a comprehensive security protection platform (SecPlane) covering runtime behavior, egress policy, intrusion detection, and compliance reporting. The backend is built in Go with Gin, uses MySQL for persistence, Redis for real-time events, and the Kubernetes client-go library for orchestration. The frontend is a React 19 SPA with TypeScript, Vite, Tailwind CSS, and i18n support for five languages. The repository also includes Playwright-based E2E tests, Docker Compose local development stacks, and a Hermes desktop web component with its own build pipeline. While the codebase demonstrates solid architecture (repository pattern, service layer, middleware), some areas show drift (many SQL migrations, hardcoded dev secrets, incomplete feature flags) and the sheer number of runtime types and configurations introduces complexity.

RATING: 7.6/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
jeffreylanters/react-unity-webgl ★ 1885 168 APPLICATION

This is a TypeScript-first React library (`react-unity-webgl`) that embeds Unity WebGL builds into React applications. The `module/source` directory contains the actual npm package: a `Unity` forward-ref component that mounts a canvas and manages the Unity instance lifecycle, plus custom hooks (`useUnityContext`, `useUnityLoader`, `useEventSystem`, `useUnityMetricsInfo`) that encapsulate script loading, two-way Unity↔React event bridging, fullscreen/pointer-lock/screenshot controls, and performance metric polling. The repo is a monorepo with a Docusaurus documentation site (versioned v5 through current) and a Vite + React integration-test harness backed by two prebuilt Unity test projects (2022.1 and 6000.1). Architecturally, Unity instances push events to React through a global `dispatchReactUnityEvent` function wired into the hook-level event system; React sends messages back through `UnityInstance.SendMessage`. The library has no runtime dependencies beyond React peer support, relying on Unity's generated loader/framework/wasm output and on browser WebGL, IndexedDB, and sensor APIs. A notable implementation detail is a cleanup-on-unmount routine that swaps in a temporary detached canvas to safely call Unity's `Quit()` method. The codebase is well organized and strongly typed, with clear separation between components, hooks, and types. CI workflows for CodeQL, module validation, and documentation validation are present, and the last commit is recent. However, there are no automated unit tests (only a manual integration app), the lint script is a placeholder, CI uses older action versions, and the Unity version-specific bridge code will need maintenance as Unity evolves.

RATING: 7.6/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
ctk-hq/ctk ★ 300 26 APPLICATION

Container Tool Kit (CTK) is a web application that provides a visual editor for Docker Compose and Kubernetes manifest files. Users can create and manage projects by dragging and dropping services, volumes, and networks onto a canvas, editing node configurations through detailed forms, and viewing the resulting YAML/JSON in a synchronized code editor. The backend is built with FastAPI and PostgreSQL, handling project persistence, user authentication (JWT-based), manifest generation (including calling kompose for Kubernetes), and project import from remote YAML URLs. The frontend is a React/TypeScript single-page application using jsPlumb for the interactive canvas, Formik for form management, and Monaco Editor for code editing. The application supports both anonymous and authenticated usage, with features like autosave, visibility toggles, and pagination for project lists.

RATING: 7.6/10 MAINT: active DRIFT: low
▸ 4 reusable components found
ghoshnirmalya/nirmalyaghosh.com ★ 294 39 APPLICATION

This repository is a personal portfolio website built with Next.js 14, React, and TypeScript. It features a blog section with MDX-powered articles sourced via Contentlayer, a projects showcase, and a responsive UI built with Chakra UI. The application uses static site generation (SSG) for optimal performance and includes client-side search functionality for articles and projects. Key architectural elements include the Next.js app router, file-based routing, and a modular component structure separating layouts, UI components, and data utilities. The site implements modern web development practices such as dark/light theme support, image optimization with blur placeholders, analytics integration (Vercel and Google Analytics), and error monitoring via Highlight. Content is sourced from MDX files in the data/articles directory and static JSON files for projects and publications. The build process leverages Next.js's incremental static regeneration (ISR) capabilities through Contentlayer, ensuring content updates without full rebuilds. Notable reusable components include a custom BlurImage component that enhances perceived performance by showing a blurred placeholder during image loading, and a Callout component for styling informational, warning, and error messages in MDX content. Both components are decoupled from specific business logic and demonstrate solid encapsulation patterns suitable for extraction into other projects.

RATING: 7.6/10 MAINT: maintained DRIFT: low
▸ 2 reusable components found
koodo-reader/koodo-reader ★ 28464 2136 APPLICATION

Koodo Reader is a cross-platform ebook reader application supporting a wide range of formats (EPUB, PDF, MOBI, AZW3, TXT, FB2, CBR/CBZ, MD, DOCX, HTML, etc.). It is built as an Electron desktop app with a React/TypeScript frontend and a separate Go HTTP server for OPDS catalog serving and KOReader sync. The application provides a full-featured reading experience including bookmarks, notes, highlights, text-to-speech (with multiple voice engines), translation and dictionary lookup (via built-in and custom plugins), OCR for scanned PDFs, and cloud sync/backup across many providers (WebDAV, S3, OneDrive, Google Drive, Dropbox, etc.). It also includes a library management system with shelves, tags, search, and import from local files, folders, URLs, and OPDS catalogs. The architecture is a monolith with a clear separation between the Electron main process (Node.js) and the renderer (React), plus an optional Go server for network-facing features. The codebase is large and feature-rich but shows signs of technical debt: widespread use of deprecated React lifecycle methods, heavy reliance on opaque minified libraries (kookit-extra), frequent `as any` type casts, and mixed Chinese/English comments. Despite these issues, the application is actively maintained and offers a robust set of features for ebook enthusiasts.

RATING: 7.5/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
maotoumao/MusicFree ★ 27459 1972 APPLICATION

MusicFree is a plugin-driven, cross-platform mobile music player built with React Native and Expo. In production it provides audio playback, playlist management, lyric display and fetching, music searching, downloading, local music scanning, theme customization, and backup/restore. The app is not a data pipeline or research project; its only persistent data is user config, playlists, cache metadata, and music history. The architecture is a React Native application with a custom plugin runtime: external CommonJS JS plugins define music-source capabilities such as search, getMediaSource, getLyric, and getMusicSheetInfo, and the app dynamically loads those plugins through a sandboxed require. Core services include a track player wrapper, plugin manager, music sheet manager, downloader, lyric manager, theme manager, and i18n system, all coordinated through Jotai atoms, event emitters, and singleton stores. Entry points are index.js (app registration and TrackPlayer initialization), src/entry/index.tsx (main app shell), and src/entry/bootstrap/bootstrap.ts (startup initialization). External dependencies include react-native-track-player, MMKV, AsyncStorage, react-native-fs, expo modules, WebDAV, react-native-reanimated, and react-native-gesture-handler.

RATING: 7.5/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
chaitin/PandaWiki ★ 10316 1031 APPLICATION

PandaWiki is a production-ready, self-hosted AI knowledge base and wiki platform. The actual codebase implements document management with versioned releases, RAG-based Q&A and search, AI-assisted document summarization and editing, multi-source content ingestion (URL, RSS, Sitemap, Notion, Feishu, DingTalk, Confluence, EPUB, Wiki.js, Yuque, Siyuan, etc.), a customizable public landing page builder, analytics, comments, contribution review, and multi-channel bot integrations for WeChat, WeCom, DingTalk, Feishu/Lark, and Discord. It is not a data research repository, but it contains substantial document-ingestion and analytics pipelines that feed the RAG system. The architecture is a full-stack monolith-style application split across a Go backend (Echo + GORM + PostgreSQL + Redis + MinIO/S3 + NATS JetStream), a React admin panel (Vite/MUI/Redux), a Next.js public site, and a pnpm workspace of shared UI/icon/theme packages. The Go backend follows a layered design with handlers, use cases, repositories, middleware, and dependency injection via generated Wire code. A standalone MQ consumer process handles async RAG document updates, crawler exports, and cron-driven statistics aggregation. The public app is served separately from the admin panel, with an embeddable widget and an H5 chat interface. In production, documents are imported through crawler tasks or direct upload, converted to HTML/Markdown, chunked, and upserted into a configurable vector/RAG service. User chat requests rewrite the query, retrieve ranked chunks, and stream LLM responses via SSE with citations. Statistics are rolled up hourly into PostgreSQL. Authentication supports local accounts, JWT sessions, GitHub OAuth, LDAP, CAS, and enterprise SSO. Feature availability is gated by commercial license editions, with a private pro submodule adding enterprise functionality.

RATING: 7.5/10 MAINT: active DRIFT: medium
▸ 6 reusable components found
$ loading more...
$ submit: