The desktop assistant that installs these apps for you, and fixes them when they break
AI: publik API or your key
Prices are for one typical use: one request of about 1,500 words sent and 375 words back. A higher quality score is better.
Iris has no option to run its AI on your computer.
| Model | Quality | Per 1,000 uses |
|---|---|---|
| On your computer (Ollama, 4-bit download size) | ||
| Granite 4.2 3B2.2 GB | 9 | $0 |
| Phi-4 Mini2.5 GB | 6 | $0 |
| Llama 3.1 8B4.9 GB | 7 | $0 |
| gpt-oss 20B14 GB | 9 | $0 |
| Gemma 4 31B20 GB | 19* | $0 |
| Qwen3.5 35B-A3B24 GB | 19* | $0 |
| publik API | ||
| publik-fastGLM-5.3 Flash | 42 | $1.00 |
| publik-balancedMiMo-V2.6-Pro · Iris | 46 | $10.00 |
| publik-smartGPT-6 Sol | 48 | $18.00 |
Quality: Artificial Analysis Intelligence Index v4.3.2, read 2026-09-22 (publik API models 2026-09-25); * = estimated by Artificial Analysis. Sizes: the Ollama library, read 2026-09-22.
The publik desktop assistant. Split out of Blueturboguy07/publik
on 2026-08-25, with the history of every file that came along.
publik keeps the server half — /api/iris/guides, /api/iris/apps,
/api/iris/recipes, /api/assistant/chat and the rest. Those routes are the
contract, and they are the only thing the clients here genuinely share.
| what it is | state | |
|---|---|---|
iris-macos/ | Swift, ~47k lines. The eye, the input bar, install guides, guide autopilot, maintain mode, the on-demand edit loop. | active — where the work happens |
iris-windows/ | Electron + TypeScript, ~18k lines. A behavioural reimplementation of the parts of the above that have been ported. | behind — last commit 2026-08-19 |
iris-desktop/ | Tauri, ~3.5k lines. A guide viewer: show a guide, open a link, check a tool version. This is the original Orbit app, renamed to Iris in July 2026. | frozen since 2026-08-10, and superseded |
They share no code. Not a file, not a symlink, not a generated artifact.
iris-windows is a reimplementation of iris-macos in a different language,
and iris-desktop predates both. Everything iris-desktop can do is a strict
subset of what the other two can do.
iris-desktop is still hereIt is not needed as an app, and it should go. Three things have to move first:
.github/workflows/iris-release.yml still ships it. The build-macos
job runs cd iris-desktop and uploads the result under the artifact name
iris-macos; build-windows does the same. The Swift app builds a side
artifact that is never attached to a release, and the Electron app is not in
that workflow at all. Repoint those two jobs before deleting anything.
It holds the widest copy of the guide host allowlist.
fn allowed_external_host in src-tauri/src/main.rs lists 29 hosts;
publik's lib/iris-allowed-hosts.ts, ExternalLinkPolicy.swift and
external-links.ts list 22. The seven extra — fal.ai, nasm.us,
chromewebstore.google.com, docs.google.com, blueturboguy07.github.io
and two www. forms — were added on 2026-08-10 for the Halation, Nutcracker
and Dripwriter Origin guides and never propagated. publik's guide test
validated published links against this list, so four live guide steps
pass CI and cannot be opened by any shipping client. publik's TypeScript
constant is canonical now; that divergence is a real bug, not a merge
artifact.
iris-windows/src/renderer/guide/ is a copy of iris-desktop/ui/.
styles.css is byte-identical; app.js differs by 35 lines. Un-copy it or
accept that deleting iris-desktop orphans the original.
Also worth knowing: iris-desktop and iris-macos both declare the bundle
identifier com.publikhq.iris, both build an Iris.app, and both register the
iris:// scheme. They cannot be installed on the same Mac.
macOS, the Swift app — this is the one to use locally. It signs with a real Developer ID rather than ad-hoc, which is the difference between granting Accessibility once and granting it after every single build:
scripts/deploy-iris-local.sh
Never run xcodebuild against the Swift app from a terminal without that
script's signing step; see iris-macos/AGENTS.md.
Windows, the Electron app:
cd iris-windows && pnpm install && pnpm dev
Release builds go through .github/workflows/iris-release.yml (macOS + Tauri
today) and iris-windows.yml (Electron).
Nothing tells you when the clients diverge. Across the entire history of the
original repository, no commit ever touched both iris-macos and
iris-windows — 123 commits to one, 54 to the other, intersection zero.
Parity holds exactly where macOS stopped moving and nowhere else: crash and
hang detection match constant for constant, while the Tier-C edit loop caps at
500 steps on macOS and 12 on Windows, and the on-demand edit coordinator,
feature engine and watch loop have no Windows counterpart at all.
tests/ at this root exists for cross-client checks. There is one so far.