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.

Engine

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.

Engine

Framework-Free Core

A custom ReAct loop built directly on provider SDKs. No LangChain, no LangGraph — just a minimal runtime you fully own.

LLM

Multi-Provider LLM

OpenAI, Anthropic, Gemini, Mistral, AWS, Ollama and more — all behind a single typed chat contract.

Runtime

Typed Event Stream

Token-level streaming events for every provider, so your UI always knows exactly what the model is doing.

Sessions

Branchable Sessions

ConversationTree keeps non-linear history: rewind, branch and resume from any point — with auto-titled, resumable sessions.

Plugins

Tools & MCP

Define tools with @tool and attach MCP servers — pooled sessions for low-latency calls and an interactive /mcp toggle.

Extensions

Bundled Plugins

Twelve opt-in plugins — peers, SSH, memory, background jobs, monitors, checkpoints, OpenTelemetry and more — loaded by package name, path or instance.

Safety

Permissions & Guardrails

Intent-aware policies over filesystem, network and process spawn, with an audit log and an optional LLM guardian for ask-level calls.

Ops

Cost Tracking

Built-in pricing turns every run into a USD figure — and token meters stay accurate across model and provider switches.

Bundled plugins

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-agent

One orchestrator dispatches to every member.

per-member tools_allowlistshared blackboardtoken capsgraceful stop
orchestrator
Researcher
Coder
Reviewer
Tester
Writer

Peers

multi-agent
alice
planner
bob
coder
peer_askpeer_sendpeer_list/tell

--name makes a window a named agent; its final answer comes back automatically as the reply.

Computer use

desktop
app — runningREC
capture · 1440×900model 1280×720
1842, 963

Screenshot → 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

Ctrl+O push-to-talkstreams into the prompt

on-device · 31 languages

ENESFRDEITPTJAKOZHARHI+20

Audio never leaves the machine — Moonshine runs locally and the transcript streams into the editable prompt.

Interactive questions

UX
deployment target1 / 1

Where should we deploy this service?

1Vercel— edge, zero config
2Docker— any host, full control
3Fly.io— regions + volumes
0Other…

One to four questions in a single card — multi-select, an Other fallback, and a non-interactive host degrades gracefully.

MCP servers

MCP
4filesystem
9playwright
3postgres
12devtools
phoson-cli

STDIO, 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

phoson-cliprod
ssh_execssh_copy_*key auth · known_hosts

Memory

semantic
recall

Semantic recall over a pluggable store — memories are embedded and retrieved by meaning.

semanticqdrantredispostgresauto-recall

Background jobs

async

run_bg_job

pytest -q · detached

wake · job finished · 3 passed

Detached jobs keep running without blocking the turn — and re-activate the agent on completion.

Monitors

watch

watching build.log · fires on change

File, command and interval monitors wake the agent when they fire — the same wake channel as jobs.

Checkpoints

rewind
/rewind · /branch

Snapshot the session, then rewind or branch from any turn — the tree keeps non-linear history.

OpenTelemetry

observability

Every turn, tool call and permission decision becomes a span. Export them to any OTLP backend and trace the whole agent run.

phoson.turnphoson.llmphoson.toolphoson.permission
turn
llm.chat · gemini
tool.exec · bash
phoson.permission
tool.exec · read_file

Permission decisions ride along as phoson.permission spans when the plugin is enabled.

Playground

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.

Launch playground
Open Source

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.

Minimal agent harnessExtensible pluginsOfficial SDK core

AI providers

OpenAIAnthropicOpenRouterGoogleAlibaba (DashScope)OllamaLM StudiovLLM
engine.py
Open Source

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

Bring your own keys
No telemetry
Extensible plugins