Documentation

OttO Desktop

The OttO desktop app a visual interface to your local knowledge graph.

Introduction

OttO is a local-first knowledge graph assistant. It lets you store any piece of information notes, articles, research and automatically links related ideas into a semantic graph you can explore and query.

Your data never leaves your machine. The graph lives in a local vector database powered by OttO Core. AI features work with local models via Ollama, or cloud providers like OpenAI and Groq.

OttO Desktop requires OttO Core to be running. Install OttO Core first if you haven't already.

Getting Started

Download OttO Desktop from the download page and install it for your platform. After launching, the app connects to OttO Core automatically on port 47821.

On first launch you will be prompted to choose an LLM provider. You can change this later from Settings.

Requirements

  • macOS 13 or later (Windows / Linux support coming soon)
  • OttO Core installed and running
  • Ollama (optional, for local AI)
  • OpenAI or Groq API key (optional, for cloud AI)

Projects

OttO supports multiple projects. Each project has its own isolated knowledge graph — nodes, connections, and chat history are completely separate between projects.

On first launch you will be taken to the project selection screen. Click a project to enter it, or create a new one by entering a name and pressing Create.

Once inside the app, click the project name in the top-left corner of the sidebar to open the project manager. From there you can:

  • Create new projects
  • Switch to a different project
  • Rename an existing project
  • Delete a project (the active project cannot be deleted)
If you had data before projects were introduced, OttO automatically migrates it into a project named Default on the first launch.

Adding Knowledge

Click Add Node in the sidebar or use the keyboard shortcut ⌘N. Paste or type any text a paragraph, an article, a thought. OttO will:

  1. Split your text into meaningful chunks
  2. Generate vector embeddings for each chunk
  3. Store them in the local vector database
  4. Link semantically similar nodes automatically
There is no limit on how much you can add. The graph grows with you.

Via the API

You can also add knowledge programmatically through the REST API:

POST http://localhost:47821/api/knowledge
Content-Type: application/json

{
  "text": "The mitochondria is the powerhouse of the cell."
}

AI Agent

The OttO agent lets you have a conversation with your knowledge graph. Ask a question and it will:

  1. Search your graph for relevant nodes
  2. Inject them as context into the LLM prompt
  3. Return a grounded answer that cites your own notes

Open the chat panel with ⌘K and start typing. The agent automatically pulls relevant context from the graph without you needing to specify it.

The more knowledge you add, the better the agent gets — it only knows what you have told it.

Conversation History

The agent remembers the current conversation session — each message is not sent as a fresh chat. Up to the last 12 messages (within a 16,000-character budget) are included with every request so the model can answer follow-up questions in context.

Conversation history is scoped to the active project. Switching projects or starting a new session clears the context sent to the model.

Images

You can attach images to any message. Up to 3 images per message are supported. Attach them in any of these ways:

  • Click the paperclip button in the input bar
  • Paste with ⌘V / Ctrl+V
  • Drag and drop an image onto the input area

Images are automatically downscaled before being sent to reduce token usage. Thumbnails appear above the message text in the chat.

Combine images with @node_id mentions to give the model both visual context and the relevant node text at the same time.

Web Search

Toggle web search using the globe button in the input bar. The button label shows Search on or Search off so the current state is always visible.

Web search is only available when using OpenAI or Groq as the text provider. The toggle is disabled when Ollama is selected. When the toggle is off, no search tools are sent to the model regardless of provider.

When a search is performed, the agent feed shows a performed N web searches entry so you can see when external results were used.

LLM Providers

OttO supports three LLM providers. Switch between them in Settings → Provider.

Ollama (local)

Run models entirely on your machine with no data leaving your device.

# Install Ollama, then pull a model
ollama pull llama3.2

OttO will auto-detect Ollama running on localhost:11434.

Web search is not available with Ollama — switch to OpenAI or Groq to enable it.

OpenAI

Use GPT-4o, GPT-4o mini, or any OpenAI-compatible model. Enter your API key in Settings.

OPENAI_API_KEY=sk-...

Groq

Ultra-fast inference for open models (Llama, Mixtral). Get a free API key at console.groq.com.

GROQ_API_KEY=gsk_...
Pressing Apply also syncs your provider keys to OttO Core, so a paired phone can use the agent without the keys ever leaving your computer.

Mobile Pairing

Pair the OttO Mobile app to access your queue, graph, and agent from your phone. Open Settings → Connections and find the Mobile Pairing card. It shows:

  • A QR code — scan it with the OttO Mobile pairing screen to connect in one step
  • The address the phone will connect to; if your computer has multiple network interfaces, pick the one your phone can reach
  • The pairing token — click to select and copy it for manual pairing without a camera

Both devices must be on the same local network. All traffic goes directly from the phone to your computer — nothing passes through the cloud.

If the card says pairing info could not be loaded, make sure OttO Core v0.2.0 or later is running.
OttO Desktop