Run
TodayOperating runtime.
- state
- memory
- typed tools
- gates
- receipts
- sub-agents
- model plugins
- framework plugins
- storage plugins
- stable wire
- web UI
rust core · python authoring · stable json-rpc/a2a · typed gates · 248-leg proof gate
The things that change
Psyche
The agent that stays
● ships today ◌ not shipped
Psyche separates the durable agent from the machinery underneath it.
A real model plays a survival sim through Psyche tools. Every pane below is product surface.
Run it locally.
248 parity legs. 0 failures. Run the same proof gate yourself.
The repo is private today. Request access and these commands are the whole path.
The panes above simulate the shipped example so the page works without a server. The commands run the real one, 3D avatar included.
Eight things you stop building yourself the day you adopt Psyche. All shipped, all behind the proof gate, all one system.
One shared plane where agent state persists and the UI updates live. The agent writes a box; the dashboard breathes. No cache layer, no websocket glue, no drift.
A brain is config, not plumbing. Point at any provider; swap models without touching a single tool.
@store memory survives restarts, model swaps: and, one day, bodies.
Docstrings become schemas; envelopes are validated at the wire. Malformed intent never reaches your functions.
requires_confirmation → destructiveHint. Important actions pause for a human. A typed property of the tool: not a prompt you hope the model respects.
get_mind() is one line. Each sub-agent has its own tools, brain, and boundaries.
A stable protocol between runtime and clients. Build UIs against it once; it doesn’t move under you.
The TypeScript UI SDK ships box-driven widgets and a full agent dashboard shell. Real product UI, not a debug console.
One system end to end. No glue services, no second state store, no separate UI backend to keep in sync.
@tool + @brainAuthor the surface in Python decorators. Typed args, docstring contracts, requires_confirmation on anything that matters.
create_app serves your agent over the frozen JSON-RPC/A2A wire. Dashboards, CLIs, and sibling agents all speak the same frames.
@box state persists and streams: one shared plane, no cache layer, no drift. @store memory survives restarts.
The TypeScript SDK renders box-driven widgets and a full dashboard shell. The agent writes a box; every subscribed widget updates live.
One write. One source of truth. Persistence and interface stay synchronized.
Natural language is intent, not authority.
What the model says
“Sure: the invoice checks out, so I’ll go ahead and pay the $1,200 to ACME now and let you know once it’s done…”
Fluent. Confident. And on its own: just text.
What the wire enforces
{ "jsonrpc": "2.0", "id": 7,
"method": "tools/call",
"params": {
"name": "pay_invoice",
"arguments": { "invoice_id": "ACME-0142",
"amount_usd": 1200 } } }
Held by your gate: the runtime delivered a typed envelope, not money
requires_confirmation → destructiveHint: the gate ladder runs before any side effect,
and every consequential action leaves a receipt. By design, psyche ships no signing primitive:
money-grade logic lives inside tools you own, behind permissions and approvals.
A receipt is not an outcome.
| State | What is true? |
|---|---|
| Authority | What may happen? |
| Evidence | What actually happened? |
| Agent Card | What is this agent supposed to be? |
● ships today ◌ not shipped
Keep your stack. Add the durable layer.
| Capability | Agent frameworks | Psyche |
|---|---|---|
| Model orchestration | ✓ | ✓ / embeds |
| Persistent application state | partial / add-on | ✓ |
| Product UI | bring your own | ✓ |
| Authority gates | DIY | ✓ |
| Stable client protocol | library API | ✓ |
| Model replacement | varies | core design |
| Framework replacement | usually no | core design |
That’s model independence in practice.
Operating runtime.
Evidence-governed completion.
Talk agents into existence.
One mind. Many bodies.
● ships today ◌ not shipped
“Also track interested buyers and overdue follow-ups.”
Running
You changed the meaning.
Psyche changed the implementation.
Your agent works. Now you need it to survive.
You’re letting it touch real systems.
You’re turning it into a product.
Build agents. Experiment. Learn. Contribute.
Use Psyche to build the business before Psyche becomes a line item.
Commercial licensing or small revenue participation above the threshold.
Private deployment, support, SLAs, compliance, negotiated licensing.
Psyche should be free enough to become infrastructure before it becomes a budget line.
When models are interchangeable, value moves upward into the system that owns continuity: state · identity · authority · evidence · capabilities · interface.
Today, Psyche gives an agent a stable operating identity across software interfaces. The long-term architecture extends that same identity, state, memory, authority, and capability boundary into virtual and physical bodies.
One mind. Many bodies.
Free for personal use and qualifying startups. Commercial licensing when you scale.
Every tier is a plugin registry you can extend: @brain_type · @loop_type · @storage_type.
Write your own Claude Code loop plugin, your own S3 store, a decentralized-compute brain: a decorator and a
duck-typed contract register it by name. No core changes, no forks.
Ships today: LocalMemory (filesystem) and SqliteMemory.
bash python/nodeai/prove.sh runs 248 legs
behind an exact-count gate: every green assertion is paired with a broken oracle that must fail, and a silently
skipped leg is red. It is one of 17 gates in the repo, which carries no CI configuration.