Ask for a picture in the chat.
There is no image mode. Say what you want and it arrives under your message. Say "make it warmer" and a better one follows. Make it on your device, or with your own key.
Poiesis runs on your computer. It remembers what it learns about you, repairs what breaks, and shows you every change it makes to itself. You decide what it may change.
Most assistants forget you when the chat ends, and nobody repairs them but their makers. Poiesis does the work of staying useful. It writes down what it learns. It reads back over its own mistakes. It notices when a part is broken and works around it. And it never does any of this in the dark.
It keeps facts about you, and lessons from its own mistakes, as plain files on your disk.
When a chat ends it reads it back. A lesson is kept only if it is worth keeping, and a second check gates it.
A file it cannot read is set aside, not deleted. A tool that keeps failing is noted, and it plans around it.
Each change to itself is tested against fixed rules. A change that makes it worse is put back, and you are told.
Poiesis (ποίησις) is the act of bringing something into being that was not there before. It is the root of the word “poetry”. In Plato’s Symposium it is the cause that makes anything pass from non-being into being, and Heidegger later used it for a bringing-forth that reveals something rather than merely producing it. The app is named for both halves: it makes things with you, and it keeps making itself.
Autopoiesis is a word from the biologists Maturana and Varela. It describes a system that keeps producing the parts it is made of. A living cell is the usual example.
Poiesis applies that idea to a desktop agent. It maintains its own memory, instructions and procedures. You are the boundary that decides what may change. Say it: poy-EE-sis.
Everything the agent keeps lives as plain markdown in your app data folder. No database stands between you and it. Open a file in any editor and change it. Delete a file and the agent forgets that thing.
A self-improving agent is only safe if you can see it and stop it. When it writes to its own memory, a quiet notice appears at that moment, with an Undo. It is never a log you have to go and find.
For each kind of change you choose how much freedom it gets. Pick a level on the right and see what happens when the agent learns something.
Two things keep a self-changing agent honest: a way to repair damage, and a way to catch itself getting worse.
lessons/old-note.mdI could not read this file. I moved it aside instead of deleting it.
Each change to its own way of working is tested against a small set of fixed behaviours before it stays. If the change breaks one, it is reverted and you are told. The same check runs on the way in, so a risky line can never become a saved memory.
For a big job the agent writes a plan first, then ticks it off. For a wide job it hands parts to other agents that run at the same time. Each one is a real run in its own chat, so you can open it, read it live, tell it something, or stop it.
Claude Code, Codex and OpenCode are good at big jobs in a project. If you have one installed, Poiesis can give it a task and keep the conversation, your memory and the last word. It appears in the same Agents list as the helpers Poiesis starts itself, so you can open it, read it live, answer its questions and stop it.
Ask for something in an app that is not connected yet and a card appears in the chat. You sign in, and it carries on. Connections run through your own Composio account, with your own key, so there is no Poiesis server in between.
Most of what an agent should ask before acting is small: does this message need the web, is this what you asked for, did it really run the tests. A small model on your machine answers those in a fraction of a second, so the large one does not have to. It is off until you switch it on in Settings, Experiments.
It holds back tools a message clearly does not need. The model can ask for one back, and so can you.
A call that looks irreversible, or not what you asked for, gets a question of its own. It only ever adds caution.
Each sentence is checked against what the run actually read or did. “I ran the tests” is flagged if no step did.
Ask one question about 500 files or tickets and get a table with a confidence for every row.
The small model runs on your computer. You can choose a cloud one instead; it only uses providers that keep nothing, and background questions stay on your machine unless you opt one in. It starts out careful and learns how sure it can be from what you actually do, never from asking a model whether it was right.
Chat with models that run on your own machine. Add your own key for OpenAI, OpenRouter or Anthropic if you want a hosted model in the same picker. The two are marked, so you always know where a reply came from.
Anything that leaves your device or runs code starts off.
Your query leaves the device, so it asks to be switched on.
Runs Python or Node in a sandbox with time and memory limits.
Connects to your account directly. Sending always asks first.
Uses your installed Chrome or Edge in its own profile. A new site asks first.
A screenshot, or opening an app by name. Both ask first.
Runs your build and tests in the project folder, with caps on time and memory.
Needs your Composio key. Reads run; a change asks; a send asks every time.
Poiesis only suggests one, and you confirm. It never gets your keys.
An experiment. The cloud version is yours to choose, and keeps nothing.
Your cloud keys live in Windows Credential Manager, the macOS Keychain or the Linux Secret Service. They are never in a file or in your chats.
Web pages, mail and fetched files are marked as coming from outside. Text like that can never become a saved memory.
You choose which folders it may see. Anything that destroys bytes is saved first and can be restored.
Ask for a picture, hand it a procedure, connect another app. It builds what the job needs.
There is no image mode. Say what you want and it arrives under your message. Say "make it warmer" and a better one follows. Make it on your device, or with your own key.
--- name: weekly-report description: Build the weekly report from the project folder --- 1. Read notes/ for this week. 2. Group items by client.
A skill is a folder with a SKILL.md file, in the open Agent Skills format. A skill from another agent works here unchanged. The agent sees one line until it needs the rest.
command npx -y @modelcontextprotocol/ server-filesystem ~/notes or paste a link https://example.com/mcp
Connect any Model Context Protocol server, remote or local, and its tools join the toolbox behind the same read, change and send checks. Tokens are kept in your system's credential store.
Speak, and it answers out loud. Cut in whenever you like. Hearing and speaking run on your own machine, with no cloud model.
/plan read, change nothing /goal keep going until true /rewind go back, keep files /btw ask on the side
The / menu beside the plus runs about 45 commands: branch, rewind, set a goal, hand off a job, connect an app. The agent can offer one when it would help, and you decide.
A new version is ready
Install now, or later?
Nothing installs
until you say so.
Installed copies check for new releases themselves and always ask before installing one. Your data and memory carry over.
In a project with a folder, Poiesis can run your build and tests and show you a patch of its own edits. The patch is built from the agent's own undo snapshots, not from git diff, so your uncommitted work is never shown as the agent's.
Every build comes from the same release. Installed copies check for new versions themselves and always ask before installing one.
Windows 10 or 11, 64-bit.
The installer isn't code-signed yet, so Windows may say "Windows protected your PC". Choose More info, then Run anyway.
Apple Silicon (M1 or newer). Intel Macs aren't supported.
It isn't notarised by Apple. The first time, open it from System Settings, Privacy & Security, Open Anyway. Updates after that need nothing extra.
Older versions and every file are on the releases page.
A few commands, on any of the three.
$ git clone https://github.com/schuettla/poiesis.git $ cd poiesis $ npm install $ npm run tauri dev
| System | Windows 10 or 11, macOS on Apple Silicon, or Linux with glibc 2.39 or newer. |
| Graphics card | Optional. It picks CUDA, Vulkan, ROCm, SYCL, Metal or CPU for you. |
| No CUDA toolkit | Engines are downloaded prebuilt. Nothing is compiled on your side. |
| Make an installer | npm run tauri build |