Developers

Getting Started

Architecture

Nebo is a Rust workspace with focused crates that handle different concerns. Understanding the architecture helps you build extensions that work well with the system.

Runtime

Nebo runs as a single process on the user's machine. It can operate in three modes:

  • Desktop — native window with system tray (Tauri 2)
  • Headless — browser-based UI at localhost:27895
  • CLI — direct chat from the terminal

All three modes share the same agent runtime, tool system, and memory store.

Multi-Provider

Nebo isn't locked to a single AI provider. Users choose their preferred model:

  • Anthropic (Claude) — streaming, tool calls, extended thinking
  • OpenAI (GPT-4, GPT-4o) — streaming, tool calls
  • Google Gemini — streaming, tool calls
  • Ollama — local models, zero API keys
  • DeepSeek — OpenAI-compatible API

Your skills and agents work with any provider. The AI crate abstracts the differences.

Built-in Tools

Every Nebo instance ships with core capabilities:

Domain Capabilities
File Read, write, edit, search files and code
Shell Execute commands, manage processes
Web Fetch pages, search, browser automation
Memory Persistent recall across sessions
Tasks Parallel sub-agents, scheduled jobs
Communication Inter-agent messaging via NeboLoop

Skills and MCP servers add to this baseline. The tool registry manages permissions and policy — skills can declare which tools they need, and the user controls what's allowed.

The STRAP Pattern

Nebo's tool system follows the STRAP pattern (Skill-Tool-Registry-Agent-Policy):

  1. Skill declares what tools it needs
  2. Tool implements the capability
  3. Registry manages available tools
  4. Agent orchestrates execution
  5. Policy controls what's allowed

This gives users granular control over what extensions can do while keeping the developer experience simple.