EverOS is a local-first, markdown-based memory framework for AI agents and chat applications. It ingests conversational sessions via a FastAPI REST API, extracts structured memories (episodes, atomic facts, agent cases, skills, user profiles) using LLMs, persists them as version-controllable Markdown files, and maintains derived search indexes in LanceDB (vector + BM25) and SQLite. The system provides a rich retrieval layer with keyword, vector, hybrid (RRF), and agentic (LLM-guided multi-round) search methods, plus a knowledge wiki feature. An Offline Memory Engine (OME) runs background strategies (reflection, clustering, extraction) on cron/idle/immediate triggers, and a cascade daemon watches the Markdown filesystem to reconcile indexes. The architecture is a layered monolith (entrypoints β service β memory β infrastructure) with cross-cutting components for LLM, embedding, rerank, tokenizer, and config. It ships with a CLI (Typer), a TUI demo (Textual), and extensive integration tests. While primarily an application, it includes a benchmark harness (LoCoMo, LongMemEval, EverMemBench) and evaluation fixtures, giving it a hybrid character with a strong research-oriented testing pipeline.
aicommits is a CLI tool that automatically generates git commit messages using AI. It supports multiple AI providers (OpenAI, Together AI, Groq, xAI, Ollama, LM Studio, OpenRouter, and custom OpenAI-compatible endpoints) and offers both agentic generation (using tool-calling LLMs) and one-shot fallback for models that don't support tools. The tool reads staged git diffs, sends them to the configured LLM, and produces commit messages in various formats (plain, conventional commits, gitmoji, subject+body). It includes a git hook for seamless integration, a PR generation feature, config management, auto-update, and a VS Code extension. The architecture is a monolith CLI application built with TypeScript, using cleye for argument parsing, @clack/prompts for interactive prompts, and the Vercel AI SDK for LLM interactions. The codebase is well-structured with extensive tests, modern TypeScript practices, and careful handling of edge cases like large diffs, model fallbacks, and timeout management.
TypeChat is a library that enables building natural language interfaces by leveraging type definitions (TypeScript interfaces, Zod schemas, Python TypedDicts/dataclasses) to structure LLM interactions. Instead of prompt engineering, it uses schema engineering: types define the expected output structure, which is used to construct prompts, validate LLM responses, and repair invalid outputs through iterative LLM calls. The library provides a clean abstraction over LLM APIs (OpenAI/Azure OpenAI) with retry, timeout, proxy, and response-size limiting. It supports both direct JSON translation and program generation (multi-step function calls). Implemented in TypeScript and Python with parallel APIs, it includes a rich set of examples (sentiment analysis, coffee shop ordering, calendar management, music control, math, drawing, health data, crossword, multi-agent routing) and comprehensive test suites. The codebase demonstrates strong engineering practices: clean separation of concerns (model, validator, translator), well-tested schema conversion (Python types to TypeScript declarations), and safe program interpretation. While still in early version (0.1.4), it is actively maintained with CI/CD, dependabot alerts, and a documentation site.
Notte is a full-stack web AI agent framework and browser automation SDK. The implementation is a multi-package Python monorepo: notte-core provides shared domain models, actions, error hierarchies, telemetry, and configuration; notte-browser implements Playwright/Patchright browser control, DOM snapshotting, scraping pipelines, and form-filling heuristics; notte-agent contains the LLM-driven agent loop, deterministic fallback, and workflow execution; notte-llm wraps LiteLLM with structured completions, retries, and a file-based prompt library; notte-sdk is the client for the hosted Notte cloud API with remote sessions, agents, vaults, personas, and serverless functions; notte-integrations adds notifiers and third-party CDP session providers. Primary entry points are `NotteClient` for cloud usage, `NotteSession` for local browser automation, and `Agent`/`AgentFallback` for autonomous and hybrid scripted-agent workflows.
Agent Flow is a real-time visualization tool for monitoring AI agent orchestration, specifically designed for Claude Code and Codex sessions. It captures agent events via hook scripts and file tailing, processes them through a simulation layer, and renders an interactive node graph showing agent relationships, tool calls, discoveries, and performance metrics. The system comprises three main components: a VS Code extension for editor integration, a standalone Node.js server for direct use, and a Next.js-based web application serving as the core visualization frontend. Events are transmitted via Server-Sent Events (SSE) from a relay server to the frontend, which uses React with Tailwind CSS and d3-force for physics-based layout. Key features include live monitoring, timeline scrubbing, session replay, file attention tracking, token usage visualization, and stress testing scenarios. The architecture emphasizes performance through ref-based state management, memoized computations, and virtualized lists for handling large event logs.
Atomic Chat is a full-featured desktop application for running local large language models and connecting to cloud AI providers. Built with Tauri v2 (Rust backend) and a React/TypeScript frontend, it provides a unified chat interface, agent mode with tool execution, MCP server integration, model hub, and an OpenAI-compatible local API server. The application supports multiple inference backends (llama.cpp, MLX, Apple Foundation Models) and handles model downloads, hardware detection, and agent orchestration. It includes extensive testing, telemetry (PostHog/Sentry), and a plugin architecture for extensibility. The codebase demonstrates clean separation of concerns through a service hub pattern, consistent state management with versioned persistence, and robust resource handling for MCP lifecycle and grammar-safe tool calling. Some duplication exists between two llama.cpp provider plugins, but overall architecture is well-structured.
This repository implements an MCP (Model Context Protocol) server that bridges AI assistants with SearXNG, a privacy-respecting metasearch engine. It exposes four primary tools: `searxng_web_search` for web queries, `searxng_search_suggestions` for autocomplete, `searxng_instance_info` for capability discovery, and `web_url_read` for fetching and converting web pages to markdown. The server runs in two transport modes: STDIO (default) for simple MCP integration, and HTTP for stateful/stateless remote access with optional OAuth and static bearer authentication. The architecture is modular and security-focused. Core modules include a proxy layer with per-type agent selection, SSRF protection via private IP blocking and DNS rebinding detection, a browser solver chain (FlareSolverr/Byparr) for challenge solving, worker-threaded PDF extraction, and multi-instance failover/fanout for SearXNG replicas. All credential-bearing output (logs, errors, MCP resources) is redacted by a centralized sanitizer. Extensive environment-variable configuration (~40+ knobs) controls caching, timeouts, rate limiting, TLS, and result formatting. Highlights include a strict integer parser that rejects unsafe or malformed values, an LFU cache with age tie-breakers and configurable TTL, and a comprehensive URL security module covering both IPv4 and IPv6 private ranges. The test suite achieves over 90% line coverage and includes integration, unit, fuzz, and e2e tests, with documentation tests that verify README and configuration docs match source contracts. The project is actively maintained with frequent releases, pinned dependencies, and a verification gate that enforces zero-vulnerability audits before publishing.
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.
PocketRisu is a self-hosted AI roleplay chat platform, forked from RisuAI. It runs as a Node.js server with a Svelte 5 frontend, accessed via browser. The system supports multiple AI providers (OpenAI, Anthropic, Google Gemini, etc.) through a pluggable adapter pattern, and includes character management, lorebooks, plugins, MCP (Model Context Protocol) tools, translation, TTS, image generation, and a comprehensive data-driven settings system. Data is stored in SQLite with content-defined chunking for large values, and the architecture is a monolith with a client-server split: the server handles persistence, backup, asset manifests, and model job processing; the client handles UI, state management, and direct AI API calls (with optional server-side proxy). Key entry points include src/main.ts (client bootstrap), server/node/server.cjs (server), src/ts/storage/database.svelte.ts (central store), and src/ts/process/request/ (AI request handling). External dependencies include Node.js, SQLite, various AI provider APIs, MCP servers, and browser APIs (File System Access, IndexedDB). The codebase is well-tested with unit and integration tests, and features a sophisticated plugin system with sandboxed execution, a model preset registry with remote sync, and a chat delta sync mechanism for efficient data transfer.
OpenHands/OpenHands is the frontend application for the OpenHands AI agent platform, known as Agent Canvas. It is a React single-page application (SPA) built with Vite, TypeScript, Tailwind CSS, and React Router. The application provides a comprehensive user interface for interacting with AI coding agents (OpenHands, Claude Code, Codex, Gemini, or any ACP-compatible agent) via an agent server. It supports multiple backends (local self-hosted, cloud at app.all-hands.dev) with a backend registry that routes API calls accordingly. The UI includes a chat interface with real-time WebSocket event streaming, a conversation panel for managing multiple sessions, a file explorer with Monaco editor, terminal emulator, browser snapshot view, git integration (commits, diff viewer, push/pull), settings for LLM profiles, MCP servers, secrets, skills/plugins, and an automation dashboard for scheduled or event-driven agent runs. The application is also published as an npm package (@openhands/agent-canvas) for embedding in other applications, and supports Electron desktop builds. The architecture follows a modern React pattern with Zustand for client-side state management (conversations, events, UI preferences), TanStack React Query for server-state caching and synchronization, and react-i18next for internationalization. The backend abstraction layer is a key architectural feature: every service (settings, profiles, git, secrets, automations, etc.) branches on the active backend kind (local vs cloud) and delegates to either a direct SDK client (@openhands/typescript-client) or a cloud proxy (callCloudProxy). This dual-transport pattern is enforced by guard tests that prevent ad-hoc HTTP calls outside vetted files. The application also includes a manifest system for declarative automation setup, a tool visualizer registry for rendering agent tool calls (bash, file editor, search, task), and extensive mock infrastructure (MSW) for development and testing. Key entry points include the root layout (src/routes/root-layout.tsx) which provides the main shell with sidebar, command menu, and onboarding; the conversation main view (src/components/features/conversation/conversation-main/conversation-main.tsx) with resizable panels for chat and tabs; the settings pages (src/routes/settings.tsx) with schema-driven forms; and the automation dashboard (src/routes/automations-list.tsx). External dependencies include the agent server REST API, cloud proxy endpoints, @openhands/typescript-client SDK, @openhands/extensions for automation catalogs, and various UI libraries (HeroUI, framer-motion, xterm.js, Monaco editor). The codebase is actively maintained with over 84k stars, frequent commits, and a large test suite (Vitest unit tests, Playwright E2E tests, Stryker mutation testing).
DeerFlow is an open-source, full-stack AI agent harness built on LangGraph/LangChain, providing a production-ready platform for building, deploying, and managing conversational AI agents. The system features a Python/FastAPI backend with a modular architecture that includes agent orchestration, long-term memory (DeerMem), sandboxed code execution, a skill system with static analysis (SkillScan), MCP (Model Context Protocol) tool integration, multi-channel IM support (Telegram, Slack, Discord, Lark, etc.), scheduled tasks, subagent batches, and a comprehensive authorization framework. The frontend is a Next.js/React workspace with real-time streaming, artifact management, and a terminal UI (TUI) for headless operation. The architecture follows a gateway pattern: the FastAPI gateway handles authentication (JWT, OAuth, PATs), routing, and SSE streaming, while the core harness package (`deerflow`) implements agent logic, middleware chains, and runtime components. Persistence uses SQLAlchemy with Alembic migrations, supporting both SQLite and PostgreSQL. The system is highly extensible via a Python extension API (`deerflow-extension-api`) and a plugin system for frontend surfaces. Deployment supports Docker Compose and Kubernetes (Helm chart). While primarily an application, DeerFlow includes research-oriented components such as memory eviction benchmarks, context snapshot evaluations, and tracing integrations (LangSmith, Langfuse, OpenTelemetry). The codebase demonstrates strong engineering practices with extensive unit tests, blocking IO regression tests, and contract tests, though its large feature surface and many configuration options introduce complexity and potential for drift between environments.
Context7 is a platform that delivers up-to-date, version-specific library documentation directly into AI coding assistant prompts. It operates as an MCP (Model Context Protocol) server exposing two core toolsβ`resolve-library-id` (converts a library name to a Context7 ID) and `query-docs` (retrieves documentation snippets for a given concept)βalongside a CLI (`ctx7`) for setup and querying, a TypeScript SDK for programmatic access, and plugins for Cursor, Claude Code, VS Code, Copilot CLI, OpenCode, and more. The architecture is client-server: the MCP server communicates with a private backend API that indexes documentation from public and private source repositories, websites, OpenAPI specs, and Confluence spaces. The CLI configures MCP servers for multiple AI coding agents by writing JSON/TOML config files and skill definitions. The SDK provides a typed client with retry, abort, and rate-limit handling. All components share a common workflow: resolve a library ID, then query documentation for a specific concept. The repository is a pnpm monorepo with packages for the MCP server (`@upstash/context7-mcp`), CLI (`ctx7`), SDK (`@upstash/context7-sdk`), Vercel AI SDK tools (`@upstash/context7-tools-ai-sdk`), and thin extensions for pi.dev and OpenCode. It includes comprehensive documentation, enterprise deployment guides (Docker, Kubernetes, on-premise), and integrations with GitHub Actions, Okta, Entra ID, and Vercel Marketplace. The codebase demonstrates strong engineering practices: command pattern in the SDK, declarative agent configuration, OpenTelemetry instrumentation with lazy loading, and secure authentication flows (OAuth, JWT, API keys). External dependencies include the Context7 backend API, Clerk for OAuth, Vercel Marketplace OIDC, and various AI coding agent platforms.
MemPalace is a local-first, persistent memory system for AI agents. It stores and retrieves structured 'drawers' (memory chunks) organized into wings, rooms, and closets, with hybrid vector+BM25 search, a temporal knowledge graph, and agent coordination via a logstream. The system provides a CLI, an MCP server (both full and lightweight), and shell hooks for integration with Claude Code, Cursor, Codex, Antigravity, and DeepSeek Harness. It supports multiple storage backends (ChromaDB, SQLite exact, pgvector, Qdrant, Milvus, and a Rust native backend) and offers privacy-first operation with no mandatory API keys or internet connectivity. Architecturally, MemPalace is a modular Python package with optional Rust acceleration (PyO3). The core is split into several packages: `mempalace.cli` (fragment-exec-based CLI), `mempalace.mcp_server` (MCP tool server), `mempalace.palace` (palace operations and locks), `mempalace.searcher` (hybrid ranking and filters), and `mempalace.backends` (pluggable storage). The knowledge graph is SQLite-backed with temporal validity windows. A write-ahead log provides an audit trail. The system uses a hybrid logical clock (HLC) for causal ordering and a source adapter system for pluggable ingest. Although primarily an application, the project includes extensive benchmarking and model evaluation suites, giving it a mild hybrid character.
CherryStudio is a cross-platform desktop AI assistant built with Electron and React. It provides a unified chat interface that supports dozens of LLM providers (OpenAI, Anthropic, Google, Groq, local models via Ollama, etc.) through a pluggable provider registry and the Vercel AI SDK. Beyond chat, it offers knowledge base management with RAG (vector indexing via sqlite-vec, chunking, embedding), file processing (OCR with Tesseract/PaddleOCR, document parsing), web search, image generation, MCP (Model Context Protocol) tool integration, and code CLI management (Claude Code, OpenAI Codex). The application is organized as a pnpm monorepo with separate packages for the UI component library, AI core runtime, provider registry, and tracing infrastructure. Architecturally, the app follows an Electron main/renderer process split with typed IPC communication using Zod schemas. The main process handles AI inference, database operations (SQLite via Drizzle ORM), file management, and native integrations. The renderer is a React SPA using TanStack Router, SWR for data fetching, and a custom UI component library with extensive icon sets for providers and models. The AI runtime layer abstracts provider-specific details through adapters and supports streaming, tool calls, agent sessions, and context compaction. Key data flows include: user input β composer β IPC β AI runtime β provider API β streaming response β renderer. Knowledge base ingestion follows: file upload β OCR/parsing β chunking β embedding β vector store. The application also supports offline usage with local embedding models and ONNX runtime. External dependencies include native binaries for OCR and vector search, and the AI SDK ecosystem.
Vane is a privacy-focused, self-hosted AI answering engine that combines web search with large language models (LLMs) to produce cited, real-time answers. The system is built as a Next.js 16 application with a React frontend and a set of API routes that orchestrate a multi-step research pipeline: classification of user queries, parallel execution of search actions (web, academic, social, scrape, upload-based retrieval), widget generation (weather, stock, calculation), and final answer synthesis via an LLM. It supports multiple LLM providers (OpenAI, Anthropic, Gemini, Groq, Ollama, LM Studio, etc.) through a clean provider abstraction, and stores chat history in a local SQLite database managed by Drizzle ORM. The architecture is a monolith with clear separation of concerns: a model registry for LLM/embedding providers, a search agent with an action registry pattern, a widget system for structured data display, and a configuration manager that persists user settings to a JSON file. The frontend uses client-side streaming via EventSource to display research progress and final answers in real-time. Deployment is Docker-first, bundling a SearXNG instance for privacy-respecting web search, with multi-arch images and a slim variant. Key entry points include the main chat page (`/`), individual chat pages (`/c/[chatId]`), a news discovery page (`/discover`), and a library for uploaded documents. The primary API endpoints are `POST /api/chat` (streaming chat), `POST /api/search` (non-streaming search), and various CRUD routes for providers, config, and uploads. External dependencies include SearXNG (self-hosted), Open-Meteo (weather), Yahoo Finance (stocks), and the LLM provider APIs. The codebase demonstrates strong engineering practices with well-defined abstractions, a modular agent architecture, and a focus on privacy and local-first operation. It is actively maintained with a large community, though some areas (custom migration runner, large chat hook) show room for refinement.
SGLang is a high-performance inference serving system for large language models (LLMs) and multimodal models (vision, video, audio, diffusion). It provides an OpenAI-compatible API, a Python frontend DSL for programmable inference, and supports a wide range of hardware backends (NVIDIA CUDA, AMD ROCm, Intel XPU, Ascend NPU, Apple MLX). The architecture is a distributed serving runtime (SRT) with a scheduler, model executor, custom CUDA/Triton kernels, and advanced features like speculative decoding (EAGLE, MTP, NGRAM), disaggregated prefill/decode, hierarchical KV cache (HiCache), and quantization (FP8, NVFP4, AWQ, GPTQ). It also includes a Rust-based model gateway for routing and a multimodal generation pipeline for diffusion models. The system is designed for production-scale deployment, powering trillions of tokens daily across hundreds of thousands of GPUs.
FastGPT is a production-grade AI Agent building platform that enables users to create, deploy, and manage AI applications through a visual workflow editor. The system provides a full-stack solution including a Next.js frontend with Chakra UI, a comprehensive REST API layer, and a modular backend architecture. Core capabilities include a workflow engine with agent loops, tool calling, dataset (knowledge base) management with vector search, sandboxed code execution (JS/Python), multi-tenant team management with fine-grained permissions, billing and usage tracking, and integration with external platforms (WeChat, Feishu, Dingtalk, MCP). The platform is designed for both open-source community and commercial deployments, with feature gating via license activation. The codebase is organized as a monorepo with clear separation of concerns: shared types and constants in `packages/global`, business logic in `packages/service`, UI components in `packages/web`, data access layer in `packages/dal`, and separate services for sandbox execution and volume management. It relies on MongoDB, Redis, BullMQ, S3-compatible storage, and multiple vector database backends (PG, Milvus, OceanBase, SeekDB, OpenGauss). The architecture is predominantly monolithic with the main application as a Next.js app, but sandbox and volume manager run as independent services, indicating a hybrid monolith/microservices pattern.
Gitleaks is a command-line secret detection tool written in Go that scans for sensitive information like API keys, tokens, and passwords in git repositories, directories, files, and stdin. It features a modular architecture with separate components for configuration loading, source abstraction (file/git/archive handling), detection logic with multi-layer decoding, rule-based matching, and flexible reporting. The tool uses a Cobra-based CLI interface with commands for different scan modes and supports output formats including JSON, CSV, JUnit, SARIF, and custom templates. Key strengths include its pluggable decoder pipeline for handling encoded secrets, configurable rule system with entropy checks and keyword filtering, and sophisticated allowlist mechanism for reducing false positives. While actively maintained for security patches, the project is feature-complete with ongoing dependency management challenges due to its extensive rule set and reliance on unstable packages like golang.org/x/exp.
The Vercel AI SDK is a comprehensive TypeScript monorepo providing a unified, provider-agnostic interface for building AI-powered applications. It abstracts interactions with dozens of LLM providers (OpenAI, Anthropic, Google, Mistral, Cohere, xAI, etc.) behind a consistent API for text generation, streaming, structured output, image/video generation, speech, transcription, embeddings, and tool calling. The architecture is modular: a core `ai` package exposes high-level functions (`generateText`, `streamText`, `generateImage`, `embed`, `transcribe`, `ToolLoopAgent`, `HarnessAgent`) and a middleware system, while separate `@ai-sdk/provider` packages define versioned model interfaces (v2βv4) and `@ai-sdk/provider-utils` provides shared utilities for schema validation, error handling, and HTTP. Each provider lives in its own package (e.g., `@ai-sdk/openai`, `@ai-sdk/anthropic`) with model-specific options and error handlers. The SDK also includes a harness/agent framework (`@ai-sdk/harness`) for integrating external coding agents (Claude Code, Codex, Cursor, GitHub Copilot, etc.) with sandboxed execution and workflow orchestration, plus UI integrations for React, Vue, Svelte, and Angular. Key data flows involve constructing prompts, calling provider APIs via fetch, streaming responses as Server-Sent Events or ReadableStreams, and transforming messages between model and UI formats. External dependencies include provider API endpoints, Zod for schema validation, and OpenTelemetry for telemetry.
Hermes Studio is a self-hosted AI agent orchestration platform providing a unified interface for multiple AI agents (Hermes, Ekko, Claude Code, Codex, Pi) with chat, workflow automation, agent management, and skill-based extensibility. The architecture features a Vue 3 frontend, Node.js/Koa backend, Electron desktop client, and hybrid TypeScript/Python agent runtime. Key capabilities include real-time collaboration via Socket.IO, voice processing with multiple STT/TTS providers, file management with preview capabilities, usage analytics, and Model Context Protocol (MCP) integration for extending agent tools. The platform supports social messaging integrations (Feishu, Telegram, Weixin) and MCU device support for embedded voice processing.