For macOS and Linux, on arm64 and x86-64
Agents that wake when there's work.
tiny-bots runs AI agents on your own Mac or Linux machine. Each one sleeps until its schedule comes round or you ask, works with only the tools you granted it, and stops to ask you before anything risky.
- One binary, with its own database and app
- Your agents and their history stay with you
- Risky actions wait for your approval
Asleep until it's needed
An agent is one markdown file: instructions in plain words, settings at the top. tiny-bots keeps it asleep until there's something to do.
-
1 It wakes
When its schedule comes round, or when you run it from the app or the terminal. Its schedule is a timer, not a polling loop.
-
2 It works
With its own instructions and memory, and the model you chose. Connectors and tools it wasn't granted don't exist for it.
-
3 It asks
Every tool call passes a gate outside the model. Sending, paying and deleting wait for your approval.
One agent, one file
- Edit it by hand or in the app, or ask chat for a change and review the diff before it's saved.
- Switch it on or off with one flag.
- Its memory is plain text you can read and edit.
- A budget stops a run that goes on too long.
---
name: morning-brief
enabled: true
triggers:
- timer: "every weekday at 07:30"
cron: "30 7 * * 1-5"
connectors: [github]
budget:
max_steps: 40
max_minutes: 10
---
Every weekday morning, list the
issues assigned to me and flag the
ones that changed since yesterday.
Wakes today
- On a schedule
- When you ask
Coming next Not in a release yet
- Webhooks
- Feeds
- Streams
- File changes
Their event sources are built and tested; the daemon doesn't start them yet.
You stay in charge
Permissions live outside the model, so no prompt can talk its way past them.
-
A gate the model can't see
Each tool call is allowed, refused or held for you, by rules you own.
-
Approval before risky actions
Sending, paying and deleting stop and ask first. You see the exact request.
-
Access granted per agent
A connector an agent wasn't granted doesn't exist for it: no tools, no events.
-
Budgets that stop a run
Limits on steps, tokens and minutes. A run that hits one stops and says where.
-
A record of every run
Each event, model call, tool call and decision is kept, readable run by run.
-
Secrets kept out of files
Keys stay in the daemon's environment or owner-only storage, never in its settings.
Shell access is off unless an agent's file asks for it. Once granted it runs with your user's permissions, so it asks before each command unless you choose otherwise.
Runs where you put it
There's no tiny-bots cloud. Agents, their memory and their history stay on the machine you install it on. Model requests go to the provider you choose, or to a model of your own.
-
Your Mac
Run it while you work.
tb linkgives you a link that opens the app, already connected. -
A Linux server or VM
Leave it running. It answers only on the machine itself until you turn on remote access.
-
Your phone
Optional remote access joins your own Tailscale network, with no ports opened. Pair a phone once with a code from
tb pair.
Bring your own model
GitHub Copilot with a device sign-in, OpenAI, Anthropic, Gemini, AWS Bedrock, or any OpenAI-compatible endpoint, a model on your own machine included.
About app.aicrew.in
It's one hosted tiny-bots daemon, not a shared service. Opening it takes a code from tb pair on that machine, and it can't reach yours: your daemon serves its own app.
Manage it all from the browser
Every tiny-bots daemon serves its own app. Follow runs as they happen, approve or deny what waits on you, and set up agents, models, connectors and skills without editing a file.
- Create and edit agents in a form or as the file itself, checked before anything is saved.
- Sign in to GitHub Copilot and choose the model your agents use by default.
- Add a weather source or a remote MCP server that needs no sign-in, tested before it's saved.
- Ask chat for a connector. It shows you the checked source and installs only when you confirm.
- Grant each agent its connectors one by one. Installing one, from a form or from chat, grants nothing.
- Review a skill's exact files before you install it.
Connectors that need a sign-in or a token are still set up from the terminal.
Install on the machine that will run your agents
macOS or Linux, on Apple silicon or Intel, arm64 or x86-64. One binary and no runtime to install; a browser is fetched only when an agent first needs one and none is installed.
-
Install tb
curl -fsSL https://aicrew.in/install.sh | shPicks the build for this machine, checks its SHA-256 before installing, and puts
tbin~/.local/binwith no sudo. If that folder isn't on your PATH yet, it says so. Read the script first. -
Set up your home
tb initCreates
~/.tiny-bots, private to you, with an example agent that starts switched off. -
Choose a model
tb login copilot tb models copilot --selectSign in to GitHub Copilot with a code you enter on any device, then pick the model your agents use by default. Signing in alone doesn't move them to Copilot; choosing does. For OpenAI, Anthropic, Gemini, Bedrock or a model of your own, name it in that home's
config.tomland start the daemon with the provider's credentials in its environment. -
Start it
tb serveRuns in the foreground, so leave it running. Ctrl-C stops it gracefully.
-
Open the app
tb linkIn a second terminal. It prints a link to the app on this machine that carries your access key, so keep it to yourself. Then try the example with
tb on exampleandtb run example. Stuck?tb doctorsays what to fix.
Light enough to leave running
Limits the test suite holds every build to. A change that breaks one fails.
- Under 40 MBfor the whole binary, app and database included
- Under 75 MBof memory while idle; measured 37 MB with twenty agents switched on
- Under 1%of one core while idle; measured at most 0.1%
- Under 250 msfrom an event to its agent waking, at the 95th percentile; measured 1.0 ms
Measured on an Apple M3 Pro on 8 October 2026.