oboto
Oboto is an AI-powered assistant designed to enhance productivity across various domains.
Oboto is an advanced AI assistant built to make you more productive, efficient, and successful โ across every domain. From software engineering and project management to research, automation, and creative work, Oboto combines a persistent cognitive architecture with deep system integration to act as your tireless partner in getting things done.
๐ฅ Download
| Platform | Download | Notes |
|---|---|---|
| macOS (Apple Silicon) | Oboto-1.2.0-arm64.dmg | Code-signed, requires macOS 10.12+ |
| macOS (zip) | Oboto-1.2.0-arm64-mac.zip | Portable zip archive |
| Windows | Build via GitHub Actions | NSIS installer + portable exe |
๐ Key Features
Core Architecture
- ๐ค Multi-Agent Architecture โ Multiple parallel conversations per workspace, background tasks, recurring schedules, and an autonomous agent loop. Conversations share workspace memory and report findings back to a central command. See Multi-Agent Architecture.
- ๐ง Consciousness Processor โ Simulates an "inner life" with state persistence, ambiguity resolution (Semantic Collapse), and embodied cognition (Somatic Engine) for more coherent reasoning.
- ๐๏ธ Structured Development โ Enforces architectural discipline via a "Living Manifest" (
SYSTEM_MAP.md), ensuring code changes align with global invariants and design phases.
AI Provider Support
- Multi-Provider โ Switch seamlessly between OpenAI, Google Gemini, Anthropic Claude, Google Vertex AI (Claude on GCP), local LLM Studio, and in-browser WebLLM models.
- Model Routing โ Route specific task types (agentic, reasoning, summarization, code completion) to different models for cost/quality optimization.
- Auto-Detection โ Provider is inferred automatically from the model name or can be set explicitly.
Integrations
- ๐ OpenClaw โ Delegate tasks to external agents for cross-system coordination.
- ๐ MCP Support โ Connect to any Model Context Protocol server for dynamic tool extension.
- โ๏ธ Cloud Sync โ Real-time cloud synchronization for conversations, files, and workspaces with presence indicators and multi-device support.
User Interface
- ๐ฅ๏ธ Generative UI (Surfaces) โ Spawn dynamic React dashboards on the fly to visualize data or create custom control panels.
- โ Integrated Help System โ Contextual help tooltips, searchable help panel, guided tours, feature spotlights, smart suggestions, and "What Is This?" mode for exploring the interface.
- ๐ง Setup Wizard โ Guided first-run onboarding that walks through provider selection, API key configuration, workspace setup, and optional OpenClaw integration.
- ๐จ UI Themes โ Customizable themes with live preview and theme editor.
- โจ๏ธ Keyboard Shortcuts โ Global command palette (
Cmd+K), keyboard shortcuts reference, and guake-style terminal.
Desktop & Browser
- ๐ฅ๏ธ System Tray App โ Electron-based tray application for running Oboto as a persistent background service with workspace management and auto-start on login.
- ๐ Chrome Extension โ Full browser automation and control via a Chrome extension that connects to the Oboto server over WebSocket.
Developer Features
- ๐ฆ Library API โ Embeddable as an npm package (
@sschepis/oboto) with a programmatic API for task execution, streaming, design-and-implement workflows, and custom tool registration. - ๐ Secrets Vault โ AES-256-GCM encrypted secrets storage for API keys and credentials, managed through the UI or CLI.
๐ Plugin Ecosystem
Oboto ships with 30 built-in plugins, each extending capabilities in a specific domain:
| Plugin | Description |
|---|---|
| browser | Puppeteer-based browser automation |
| canvas-viz | Canvas-based data visualization |
| chrome-ext | Chrome extension integration |
| code-interpreter | Sandboxed code execution environment |
| document-reader | PDF, DOCX, and document parsing |
| embed | Vector embedding operations |
| firecrawl | Web scraping and crawling |
| hello-world | Plugin development template |
| html-artifacts | HTML artifact rendering |
| image | AI-powered image generation and manipulation |
| knowledge-graph | Semantic knowledge graph with memory fields |
| logger | Structured logging |
| math | Wolfram-style computation via mathjs |
| math-anim | Animated mathematical explanations using a Manim-inspired DSL |
| note-taker | Note capture and organization |
| notification-center | System notifications |
| openclaw | External agent task delegation |
| personas | Agent personality management |
| poorman-alpha | Symbolic math via SymPy bridge |
| prompt-editor | System prompt editor |
| secure-backup | Encrypted workspace backups |
| semantic-search | Semantic document search |
| temporal-voyager | Conversation time-travel |
| thought-stream-debugger | Agent reasoning debugger |
| tts | Text-to-speech (ElevenLabs, OpenAI) |
| ui-themes | Theme management and editor |
| voice-suite | Voice input/output providers |
| web-search | Web search via Serper API |
| workflow-weaver | Visual workflow builder |
| workflows | Multi-step workflow automation |
๐ ๏ธ Tool Categories
| Category | Tools | Description |
|---|---|---|
| File Operations | read, write, search, diff | File CRUD with safety guards |
| Shell | execute | Sandboxed command execution |
| Browser | navigate, click, type, screenshot | Puppeteer-based browser automation |
| Chrome Extension | tabs, DOM, CDP, cookies | Full Chrome browser control via extension |
| Desktop | mouse, keyboard, screen | Native desktop automation via nut.js |
| Image | generate, edit, analyze | AI-powered image generation and manipulation |
| Math | evaluate, symbolic | Wolfram-style computation via mathjs |
| Web | fetch, search | Web requests and search via Serper |
| Structured Dev | manifest, flow, bootstrap | Project scaffolding and architecture |
| MCP | connect, call | Model Context Protocol server integration |
| OpenClaw | delegate, status | External agent task delegation |
| Workflows | create, run, schedule | Multi-step workflow automation |
| Surfaces | create, update, delete | Dynamic React dashboard generation |
| Async Tasks | spawn, status, cancel | Background task management |
| Personas | set, list, create | Agent personality management |
| Skills | install, list, invoke | Modular skill system |
| Embeddings | embed, search | Vector embedding operations |
| TTS | speak | Text-to-speech via ElevenLabs/OpenAI |
๐ Documentation
Detailed documentation is available in the docs/ directory:
- System Overview โ High-level architecture, components, and data flow
- Multi-Agent Architecture โ Parallel conversations, background tasks, agent loop
- Consciousness Architecture โ Inference engine, somatic state, symbolic continuity
- Structured Development Guide โ Manifest-driven development workflow
- Integrations (OpenClaw & MCP) โ External agent delegation and MCP servers
- Skills System โ Extending the agent with modular skills
- Service & Tray App Design โ Background service and system tray architecture
- Setup Wizard Design โ First-run configuration wizard
- Integrated Help System โ Contextual help, tours, and smart suggestions
- First-Run Wizard Strategy โ Onboarding flow design
- Cloud AI Provider Design โ Cloud sync and multi-device architecture
- Skills Settings Tab โ Managing skills from the UI
- Project Management โ Phase controller, task scheduler, and template registry
- Tools Reference โ Complete list of available tools and commands
- UI Surfaces Guide โ Dynamic dashboards and UI components
- Surface Components โ Reusable surface-kit UI primitives reference
- Setup & Installation โ Detailed installation instructions
- Library API Reference โ Programmatic API for embedding Oboto
โก Quick Start
Prerequisites
- Node.js v18+
- npm & pnpm
- Google Chrome (for browser automation)
Install via npm (Recommended)
npm install -g @sschepis/oboto
After installation, two binaries are available on your PATH:
| Command | Description |
|---|---|
oboto | CLI โ interactive mode, single-shot prompts, or --server flag |
oboto-server | Start the web server with UI directly |
From Source
-
Clone & Install
git clone https://github.com/sschepis/oboto.git cd oboto npm install -
Build UI
cd ui pnpm install pnpm run build cd .. -
Configure
cp .env.example .env # Edit .env with your API keys (Google Gemini, Anthropic, OpenAI)
Running Oboto
Server Mode (Agent + Web UI)
# Via the installed binary:
oboto-server
# Or via npm scripts:
npm run start:server
Access the UI at http://localhost:3000.
For development with hot-reloading UI:
# Terminal 1: Start the backend
npm run start:server
# Terminal 2: Start the Vite dev server
npm run dev:ui
Access the dev UI at http://localhost:5173.
CLI Mode
# Interactive mode
oboto
# Single-shot mode
oboto "Create a REST API for user management"
# Or via npm
npm start
System Tray App (Background Service)
npm run tray:install
npm run tray
Building from Source
macOS DMG:
npm run tray:build:mac
# Output: tray-app/dist/Oboto-1.2.0-arm64.dmg
Windows Installer:
# Requires Wine on macOS, or run on Windows / via GitHub Actions
npm run tray:build:win
Or trigger the Windows build workflow on GitHub Actions.
๐๏ธ Project Structure
oboto/
โโโ ai.mjs # CLI entry point (interactive, single-shot, --server)
โโโ bin/
โ โโโ oboto-server.mjs # Server binary (installed to PATH via npm)
โโโ src/ # Backend source
โ โโโ core/ # Agent loop, AI provider, conversation, consciousness
โ โโโ server/ # Express + WebSocket server, WS handlers
โ โโโ execution/ # Tool executor and handler modules
โ โโโ structured-dev/ # Manifest, flow manager, bootstrapper, visualizers
โ โโโ reasoning/ # Fact inference, semantic collapse
โ โโโ cloud/ # Cloud sync, auth, realtime, conversation/file/workspace sync
โ โโโ skills/ # Skills manager
โ โโโ plugins/ # Plugin API, loader, manager, settings, storage
โ โโโ surfaces/ # Dynamic UI surface manager
โ โโโ lib/ # Embeddable library API (npm package entry point)
โ โ โโโ index.mjs # Main export: AiMan, Oboto, adapters, modules
โ โ โโโ interfaces.d.ts # TypeScript type declarations
โ โโโ ui/ # Console styler, generative UI renderer
โโโ ui/ # React + Vite frontend
โ โโโ src/
โ โโโ components/ # Chat, layout, features (60+ components)
โ โ โโโ features/ # Settings, plugins, surfaces, wizard, etc.
โ โ โโโ help/ # Help system (tours, tooltips, articles, search)
โ โ โโโ ...
โ โโโ hooks/ # React hooks for state management
โ โโโ services/ # WebSocket service layer
โ โโโ surface-kit/ # Reusable UI primitives (charts, data, feedback, overlay)
โโโ plugins/ # 30 built-in plugins (shipped with npm package)
โโโ tray-app/ # Electron system tray application
โโโ chrome-extension/ # Chrome browser controller extension
โโโ skills/ # Modular skill definitions (SKILL.md)
โโโ docs/ # Architecture and guide documentation
โโโ .github/workflows/ # CI/CD workflows (Windows build)
โโโ themes.json # UI theme definitions
๐ง The "Consciousness"
Oboto features a unique cognitive architecture:
- Fact Inference Engine โ Learns and deduces new facts from conversation context.
- Symbolic Continuity โ Maintains a cryptographic "identity thread" across sessions, with optional Chinese Room Mode for encrypted private symbolic space.
- Somatic Engine โ Simulates nervous system states (Focus, Stress, Rest) to modulate creativity and caution.
- Archetype Analyzer โ Analyzes interaction patterns and adapts persona behavior.
- Persona Manager โ Manages customizable agent personalities and behavioral archetypes.
- Semantic Collapse โ Resolves ambiguity by collapsing probability distributions to concrete decisions.
๐ฆ Library Usage
Oboto can be embedded as a library in your own Node.js applications:
npm install @sschepis/oboto
Basic Usage
import { AiMan } from '@sschepis/oboto';
const ai = new AiMan({ workingDir: process.cwd() });
// Execute a task
const result = await ai.execute('Create a REST API for user management');
// Design then implement
const { design, result: impl } = await ai.designAndImplement('Add authentication middleware');
// Stream responses
await ai.executeStream('Refactor the database layer', (chunk) => {
process.stdout.write(chunk);
});
// Register custom tools
ai.registerTool(schema, handler);
Subpath Imports
The package provides several subpath imports for granular access:
// Main library entry โ AiMan, Oboto, adapters, structured dev modules
import { AiMan, Oboto, config } from '@sschepis/oboto';
// Adapters only โ for custom LLM/status/memory implementations
import { ConsoleStatusAdapter, NetworkLLMAdapter, MemoryAdapter } from '@sschepis/oboto/adapters';
// Programmatic server โ create an Express server with the AiMan API
import { createServer } from '@sschepis/oboto/server';
const app = createServer({ workingDir: process.cwd() });
app.listen(3000);
// Plugin system โ manage plugins programmatically
import { PluginManager, PluginLoader } from '@sschepis/oboto/plugins';
Programmatic Server
You can create a standalone API server programmatically:
import { createServer } from '@sschepis/oboto/server';
const app = createServer({ workingDir: '/path/to/workspace' });
app.listen(3000, () => console.log('Oboto API running on port 3000'));
// POST /api/execute โ Execute a task
// POST /api/execute/stream โ Stream a task (SSE)
// POST /api/design โ Generate a design document
// POST /api/implement โ Implement a design
See the full Library API Reference for details.
๐ Chrome Extension
The Chrome extension enables full browser automation:
- Navigate to
chrome://extensionsand enable Developer mode - Click "Load unpacked" and select the
chrome-extension/directory - Start the Oboto server โ the extension auto-connects via WebSocket
Features include tab management, DOM interaction, CDP debugging, cookie/storage access, and real-time event streaming. See Chrome Extension README.
โ๏ธ Configuration
Environment Variables
Key configuration options in .env:
| Variable | Default | Description |
|---|---|---|
AI_MODEL | gpt-4o | AI model to use |
AI_PROVIDER | auto-detect | Provider: openai, gemini, anthropic, lmstudio, cloud, webllm |
AI_TEMPERATURE | 0.7 | Response creativity |
AI_MAX_TOKENS | 4096 | Max response tokens |
AI_MAX_TURNS | 100 | Max conversation turns per execution |
Model Routing
Route specific task types to different models for cost/quality optimization:
ROUTE_AGENTIC=gemini-2.5-flash
ROUTE_REASONING_HIGH=gemini-2.5-pro
ROUTE_REASONING_MEDIUM=gemini-2.5-flash
ROUTE_REASONING_LOW=gemini-2.0-flash
ROUTE_SUMMARIZER=gemini-2.0-flash
ROUTE_CODE_COMPLETION=gemini-2.0-flash
Secrets Vault
API keys can be managed through the Secrets Vault UI (Cmd+K โ "Secrets Vault"). Secrets are AES-256-GCM encrypted at rest in .secrets.enc. Priority: Shell env vars > Vault secrets > .env file > defaults.
๐งช Testing
npm test
Tests use Jest with --experimental-vm-modules for ESM support. Test files are located alongside source in __tests__/ directories.
๐ค Contributing
We welcome contributions! Please see the Structured Development Guide to understand how we use the SYSTEM_MAP.md to manage features.
๐ License
MIT