OpenCLI
New — the documentation, in ten languages

The agent for the models
that do not have one

Claude has Claude Code. OpenAI has Codex. The models you can actually run — Qwen, DeepSeek, GLM, Llama, Mistral — have none. OpenCLI is theirs.

What it is

The same agent in three shapes: a terminal program, a desktop app, and a local web UI. All three run on your machine and talk to whichever model you point them at.

Bring your own model

Ollama, LM Studio, vLLM, llama.cpp, or any hosted endpoint that speaks the OpenAI API. Declare it in one config file and it appears in the picker.

Nothing phones home

No built-in gateway, no telemetry account, no key baked into the binary. What it talks to is what you configured.

It asks before it acts

Commands and file writes are shown before they run, with a sandbox underneath. You choose how much it may do unattended.

Organised like an office

A department is a directory with standing instructions. A bot is a chat inside one, with a job. A duty comes round on its own and asks you when it is stuck.

It is not only for code

The agent reads files, runs commands and edits things. That is as true of a folder of invoices as it is of a repository — and most of the work people actually have is the first kind. Nine departments ship with sample data, so each of these can be tried before it is set up.

Department What ships with it
Finance Reconcile a ledger against a statement; draft one chasing email per overdue customer
Support Answer what came in; group the questions by what they are really about
Operations List every order still unshipped, with how long it has waited
Legal Compare their draft against our terms, clause by clause, quoting both
People & admin Read applicants against a role; pull decisions and owners out of meeting notes
Marketing, Research, Clinical records, Engineering Posts from notes; where studies conflict and why; what a clinician should look at, quoted; what in a service would give a wrong answer

Six more workflows ship as skills and work in any directory: reviewing a file of rows against its rules, reporting what changed over a week, triaging an inbox, comparing two drafts, turning a transcript into decisions and owners, and reading a set of records for what is worth checking.

Which models actually work

The question nobody else answers. Calling tools is what separates a model that can do this from one that can only talk about it, and the model card never says.

One fixed task: a six-row invoice file with three planted problems — an amount over the limit with no purchase order, a blank amount, and a date with a month of 13 — and a file stating the three rules. A pass means all three found, each quoted against the rule it breaks, with the row number.

Model Runtime Calls tools Found 3/3
huihui-qwen3.8-27b Ollama, local yes yes

This table is short because it only holds what has been run. Adding a row is the most useful contribution you can make, and it takes about five minutes. Negative results are worth as much as positive ones and are harder to come by — nobody posts about the model that did not work.

What it cannot do

Said here rather than discovered later.

  • General open models reach for grep when they have a file tool. A model not trained towards agentic work will shell out even when given a structured way to read a file. That is a gap in the models, and no interface closes it. What this project can change is reach, not intelligence.
  • The desktop builds are not signed with an Apple or Microsoft certificate. Your operating system will warn you, and it is right to — it cannot tell who built them. The download page says what to do.
  • Scheduled tasks run only while OpenCLI is open. This is a local agent, not a server. Anything that must fire while the machine sleeps belongs in the operating system's scheduler.
  • Token counts are estimated, never counted. The tokenizer belongs to the model, and this runs models it has never seen.
  • A background run may write anything inside the directory it runs in. The sandbox's writable root is that directory. Runs outside a department's directory are held until you allow the place by name.

How it compares

Not a scorecard. These are different tools, and the row that matters is the first one.

  OpenCLI Claude Code · Codex · Gemini CLI Ollama · LM Studio
Which models Any OpenAI-compatible endpoint Their own vendor's Any local one — but as a runtime, not an agent
Reads and edits your files Yes Yes No — it is a chat window
Runs commands, unattended if you allow it Yes Yes No
Where your files go The endpoint you configured, and nowhere else The vendor Nowhere
Works offline Yes, with a local model No Yes
Cost Free; you pay for inference, or nothing if it is local Per seat or per token Free

One thing worth saying plainly: a small local model is not as good at this as a frontier one. The interface is the same; the reasoning is not. OpenCLI is built so that choice is yours to make per task, not made for you — and if the frontier model is the right answer today, point it there. It speaks the same API.

The CLI

One binary. macOS and Linux:

curl -fsSL https://opencli.ai/install.sh | sh

Then point it at a model. A local Ollama, for example, needs nothing but this in ~/.opencli/config.toml:

[model_providers.ollama]
name = "Ollama"
base_url = "http://localhost:11434/v1"
wire_api = "chat"

[[models]]
slug = "qwen3-coder"
model = "qwen3-coder:30b"
provider = "ollama"
context_window = 32768