BIGONE
How it works

Where a command goes, and when you are asked

In BigOne the intelligence runs in one process, in your own Windows session. The clients are only interfaces. This page follows a command through that process, and shows the layers and the ports it opens on your PC.

01 · A command's journey

Rules first, then the model, and you before any change

A command's journey The command goes from the client to the API and on to the brain. If the fast path matches, the skill runs directly. If not, the language model calls a tool; a call that changes something is first shown to the user as a preview, and after approval the target is recomputed, the skill runs and an undo record is written. The reply and the audit record go back to the client. fast path matched · no model no match · LLM loop, at most 8 rounds You Client desktop · CLI API FastAPI Brain Agent Fast path FastPath LLM LLMRouter Skill runner + guard Windows command (text or voice) POST /v1/command · Bearer event → Agent.handle FastPath.match skill + parameters L0/L1: run system + memory + tools tool call origin=model risk L2 → needs approval approval needed (L2): preview Approve target recomputed run + undo record reply · audit_log reply
04A command from the client to Windows. The amber box is where the model calls a tool and work that changes something waits for approval.

Fast path

  • The command is normalized: a leading "BigOne," and trailing punctuation are dropped, it is lowercased with Turkish rules, and the suffix after an apostrophe falls away ("Chrome'u" → chrome).
  • The regular expressions in the skills' manifests are tried in order: built-in skills first, then lower priority values. Named groups become parameters.
  • The skill's can_handle() method has the last word: does the folder exist, is the address valid, is the app installed.
  • Commands typed without Turkish letters are recognized too ("indirilenleri ac").

LLM loop

  • System prompt order: constitution (fixed rules) → persona → the user's extra rules → tool rules → the 3 memories closest in meaning, plus observation notes.
  • Skills are given to the model as tools; the loop runs at most 8 rounds. If a provider fails, the next one takes over, even mid-loop: messages use provider-neutral types.
  • On a tool call that changes something, the skill is first previewed with dry_run, an approval record is written and the loop stops there; the remaining tool calls do not run.
  • After approval the target is recomputed. If it changed in the meantime, nothing runs (target_changed).
  • If the model says it did something it didn't, that is caught: it is warned first; if it does it again you are told "nothing changed" and it goes into the audit log.
02 · Layers

Each layer only uses the one below

The import direction between core packages is fixed by rule: the LLM package, for example, never imports the brain package. So when the model provider, speech recognition or storage changes, the layers above stay the same.

Layered architecture Five layers: clients; the API and authentication with FastAPI; mind, brain, fast path and approval manager; LLM router, skill manager, memory and permission guard; at the bottom Ollama, cloud APIs, SQLite, the Windows API and Credential Manager. Each layer only uses the one below. Client Desktop Tauri 2 · Svelte Android Kotlin · Compose Command line bigone Voice mic · speaker Interface API Gateway FastAPI · REST + WebSocket Authentication local token · device token Application Mind event queue Brain Agent loop Fast path rule matcher Approval manager preview · timeout Domain LLM router order · failover Skill manager three sources · priority Memory embeddings · notes Permission guard risk · protected areas Infrastructure Ollama :11434 Cloud APIs optional SQLite bigone.db Windows API files · processes Cred. Manager keys
05Layered architecture. Amber: where you are asked and permissions are checked.
03 · Processes and ports

What runs on your PC, which ports it opens

By default the API listens on 127.0.0.1 only; it is not reachable from the network. The phone port opens only when you start pairing ("Add phone"), stays open while a phone is paired, and requires TLS and a device token. It closes 12 seconds after the last phone is removed.

Processes, ports and data The desktop app connects to the bigone-core process on 127.0.0.1:8765 with a token. The core hosts the API, the phone port (from pairing on, 8766, TLS), the mind and voice; it reaches Ollama on 11434, runs generated-skill tests in a separate sandbox process, keeps its data under %LOCALAPPDATA%\BigOne and its keys in Windows Credential Manager. PC · USER SESSION bigone-desktop.exe Tauri 2 · system tray bigone (CLI) in-process if no server Credential Manager BigOne/<provider> bigone-core.exe bigone serve · Python 3.12 API 127.0.0.1:8765 Phone port :8766 · TLS Mind + hand 2 workers Voice Whisper · Piper HTTP + Bearer · WS /v1/events the token never reaches the web UI no LAN without --unsafe-lan Ollama 127.0.0.1:11434 bigone-sandbox.exe generated-skill tests %LOCALAPPDATA%\BigOne config.toml · data\bigone.db logs · skills · models Android phone same Wi-Fi · opens with pairing TLS · pin
06Processes, ports and data. The sandbox process only runs the tests of skills BigOne wrote.
AddressWhatWhen
127.0.0.1:8765BigOne API · REST + WebSocket /v1/eventsalways, this PC only
0.0.0.0:8766Phone port · TLSfrom pairing on, while a phone is paired
127.0.0.1:11434Ollama · local modelif Ollama is installed
04 · Where data lives

All of it in your own user folder

PathContents
%LOCALAPPDATA%\Programs\BigOneProgram (no admin rights needed)
%LOCALAPPDATA%\BigOne\config.tomlSettings
%LOCALAPPDATA%\BigOne\data\bigone.dbOne SQLite file: chat, memory, approvals, audit log, tasks
%LOCALAPPDATA%\BigOne\skills\Skills written by you and by BigOne (generated, versioned with git)
%LOCALAPPDATA%\BigOne\models\Voice models
%LOCALAPPDATA%\BigOne\data\tls\Self-signed certificate for the phone (EC P-256)
Windows Credential ManagerAPI keys, as BigOne/<provider>; never in files, logs or the database

The BIGONE_HOME environment variable moves the root folder. Before opening the database, BigOne writes a probe file: if the write lands in an MSIX package's hidden copy, it refuses to start and says why.