got tentacles?

Self-hosted AI agent platform built on top of pi-coding-agent. Run agents on your server with multi-user Linux isolation. Web UI for chat, files, terminal, and memory. Bring any LLM provider including local ones.

git clone https://github.com/byteowlz/oqto.git && cd oqto && ./setup.sh

Still cooking, not all features available

My dear friend, it's 2026, the year of the Linux Desktop. Let's stop using shitty software. Go check out omarchy or similar awesome flavors of Linux.

or
DISCLAIMER: oqto is in early, active development. expect bugs and unfinished features. llm-based agents are still susceptible to prompt injection and data exfiltration (see the lethal trifecta). use sandboxing and scoped permissions and avoid giving agents unrestricted access to sensitive data. oqto is built around the concept of scoped workdirs/agents. an agent sorting your emails probably does not need access to your home assistant and vice versa. general agents are very convenient but deliberate friction is still the better approach for now.

architecture

oqto architecture

how it works

browser connects to oqto over a multiplexed websocket. oqto routes commands to per-user runners, which spawn pi agents inside sandboxed workspaces. hstry stores chat history, mmry provides semantic memory, trx tracks tasks, and eavs proxies all llm provider requests.

  • frontend speaks a canonical protocol
  • oqto never spawns agents directly
  • runner owns process isolation and sandboxes
  • services are per-user in multi-user mode
built with pi

features

Chat + Canvas

Streaming responses with tool calls, file refs, and multimodal input. Create, edit, and explore with structured context.

Terminal + Files

Full terminal emulation via webghostty and a syntax-highlighted file browser. Agents can run commands and edit files safely.

Memory

Semantic search across artifacts and notes via mmry. Chat history search is coming soon.

Multi-User

Per-user Linux isolation with dedicated uids and namespace sandboxing. Keeps workspaces and secrets separated.

octo-browser

Server-side browser agents can control and stream a real browser. Users can take over when needed.

Sandbox

Layered policy system: global rules + per-workspace overrides. Workspaces can only tighten, never relax.