Local mode
Run workflows on your own computer with the tutti command. No server, database or account, and nothing leaves your machine except what your steps send.
Edit this page on GitHubInstall
One package with no dependencies. It needs Node 18 or later.
$ npm i -g @darkmatter-ai/tutti$ tutti use local # local becomes the default on this machine$ tutti use # shows which mode you are in
tutti use remote switches back. Add --local or --remote to run a single command the other way.
Run a workflow
A workflow is the same JSON the app uses: its steps and the lines between them. Run it from a path, or save it in ~/.agents/workflows and run it by id.
$ tutti run ./morning-leads.json --trust execution id exec_3kq9 workflow name Morning leads status success duration 4612$ tutti executions list # recent runs on this machine$ tutti executions get exec_3kq9 # each step, and what it gave back
--trust answers yes; tutti trust forget takes it back.Keep secrets
Steps ask for credentials by name, such as GITHUB_TOKEN. Local mode looks in your environment first, then in its own store.
$ tutti secrets set GITHUB_TOKEN # asks for the value$ tutti secrets list # names only, never values
The store is a file only you can read. Set AGENTS_SECRET_PASSPHRASE to encrypt it as well.
Run it on a schedule
Schedules use launchd on macOS and cron on Linux, so they run while your computer is awake.
$ tutti schedule install ./morning-leads.json --cron "0 8 * * 1-5" --timezone Europe/Lisbon$ tutti schedule list$ tutti schedule remove <id> # the id that list shows
Start runs over HTTP
tutti serve listens on your machine. A POST to /<workflow id> runs that workflow with the body as its input.
$ tutti serve --port 8787$ curl -X POST localhost:8787/morning-leads -d '{"source": "website"}'
To listen beyond this machine, set a token with --token or AGENTS_SERVE_TOKEN. Requests then need it as a bearer token.
AI steps use your own AI
An AI step hands its prompt to the Claude Code command on your machine. Set AGENTS_AI_CLI=codex to use Codex instead. You stay signed in to those as usual; Tutti holds no AI key.
What it doesn't do yet
Local mode runs workflows. For the rest, self-host the app or use the hosted one.