{"id":"15f83f13-889e-4185-a3f3-6b0d44662121","slug":"onicode","kind":"mcp","name":"Onicode","summary":"AI-powered workspace — chat, create, build. 80+ tools, browser agent, multi-agent orchestration. Open source.","owner":"msichalwe","repoUrl":"https://github.com/msichalwe/Onicode","license":"MIT","licenseTier":"permissive","trust":"community","stars":1,"match":null,"fewStars":true,"format":"mcp","createdAt":"2026-03-09T10:43:52.000Z","addedAt":"2026-10-21T08:28:59.848Z","logoUrl":"https://avatars.githubusercontent.com/u/54593802?v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["browser-web","communication"],"tags":["ai","ai-agent","browser-automation","chatgpt","claude","desktop-app","developer-tools","electron"],"runtime":"binary","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-23T03:22:03.910Z","sample":false,"url":"https://conduits.dev/tools/onicode","language":"JavaScript","transports":["stdio"],"install":{},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"<p align=\"center\">\n  <h1 align=\"center\">Onicode</h1>\n  <p align=\"center\">\n    <strong>AI-powered workspace — chat, create, build.</strong>\n  </p>\n  <p align=\"center\">\n    <a href=\"https://github.com/msichalwe/Onicode/releases\">Download</a> ·\n    <a href=\"http://187.124.115.69/docs.html\">Docs</a> ·\n    <a href=\"https://github.com/msichalwe/Onicode/issues\">Issues</a> ·\n    <a href=\"CONTRIBUTING.md\">Contributing</a>\n  </p>\n  <p align=\"center\">\n    <img src=\"https://img.shields.io/badge/platform-macOS-lightgrey?style=flat-square\" alt=\"macOS\" />\n    <img src=\"https://img.shields.io/badge/electron-34-blue?style=flat-square\" alt=\"Electron 34\" />\n    <img src=\"https://img.shields.io/badge/react-19-61dafb?style=flat-square\" alt=\"React 19\" />\n    <img src=\"https://img.shields.io/badge/license-MIT-green?style=flat-square\" alt=\"MIT License\" />\n    <img src=\"https://img.shields.io/badge/AI%20tools-80%2B-purple?style=flat-square\" alt=\"80+ AI Tools\" />\n  </p>\n</p>\n\n---\n\nOnicode is an open-source Electron desktop app that combines a conversational AI assistant with 80+ built-in tools, browser automation, multi-agent orchestration, and a full project management system. It's designed for everyone — developers, writers, researchers, students, and professionals.\n\n## Features\n\n### Three Modes\n\n| Mode | Purpose |\n|------|---------|\n| **Chat** | General AI assistant. Research, brainstorm, write, automate — ask anything. |\n| **Workpal** | Productivity partner. Documents, emails, spreadsheets, file management. |\n| **Projects** | Software engineering. Create projects, write code, test, deploy, manage tasks. |\n\n### AI Providers\n\n| Provider | Models | Auth |\n|----------|--------|------|\n| **OpenAI** | GPT-5.x, GPT-4.1, o3, o4 | ChatGPT OAuth or API key |\n| **Anthropic** | Claude Opus, Sonnet, Haiku | API key |\n| **Ollama** | Llama, Mistral, CodeLlama, etc. | Local (no key) |\n\n### 80+ AI Tools\n\n<details>\n<summary>Click to expand full tool list</summary>\n\n| Category | Tools | Count |\n|----------|-------|-------|\n| **File Operations** | `read_file`, `edit_file`, `create_file`, `delete_file`, `multi_edit`, `smart_read` | 6 |\n| **Search** | `search_files`, `glob_files`, `find_symbol`, `find_references`, `list_symbols`, `semantic_search`, `batch_search`, `find_implementation` | 8 |\n| **Terminal** | `run_command`, `check_terminal`, `list_terminals` | 3 |\n| **Git** | `git_status`, `git_commit`, `git_push`, `git_pull`, `git_diff`, `git_log`, `git_branches`, `git_checkout`, `git_merge`, `git_stash`, `git_tag`, `git_show`, `git_remotes`, `gh_cli` + 9 more | 23 |\n| **Browser Agent** | `browser_agent_run`, `browser_navigate`, `browser_click`, `browser_type`, `browser_get_elements`, `browser_fill_form`, `browser_extract_table`, `browser_scroll`, `browser_tab_*`, `browser_status` | 21 |\n| **Tasks** | `task_add`, `task_update`, `task_list`, `milestone_create` | 4 |\n| **Memory** | `memory_save_fact`, `memory_search`, `memory_smart_search`, `memory_get_related`, `memory_hot_list` | 6 |\n| **Credentials** | `credential_save`, `credential_search`, `credential_use`, `credential_get`, `credential_list`, `credential_delete` | 6 |\n| **Context** | `explore_codebase`, `get_context_summary`, `get_dependency_graph`, `get_smart_context` | 4 |\n| **Workflows** | `create_workflow`, `run_workflow`, `create_schedule`, `set_timer`, `show_widget` | 5 |\n| **Orchestration** | `spawn_sub_agent`, `orchestrate`, `spawn_specialist` | 3 |\n| **Self-Management** | `get_platform_info`, `update_config`, `self_diagnose` | 3 |\n| **MCP** | Dynamic tools from connected servers | ∞ |\n\n</details>\n\n### Browser Agent\n\nAutonomous Chrome automation powered by AI. The agent navigates websites, fills forms, clicks buttons, extracts data, and handles multi-step web workflows.\n\n- Opens a real Chrome window (you can watch it work)\n- Multi-tab support with per-agent isolation\n- Smart page analysis with valid CSS selectors\n- Cookie/session persistence across runs\n- Parallel agents each get their own tab\n\n### Multi-Agent Orchestration\n\nSpawn specialist sub-agents that work in parallel:\n\n| Role | Capabilities | Max Rounds |\n|------|-------------|------------|\n| **Researcher** | Read-only exploration, web search, code analysis | 15 |\n| **Implementer** | Create and modify files within assigned scope | 25 |\n| **Reviewer** | Code quality, bug detection, suggestions | 10 |\n| **Tester** | Write tests, browser verification, QA | 15 |\n| **Planner** | Architecture analysis, task planning | 10 |\n| **Browser Agent** | Autonomous web browsing and data extraction | 30 |\n\n### More Features\n\n- **12 Themes** — Sand, Midnight, Obsidian, Ocean, Aurora, Monokai, Rosé Pine, Nord, Catppuccin, Dark, Light, Neutral\n- **Credential Vault** — AES-256-GCM encrypted storage with OS Keychain integration\n- **Workflows & Scheduler** — 7 step types, cron scheduling, concurrent execution\n- **MCP Protocol** — 55+ server catalog, one-click install, dynamic tool injection\n- **Memory System** — SQLite-backed with LLM extraction, deduplication, hotness scoring\n- **Hooks** — 19 hook types for tool lifecycle, git events, and custom automation\n- **38 Widget Types** — Interactive visualizations, data tables, charts, artifacts\n- **Slash Commands** — 20+ built-in + custom commands from `.onicode/commands/*.md`\n\n## Quick Start\n\n### Prerequisites\n\n- **Node.js 20+**\n- **macOS** (Windows/Linux coming soon)\n\n### Install & Run\n\n```bash\ngit clone https://github.com/msichalwe/Onicode.git\ncd Onicode\nnpm install\nnpm run dev\n```\n\nThis starts the Vite dev server and Electron concurrently. The app opens automatically.\n\n### Build for Production\n\n```bash\nnpm run build        # Compile TypeScript + bundle React\nnpm run start        # Run production build\nnpm run package      # Create distributable (.dmg/.app)\n```\n\n### First Launch\n\nThe onboarding wizard guides you through:\n\n1. **Use case selection** — What you'll use Onicode for (coding, writing, research, etc.)\n2. **Theme** — Pick from 12 visual themes\n3. **Profile** — Your name and AI personality preference\n4. **Account** — Create your Oni account for settings sync\n5. **AI Provider** — Connect OpenAI, Anthropic, or Ollama\n\n## Architecture\n\n```\nsrc/\n  main/                    # Electron main process (CommonJS .js)\n    index.js               # App entry, BrowserWindow, AI streaming, routing\n    browser.js             # Chrome/Puppeteer automation (dual-mode)\n    browserAgent.js        # Autonomous browser agent loop\n    orchestrator.js        # Multi-agent parallel execution\n    tools/\n      definitions.js       # 80+ AI tool schemas (OpenAI format)\n      executor.js          # Tool execution dispatch + sub-agent system\n    storage.js             # SQLite persistence (conversations, tasks, sessions)\n    memory.js              # Persistent memory with LLM extraction\n    compactor.js           # Model-aware context compaction\n    vault.js               # AES-256-GCM credential encryption\n    workflows.js           # Multi-step automation engine\n    scheduler.js           # Cron-based task scheduler\n    keystore.js            # API key vault + OS Keychain\n    mcp.js                 # MCP client (stdio JSON-RPC 2.0)\n    preload.js             # contextBridge → window.onicode API\n    ...                    # 10+ more modules\n\n  chat/                    # React 19 renderer (TypeScript .tsx)\n    App.tsx                # Root component, mode switching, search\n    components/\n      ChatView/            # Main chat UI, streaming, tool steps\n      SettingsPanel/       # Settings tabs (Profile, Appearance, Providers, etc.)\n      Sidebar.tsx          # Navigation, recent chats\n      OnboardingDialog.tsx # Multi-step onboarding wizard\n      ...                  # 15+ more components\n    styles/                # CSS custom properties, 12 themes\n    hooks/                 # useTheme\n    ai/                    # System prompt builder\n```\n\n### Tech Stack\n\n| Layer | Technology |\n|-------|-----------|\n| Desktop | Electron 34 |\n| UI | React 19 + TypeScript + Vite 6 |\n| Styling | CSS custom properties (no framework) |\n| State | React useState + localStorage |\n| IPC | Electron contextBridge |\n| Database | SQLite (via better-sqlite3) |\n| AI | OpenAI, Anthropic, Ollama APIs |\n| Browser | Puppeteer + Chrome DevTools Protocol |\n| Encryption | AES-256-GCM + PBKDF2 + OS Keychain |\n\n## Configuration\n\nAll user data lives in `~/.onicode/`:\n\n```\n~/.onicode/\n  onicode.db           # SQLite (conversations, tasks, sessions, memories)\n  providers.json       # AI provider config (backup)\n  hooks.json           # Global hooks config\n  mcp.json             # MCP server connections\n  vault.enc            # Encrypted credential vault\n  keystore.enc         # Encrypted API key store\n  chrome-profile/      # Browser agent Chrome profile\n  screenshots/         # Browser agent screenshots\n  downloads/           # Browser agent downloads\n  logs/                # Daily JSONL log files\n  memory/              # Legacy markdown memories\n```\n\n## Contributing\n\nWe welcome contributions! See [CONTRIBUTING.md](CONTRIBUTING.md) for:\n\n- Development setup and coding conventions\n- Branch strategy and PR guidelines\n- Areas to contribute (good first issues → advanced)\n\n## Roadmap\n\n- [x] AI chat with streaming (5 providers)\n- [x] 80+ AI tools with permission enforcement\n- [x] Browser agent (Chrome automation)\n- [x] Multi-agent orchestration\n- [x] Workflow engine + scheduler\n- [x] MCP protocol + 55-server catalog\n- [x] Credential vault (AES-256)\n- [x] Memory system with LLM extraction\n- [x] 12 themes with animated transitions\n- [x] Onboarding wizard with account creation\n- [ ] Editor Shell (VS Code workbench, lazy-loaded)\n- [ ] Auto-updater (electron-updater)\n- [ ] Windows + Linux support\n- [ ] Mobile companion (React Native)\n- [ ] Knowledge graph memory (entity/relation)\n\n## Links\n\n- **Website**: [onicode.dev](http://187.124.115.69)\n- **Documentation**: [Docs](http://187.124.115.69/docs.html)\n- **Issues**: [GitHub Issues](https://github.com/msichalwe/Onicode/issues)\n- **Changelog**: [CHANGELOG.md](CHANGELOG.md)\n\n## License\n\n[MIT](LICENSE) — Mwansa Sichalwe, 2026\n"}