Witsy is a feature-rich desktop AI assistant built with Electron and Vue 3. It operates as a Bring-Your-Own-Keys (BYOK) client, aggregating dozens of LLM providers (OpenAI, Anthropic, Google, Ollama, etc.) into a unified chat, agent, and automation platform. The architecture follows a standard Electron main/renderer process split, communicating via IPC, with a Vue 3 frontend and a Node.js backend. Beyond basic chat, Witsy provides a sophisticated agent system supporting multi-step workflows, A2A communication, scheduling, and webhooks. It includes a full RAG pipeline (document ingestion, chunking, embedding, vector search), a plugin system for tools (MCP, code execution, web browsing, image generation), and extensive voice capabilities (STT/TTS with multiple providers). Data is persisted locally as JSON files within workspaces, with a vector database for semantic memory and document retrieval. A key differentiator is its automation layer, which can control the desktop (text selection, pasting, app detection) via platform-specific automators (macOS, Windows, nut-js). It exposes a local HTTP API and a CLI for external integration. The MCP (Model Context Protocol) client allows it to connect to a vast ecosystem of third-party tools. While primarily an application, it contains significant data engineering components (RAG pipeline, memory manager, deep research orchestrator) that are tightly integrated into the app's workflow. The codebase is well-structured with a strong emphasis on testing, though its massive feature surface and reliance on external APIs introduce inherent complexity and maintenance challenges.
This repository is a comparative benchmark of web-to-desktop application frameworks (Electron, Tauri, NW.js, Wails, NodeGui, Neutralino, Flutter, .NET MAUI). It provides automated benchmarking infrastructure that builds empty apps for each framework, measures build size, build time, memory usage, and startup duration across multiple operating systems, and presents the results in formatted README tables and Mermaid graphs. The repository also tracks GitHub stars and forks over time. The codebase is primarily a data collection and presentation project, with the runner scripts orchestrating the benchmarks and generating the comparison documents. The benchmark apps themselves are minimal template applications. The project is actively maintained with recent commits and automated CI workflows, but the runner code contains several technical issues (undefined functions, deprecated patterns) indicating high technical drift. The data is bundled in the repository, making results immediately accessible without running benchmarks.