Pistis

The open-source software factory.

Self-hostable cloud agents for teams.

Hand off coding tasks from the browser, Slack or your terminal. Agents work on your servers and send back pull requests your team reviews.

npm create pistis my-serverThen cd my-server and npx pistis dev. Needs Docker and a model provider key.

A Pistis session on acme/api: the fix to src/retry.ts, the tests passing (42 passing), and above the message box one question, Open a pull request on acme/api?, with Deny and Approve
A real session: the fix is in, the tests pass, and the pull request waits for a yes.

For the whole team, around the clock.

An agent on someone’s laptop helps one person, one task at a time, and stops when they log off. On your server, everyone hands off work, many tasks run at once, and they carry on overnight. Try it on your laptop first; the same setup moves to a server unchanged.

Your laptop
Docker and a model provider key, such as Anthropic’s or OpenAI’s.
npx pistis dev
One server
HTTPS, sign-in, Postgres and two Pistis servers that cover for each other.
docker compose up
Any cloud
A Helm chart for any Kubernetes, with locked-down sandbox pods.
helm install
Your machines
Send sessions to VMs and build hosts you already run.
pistisd join

Ask from wherever you are.

Start a task from the browser, a Slack thread, your terminal or the API, or put it on a schedule. Anyone on the team can follow along, step by step, and pick up where someone else left off.

Your team stays in charge.

Risky steps wait for a yes

Mark what counts as risky, like a push or a deploy, and the agent stops there until someone approves, from the browser, Slack or a phone. When you trust a task, let it run on its own in Auto mode, if your admin allows it. Every step is still recorded, with who let it run.

Every change is a pull request

With what changed and why. It goes through your checks and your review like anyone else’s, so nothing reaches your main branch on its own.

If a sandbox dies, the work doesn’t.

Each task runs in a disposable sandbox. If one is lost halfway, a fresh one starts with the files restored and carries on. A step that might have half-run, like a migration, is never quietly run again: the agent checks first.

One change, every repository.

Bump a library or fix a pattern across all your repositories in one go: each gets its own agent, its own sandbox and its own pull request. Or describe a routine in chat and save it to run on a schedule.

Your code and keys stay with you.

A vendor’s cloud agent needs your code and your credentials on their machines. Pistis runs where you choose, with any model. The agent’s memory, your tokens and the record of every step stay on your server; the sandbox that runs the code holds no keys.

Your server Pististhe agent and the modelthe conversationGitHub tokens, API keysa record of every step Meeting pointpasses messagesreads none of them AI-written code runs here Sandboxruns commands, edits filesyour repository's filesno keys, no open portsnetwork: only what you allowif it dies, a new one gets your files back calls dials out Your server Pististhe agent and the modelthe conversationGitHub tokens, API keysa record of every step Meeting pointpasses messages calls AI-written code runs here Sandboxruns commands, edits filesyour repository's filesno keys, no open portsnetwork: only what you allowif it dies, a new onegets your files back dials out
Both sides connect out; nothing connects into the sandbox. Read the security model.

Open source, all of it.

Apache-2.0, with every security feature included. Start on your laptop in five minutes, and move to a server when the team joins.