Invisible Dots is a self-hosted, open-source platform for deploying and managing persistent AI agents ('Dots'). Each Dot operates within its own dedicated QEMU virtual machine, providing a secure, isolated environment with a full Linux desktop, browser, and file system. The platform is designed for undetectability and long-running autonomy, serving as an open-source alternative to proprietary agent services. The system is a polyglot monorepo with a strict separation between the host control plane (TypeScript) and the guest agent (Go) and engine (Python). The host manages VM lifecycle, scheduling, a web UI, CLI, and messaging channels (Telegram/WhatsApp). The guest runs a Go daemon for low-level system access and a Python engine (forked from nanobot) that orchestrates LLM calls, tool execution, and permissions. Key features include a granular permission system with approval workflows, a cron-like task/automation system, cost capping per task, and a comprehensive benchmark suite for evaluating agent capabilities. The codebase demonstrates exceptional engineering craftsmanship with clean abstractions (Database, Channels, Computer), robust testing strategies (contract tests, fakes, e2e), and reusable utility libraries (ISO writer, SSE parser, atomic file operations). While primarily an application, the project includes a significant research-oriented benchmark suite (tests/bench) and the engine itself is a research fork (nanobot), giving it a hybrid character. The core value, however, is as a production-grade application platform.
This repository is a community distribution and feature-extension framework for OpenAI's ChatGPT desktop application on Linux. It does not contain the core ChatGPT application itself; instead, it verifies, repackages, and patches the official signed upstream .deb package to produce customized builds for multiple Linux package formats (deb, RPM, pacman, AppImage, Nix, Gentoo ebuild). The system adds over 40 optional Linux-specific features—such as system tray integration, global dictation, computer-use automation (window management, accessibility, screenshots), desktop recording/replay, text-to-speech, proxy authentication, and UI tweaks—each gated behind a declarative feature manifest and applied via a sophisticated patch engine that modifies the Electron app bundle at build time. Architecturally, the project is a build/packaging/update framework. The core is a patch engine (scripts/patches/) that applies declarative descriptors to the upstream app.asar in phases (main-bundle, webview-asset, extracted-app). Features live under linux-features/ with standardized manifests (feature.json), patch scripts (patch.js), stage hooks, and tests. Performance-critical subsystems are implemented in Rust: a computer-use backend (window management, input simulation, accessibility tree), a record-replay backend (desktop session capture, timeline events, skill drafting), a text-to-speech MCP server, a global dictation helper, and a self-updating package manager daemon. The launcher (start.sh.template) orchestrates environment setup, feature hooks, and CLI dispatch. Key entry points include the installer (install.sh), the feature picker GUI (scripts/feature-picker.py), the patch runner (scripts/patches/runner.js), and the updater daemon (updater/src/main.rs). Data flows are primarily build-time: the upstream .deb is downloaded, verified via GPG/SHA256, extracted, patched, and repackaged. At runtime, features like computer-use and record-replay communicate with native Rust backends over MCP/JSON-RPC. The updater daemon runs as a systemd user service, polling signed APT metadata and performing transactional rebuilds with rollback support. External dependencies include the upstream OpenAI .deb package (the sole ground-truth source), Node.js for patching, Rust for native components, and various Linux system tools (systemd, D-Bus, GNOME Shell, X11/Wayland utilities, ydotool, wmctrl, xdotool, secret-tool). The build system uses Make, Docker for CI, and supports multiple package managers. The project is heavily dependent on the upstream bundle's minified JavaScript structure, which it manages through contract-based patching with drift detection.
Ui.Vision is a browser extension for Robotic Process Automation (RPA) that provides web and desktop automation capabilities. It features a React/Redux UI with Ant Design, supporting both table-based macros (Selenium IDE compatible) and JavaScript script macros. The extension includes computer vision for image-based automation, OCR functionality, AI-assisted macro creation, and desktop automation through native XModules. It implements a storage abstraction layer supporting browser and file system modes, backup/restore functionality, and an MCP bridge for external AI agent control. The architecture follows web extension patterns with background scripts, content scripts, and a rich UI layer, communicating via IPC mechanisms.
AnythingLLM is a full-stack, self-hosted AI chat platform designed for Retrieval-Augmented Generation (RAG) over private documents. It provides a web interface where users create workspaces, upload documents (PDF, DOCX, images with OCR, audio, etc.), which are then chunked, embedded, and stored in a vector database (default LanceDB, with support for PGVector, Pinecone, Qdrant, and others). Chat queries retrieve relevant document chunks and feed them to an LLM of choice (supporting 30+ providers including OpenAI, Anthropic, Ollama, and local models via KoboldCPP). The platform also features an extensible agent system (aibitat) with plugins for file system operations, SQL databases, Gmail, Google Calendar, web scraping, image generation, and scheduled jobs. A separate 'collector' microservice handles document ingestion and format conversion, while the 'open-computer' subproject provides a QEMU-based virtual machine for autonomous browser automation. The frontend is a React SPA with multi-user support, role-based access, internationalization, embeddable chat widgets, and a community hub for sharing agent skills, system prompts, and slash commands. The architecture is a monolith (Express server) with the collector as an isolated service, and the open-computer as a standalone CLI/service. It relies on external AI APIs, vector databases, and local storage, making it suitable for both cloud and on-premises deployment.
This repository repackages Anthropic's official Claude Desktop Linux .deb with a comprehensive set of Linux-native enhancements and community features. It applies 48 surgical JavaScript patches (compiled from Nim sources) to the minified Electron bundle, adding custom theme engine with 97 bundled dual light/dark palettes, multi-profile isolation, Quick Entry global hotkey, Computer Use desktop automation backends (X11, wlroots, GNOME, KWin portals), and an in-app Extra settings panel for themes, feature flags, and third-party inference configuration. The project produces packages for Arch (pacman), Debian/Ubuntu (APT), Fedora/RHEL (RPM), NixOS (flake), and AppImage, with automated CI that polls upstream every 2 hours, validates patch integrity, and publishes signed repositories. The architecture is a patch overlay on a third-party Electron desktop app. Patches are organized into three groups: linux (31 patches, always-on), core (7 patches, infrastructure), and community (10 patches, opt-in). A Nim-based build system compiles each patch into a native binary that performs regex-based transformations on the minified JS, with strict idempotency checks that fail the build if any pattern doesn't match. The patching system also handles upstream code-split chunks and concatenates/splits them as needed. The theme engine injects CSS custom properties via Electron's insertCSS, supports live reload via file watcher, and includes a full browser UI (theme picker SPA) with search, keyboard navigation, and wallpaper-driven generation via matugen. While the codebase demonstrates high engineering craftsmanship—consistent IPC validation, atomic config writes, robust fallback chains for Computer Use backends, and a reproducible build workflow with byte-identical artifact checks—it is tightly coupled to a single upstream app's minified bundle shape and DOM structure. The 48 patches are a significant maintenance burden that must be re-validated on every upstream release. However, the project is actively maintained, with automated CI catching most regressions, and several patterns (spinner injector, theme engine, config utilities) could be extracted for reuse in other Electron or web applications.
OysterWorkflow is an open-core desktop application (Electron + React) that records a user's computer activity via Screenpipe (screen, audio, UI events), then uses multi-stage LLM calls to extract reusable, structured 'skills' (workflow graphs) that AI agents (Codex, Claude, Hermes) can execute. The system provides a full lifecycle: capture → ingest → normalize → segment → LLM-based workflow discovery → skill extraction → workflow graph generation → quality evaluation → installation into agent skill directories → execution via MCP or Hermes CLI. It also includes a cloud sync layer (Supabase), a marketplace (ClawHub), and a local runtime HTTP server for the UI. Architecturally, it is a hybrid monolith with clear module boundaries: a desktop shell (Electron main process), a local runtime server (Express), a CLI (commander), a React UI (Vite + React Flow), and a product state layer (SQLite-backed with cloud sync). The codebase is TypeScript-first, ESM-only, and heavily tested (200+ test files). It demonstrates strong engineering practices: atomic file I/O, bounded child process management, immutable revision control for workflow graphs, and a sophisticated prompt registry with versioned inheritance. While primarily an application, it contains a significant data pipeline component (ingest → normalize → segment → LLM extraction) that could be considered a research-grade feature engineering system. The repo is actively maintained with frequent commits, CI, and issue triage. Notable risks include heavy sidecar bundling (Screenpipe, Hermes, ffmpeg), rapid prompt set version churn, and a mixed licensing model (Apache 2.0 open core + PolyForm Noncommercial for product code).
This repository is a large monorepo for a multimodal AI agent platform developed by ByteDance. It includes a desktop Electron application (UI-TARS Desktop) that allows users to control their computer using natural language via vision-language models (UI-TARS, GPT-4o, Claude, etc.). Additionally, it provides a CLI tool (Agent TARS) for running agents in browser/desktop environments, a server for multi-user agent sessions, a web UI for interacting with agents, MCP servers for browser/filesystem/commands, and a comprehensive SDK for building custom agents and operators. The architecture is heavily componentized with multiple packages for agent core, tool-calling engines (native, prompt-engineering, structured-outputs), browser automation (local, remote, sandbox), desktop automation (NutJS, ADB), and UI components. While the codebase demonstrates strong engineering with clean abstractions (event streams, plugin systems, strategy patterns), it also shows signs of rapid growth with some duplication (two agent server implementations, overlapping operator packages) and ongoing migrations. The repository is actively maintained with frequent releases and comprehensive test coverage across unit, integration, and e2e tests.
rsclaw is a production-grade AI agent gateway and runtime written in Rust, with a React/Tauri desktop UI. It provides a local-first autonomous agent engine that routes messages through 13+ messaging channels (WeChat, Telegram, Discord, Slack, Feishu, etc.) to any of 15+ LLM providers (Anthropic, OpenAI, Gemini, Grok, DeepSeek, etc.). The core architecture is a WebSocket gateway that manages agent sessions, tool execution, memory persistence, skill invocation, and a knowledge base RAG pipeline. Key subsystems include a computer-use GUI agent (native + browser + ADB + iPhone Mirror operators), a plugin system (WASM, JS subprocess, Codex bundles), an agent-to-agent (A2A) protocol for distributed orchestration, and a three-tier memory store (redb KV + Tantivy FTS + HNSW vectors). The binary is a single compiled crate (~21MB) with no Node.js runtime dependency for the backend. The accompanying Next.js web UI and Tauri desktop shell provide a ChatGPT-like chat interface, memory management, model configuration, and computer-use overlays. While primarily an application, the knowledge base and memory subsystems incorporate significant data engineering patterns: content-aware chunking, hybrid vector/FTS search, entity extraction, and a job-based ingestion pipeline with leadership/leaderboard semantics.