For the people who ship software

Put AI agents in your product. Not your customers in someone else's cloud.

Your customers are asking for AI, and the obvious answer is one you would rather not give: open an account with a provider, route their data through it, and bill on top of tokens whose price you do not set. Apollia OS is the other road. It is a runtime, meaning the program that runs agents and hands them tools, and it installs on your customer's machine like any other piece of your product.

You embed it, you redistribute it, you charge for it. The licence says so in writing.

0.2.0-preview · MIT or Apache 2.0 · No server between you and your customers

Licence
MIT or Apache 2.0, whichever you take
Redistribution
Allowed, inside a closed product too
Execution
On your customer's machine, with nothing in between
Interface
Local HTTP API, described in OpenAPI
Python kit
No third-party dependency
Systems
macOS, Windows, Linux
BEFORE YOU READ A LINE OF CODE

Four questions decide it, and they always come in this order.

A software vendor does not size up a runtime the way a curious developer does. You look first at what you are allowed to do, then at what could move under your feet, then at what you will have to maintain, and last at who picks up the phone the day a customer calls.

The rest of the page answers, in the same order.

  1. Does the licence let me redistribute?

    What the licence lets you do
  2. Is the interface stable?

    What you can build on
  3. What ships, and on what?

    Exactly what you are embedding
  4. And when it breaks in production?

    Who you are writing to
THREE WAYS TO PLUG IN

Depending on what you are building, the integration comes in through a different door.

The three coexist and combine. None of them asks you to write Rust, and none of them assumes you have read the code.

The Apollia runtime on your customer’s machine
The front door, the one the app and the terminal go through as well. An OpenAPI specification generated from the code, two derived clients, TypeScript and Python.

Three ways in, one runtime: the local API the app and the terminal also use, the Python kit to write your agents, and the MCP protocol so your product becomes a tool of the agent. They coexist and combine.

HTTP · 127.0.0.1

The local API

This is the front door, and it is not a service entrance: the desktop app and the command line go through exactly the same one. What your product drives is therefore the whole runtime, not a subset granted to integrators.

When to pick itYour product is not written in Python, or already runs as a service.

from apollia import agent

The Python kit

An agent is an ordinary class: one decorator above it, one async method inside it, nothing to inherit. The kit installs no third-party library, which means it shows up neither in your dependency tree nor in your licence review, and at a software company that is rarely a small matter.

When to pick itThe logic you want to automate is already in Python, or is about to be.

mcp:your-product/…

Your product, seen as a tool

MCP is an open protocol through which a piece of software declares what it can do, in a format a model knows how to read. Publish an MCP server for your product and an Apollia agent uses it like any other client of the protocol. You write the integration once, not once per AI vendor.

When to pick itYou want to be drivable by AI without depending on which client someone picked.

The three surfaces of the runtime, in detail What an agent can act on

WHAT YOU ARE ALLOWED TO DO

MIT or Apache 2.0. You pick, not me.

Yes, and commercially. MIT or Apache 2.0, you take whichever one clears your legal review, and the product you put it inside can stay closed.

What it lets you do

  • Ship Apollia OS inside a commercial product, and sell that product.
  • Keep the source of that product closed. Neither licence reaches into what you write around it.
  • Modify the runtime, and keep your modifications to yourself.
  • Install it at as many customers as you like, with no royalty, no seat count, and no key to ask for.
  • Use it internally or ship it to customers, including customers who will never hear the name Apollia.

What it asks of you

  • Keep the licence and copyright notice in what you distribute. That is the one obligation the two share.
  • Under Apache 2.0, state which files you changed. In exchange, it carries an explicit patent grant.
  • Do not use the Apollia name or logo to sell yours: the licence covers the code, not the brand.

Why two licences rather than one.

MIT fits on a page and goes through anywhere. Apache 2.0 runs longer because it settles something MIT leaves open: the grant of the patents that cover the code. Publishing both keeps me out of an arbitration that is not mine to make.

WHAT CAN MOVE, AND WHAT WILL NOT

It is a preview, and there is a fixed point inside it all the same.

The published version is 0.2.0-preview, and I am not going to sell it to you as a 1.0. What makes it workable: the API specification is generated from the code, and the version you ship moves only when you move it. Three anchors, and all three can be checked.

The interface carries its version number in its address.

A breaking change arrives under a new prefix, never as a silent mutation of the one already in place.

The specification is produced by the code, not kept beside it.

An interface change therefore shows up in a diff, line by line, instead of being announced once and then forgotten.

You are the one who decides when the version changes.

The runtime runs on your customer's machine, embedded in your product. Nothing updates under your feet.

And here is what is not written yet.

The changelog announces semantic versioning. What it does not say yet is which surface exactly that versioning covers, what the 0.x line allows itself, and what a deprecation notice would look like. I would rather tell you that than promise you a policy 0.1.0 would not keep.

Until it is written, the instruction fits on one line, and it is the one I would follow in your place: pin the version you ship. If you are building on a surface other than the HTTP interface, write to me first: I will tell you what I intend to move.

WHAT GOES INTO YOUR PRODUCT

A daemon, two processes it watches, and nothing else to administer.

A vendor needs to know what is being added to the installer before knowing what it can do. Here is the list, unwrapped, for macOS Apple Silicon · Windows x86_64 · Linux x86_64.

The daemon
The program that holds everything, and the HTTP interface your product is going to call.
Two supervised processes
The llama-server inference engine, which runs the model, and the dictation sidecar.
Three surfaces
A desktop app, a command line, and the HTTP interface. All three open onto the same engine.
The Python kit
What you need to write agents, with no third-party dependency to install. You take it from the repository, and it fits in one folder.
No model
No model is bundled. Your customer chooses one on first launch and downloads it.

And supported by whom, since that is the real question.

Apollia OS is built by one person. What holds the quality up is therefore not a review committee, it is a chain of automated checks that lives in the repository, runs on every contribution, and that you can read before you take my word for anything.

All three systems are shippable. Two of them go through that chain on every contribution; Windows is built and published without that step.

What runs, piece by piece Exactly what the preview covers

THE DAY YOUR CUSTOMER CALLS

You write to somebody, and you know who.

Better said in the first sentence than in a footnote: Apollia OS is built by one person. So I sell no on-call rota, no contractual response time and no standby team, and I am not going to pretend otherwise on a page whose job is to convince you.

What makes that bearable is the shape of the product, and it is not a consolation prize. There is no remote service that can fall over underneath yours: what you ship runs on your customer's machine, without going through infrastructure I operate, because there is none. An outage on my side has no route to your users.

Looking instead for an agent designed around your line of work and built for you? That is a different need, and it has its own page. Have an agent built to order

  • A defect, a technical question The public repository

    Something written there is readable by everyone, and the answer serves whoever comes next.

  • An integration, a project, a doubt before you commit contact@apollia.fr

    Say what you are embedding, on which platform, and what is in the way.

  • A vulnerability The private channel of the repository

    The disclosure procedure is written in the repository and states its timelines.

WHAT I GET ASKED NEXT

Six questions that turn up just before the decision.

They come back in almost this order, and the answers are the ones I give across a table.

Take it, open it, and tell me what is missing.

The licence does not ask you to let me know, and the preview installs without you ever talking to me. But if you are seriously considering embedding it, a conversation up front will save you weeks: I know where things are going to move, and you know the constraint your own product is under.

0.2.0-preview · MIT or Apache 2.0 · macOS, Windows, Linux

Exactly what the preview covers