An open-source agent engine and terminal CLI
Two ways to run it: a terminal CLI and a native desktop app — on top of the same minimal, framework-free Python engine.
Provider routing · resumable sessions · MCP servers · plugins · computer use
Everything an agent needs. Nothing it doesn't.
phoson-engine-minimal is a lightweight Python runtime you can embed in your own product or drive from the CLI.
Framework-Free Core
A custom ReAct loop built directly on provider SDKs. No LangChain, no LangGraph — just a minimal runtime you fully own.
Multi-Provider LLM
OpenAI, Anthropic, Gemini, Mistral, AWS, Ollama and more — all behind a single typed chat contract.
Typed Event Stream
Token-level streaming events for every provider, so your UI always knows exactly what the model is doing.
Branchable Sessions
ConversationTree keeps non-linear history: rewind, branch and resume from any point — with auto-titled, resumable sessions.
Tools & MCP
Define tools with @tool and attach MCP servers — pooled sessions for low-latency calls and an interactive /mcp toggle.
Bundled Plugins
Twelve opt-in plugins — peers, SSH, memory, background jobs, monitors, checkpoints, OpenTelemetry and more — loaded by package name, path or instance.
Permissions & Guardrails
Intent-aware policies over filesystem, network and process spawn, with an audit log and an optional LLM guardian for ask-level calls.
Cost Tracking
Built-in pricing turns every run into a USD figure — and token meters stay accurate across model and provider switches.
Twelve plugins. One engine.
Every capability ships as an opt-in plugin — loaded by package name, path or instance, and wired into the same agent session.
Agents Swarm
multi-agentOne orchestrator dispatches to every member.
Peers
multi-agent--name makes a window a named agent; its final answer comes back automatically as the reply.
Computer use
desktopScreenshot → decide → input over the real desktop. X11, GNOME Wayland, Windows and macOS, with coordinates mapped back to native pixels.
Dictation
on-device› refactor the auth middleware and run the tests
on-device · 31 languages
Audio never leaves the machine — Moonshine runs locally and the transcript streams into the editable prompt.
Interactive questions
UXWhere should we deploy this service?
One to four questions in a single card — multi-select, an Other fallback, and a non-interactive host degrades gracefully.
MCP servers
MCPSTDIO, SSE and HTTP servers under one roof. Bare /mcp toggles a server or a single tool, and read-only annotations run freely.
SSH
remote$ ssh_exec deploy@prod "systemctl restart api"
✓ active (running) · 412 ms
Memory
semanticSemantic recall over a pluggable store — memories are embedded and retrieved by meaning.
Background jobs
asyncrun_bg_job
pytest -q · detached
Detached jobs keep running without blocking the turn — and re-activate the agent on completion.
Monitors
watchwatching build.log · fires on change
File, command and interval monitors wake the agent when they fire — the same wake channel as jobs.
Checkpoints
rewindSnapshot the session, then rewind or branch from any turn — the tree keeps non-linear history.
OpenTelemetry
observabilityEvery turn, tool call and permission decision becomes a span. Export them to any OTLP backend and trace the whole agent run.
Permission decisions ride along as phoson.permission spans when the plugin is enabled.
An LLM running in your browser
LFM2.5-230M by Liquid AI on WebGPU. Local chat, no backend, no API keys — nothing leaves your machine.
Open-sourcing the phoson-minimal-engine
We are releasing a minimal agent harness built from scratch on official AI provider SDKs. It stays intentionally small while exposing an extensible plugin system for tools, memory, and custom behaviors.
AI providers
Shipping in the open
New bundled plugins, a faster CLI and a better terminal experience — released continuously. Here is what landed most recently.
Subscription providers: ChatGPT Plus/Pro and Google Code Assist
Sign in with a subscription instead of an API key — ChatGPT through the Codex backend and Google Code Assist through OAuth, with the login shared with the desktop app.
Mid-turn durability: a hard kill can no longer lose a turn
Sessions are persisted while a turn runs — before the first LLM call and after every finished step — instead of only at the end.
Alibaba prompt caching and Windows process safety
Explicit prompt caching lands for Alibaba Model Studio (Qwen), cached-token costs are corrected, and process probing on Windows can no longer hit a recycled pid.
Notes from the frontier
We write openly about what we're learning — architectures, tradeoffs, open questions.
Put an agent runtime in your terminal
Install the CLI in one line, bring your own provider keys, and start building on the engine today. MIT licensed, forever.
MIT license · Python 3.12+ · One-line install