OpenKosmos is a local-first AI Agent Studio that empowers you to create, configure, and run personalized AI agents tailored to your own workflows β with a low-code approach that puts productivity first.
It runs entirely on your desktop, provides native access to your local files and system, and connects to the broader AI ecosystem through MCP servers, skills, and multi-model support. Whether you're automating daily tasks, building research assistants, or orchestrating complex multi-step workflows, OpenKosmos gives you a flexible, privacy-respecting platform to get it done.
- π Local-First β Runs on your machine. Your data stays on your device.
- π€ Personalized Agents β Create custom agents with tailored instructions, tools, knowledge bases, and skills β no coding required.
- π MCP Ecosystem β Connect to any MCP server (stdio/SSE/HTTP) to extend agent capabilities with external tools and data sources.
- π§© Skills & Context β Package reusable AI prompt templates as skills; attach knowledge bases for domain-specific context.
- π Multi-Model β Switch between GitHub Copilot, OpenAI, Azure OpenAI, Google Gemini, Anthropic Claude, Cohere, and Ollama β all in one interface.
- π Built-in Tools β Web search (Bing/Google), web fetch, file operations, shell commands, Office document reading, and more β out of the box.
- πΎ Long-Term Memory β Semantic memory system powered by vector embeddings, so your agents remember what matters across sessions.
- π₯οΈ Cross-Platform β Windows, macOS, and Linux support.
- Low-Code Agent Creation β Configure agents through a visual editor: set system prompts, attach MCP servers, assign skills, and define knowledge bases β all without writing code.
- Agent Library β Browse, import, and share agent configurations from a built-in library.
- Multi-Agent Workspace β Run multiple agents in parallel chat sessions, each with its own context and tools.
- Smart Context Compression β Automatically compress long conversations to keep agents responsive without losing important context.
- Universal MCP Support β Connect to any MCP server via stdio, SSE, or HTTP transport.
- One-Click MCP Setup β Add MCP servers from a curated library, or import directly from VSCode settings.
- 30+ Built-in Tools β Web search, web fetch, file read/write/search, shell command execution, Office document parsing, and more β available to all agents by default.
- Dynamic Tool Execution β Agents autonomously discover and invoke tools during conversations, with user approval controls.
- Skill Packages β Portable prompt template archives (
.skill/.zip) with metadata, installable from a library or local files. - Knowledge Bases β Attach document folders to agents for retrieval-augmented generation (RAG) with domain-specific context.
- Built-in Skills β Pre-installed skills like
skill-creatorto help you build new skills from within the app.
- GitHub Copilot β First-class integration with OAuth device flow authentication.
- Multiple Providers β OpenAI, Azure OpenAI, Google Gemini, Anthropic Claude, Cohere, and Ollama.
- Model Switching β Change models mid-conversation without losing context.
- Streaming Responses β Real-time token streaming with typewriter animation for a natural feel.
- File Operations β Read, write, create, search, and manage files on your local filesystem.
- Shell Commands β Execute terminal commands directly from agent conversations.
- Workspace Integration β Attach project folders with real-time file watching and fast ripgrep-powered search.
- Screenshot Capture β Multi-display screenshot with region selection, directly usable as chat input.
- Semantic Memory β Vector-embedding-based memory powered by SQLite + sqlite-vec, stored locally.
- Cross-Session Recall β Agents remember important facts, preferences, and context across conversations.
- Per-User Isolation β Each user profile has its own memory store.
- Optional Graph Memory β Neo4j integration for knowledge graph-based reasoning (advanced).
- Glass Morphism UI β Elegant dark theme with blur effects and smooth animations.
- Multi-Tab Chat β Work with multiple agents and conversations simultaneously.
- Voice Input β Speech-to-text powered by Whisper, running locally with GPU acceleration.
- Auto-Update β Seamless in-app updates via GitHub Releases or custom CDN.
- Multi-Brand Support β Customize app name, icons, and identity for white-label deployment.
- Node.js 18.0.0 or later
- Python 3.10 or later (for some MCP servers)
- GitHub Copilot subscription (primary AI provider)
-
Clone the repository
git clone https://github.com/microsoft/open-kosmos.git cd open-kosmos -
Configure environment variables
# Windows copy .env.example .env.local # macOS/Linux cp .env.example .env.local
-
Install dependencies
npm install
-
Rebuild native modules for Electron
npx electron-rebuild
Build tools required: Windows needs VS Build Tools, macOS needs
xcode-select --install, Linux needssudo apt install build-essential.
# One-command development mode (recommended)
npm run dev:full
# Or start components separately
npm run dev # Terminal 1: webpack-dev-server with HMR
npm run dev:main # Terminal 2: Main process watch mode
npm run electron:dev # Terminal 3: Launch ElectronProduction build:
npm run build && npm run electronOpenKosmos is built on Electron with a clean multi-process architecture:
src/
βββ main/ # Electron main process
β βββ lib/
β βββ auth/ # GitHub Copilot OAuth authentication
β βββ chat/ # Agent conversation engine
β βββ mcpRuntime/ # MCP server lifecycle & built-in tools
β βββ mem0/ # Long-term memory (vector + graph)
β βββ featureFlags/# Feature flag system
β βββ workspace/ # File tree & ripgrep search
β βββ userDataADO/ # Profile & data persistence
βββ renderer/ # React 18 + TailwindCSS UI
β βββ components/ # Chat, agents, settings, FRE
β βββ atom/ # Custom atom-based state management
β βββ lib/ # Frontend utilities
βββ shared/ # Type-safe IPC framework & constants
βββ brands/ # Multi-brand configuration
Key design principles:
- Type-safe IPC β Renderer β Main communication is fully typed at compile time.
- Lazy initialization β All heavy managers use lazy getters for fast startup.
- Non-fatal errors β Subsystem failures are logged, never crash the app.
- Per-profile isolation β Auth, data, memory, and skills are scoped per user.
For full architectural details, see CLAUDE.md.
We welcome contributions! Please open an issue or submit a pull request on GitHub.
git switch main && git pull
git checkout -b user/<your-alias>/<feature-name>
# Make changes, then submit PR# Development
npm run dev:full # Full dev mode with HMR
npm run build # Production build
# Testing & Quality
npm test # Jest unit tests
npm run test:e2e # Playwright E2E tests
npm run lint # Lint check
npm run lint:fix # Auto-fix
# Distribution
npm run dist # Build installer for current platform
npm run dist:win # Windows (NSIS + ZIP)
npm run dist:mac # macOS (DMG + ZIP)
npm run dist:linux # Linux (AppImage)This project is licensed under the MIT License.
For questions, bug reports, or feature requests, please open an issue on GitHub.
