MySiri lives in your terminal and remembers across sessions. When it hits something it can't do, it writes a brand-new tool as real Python source, commits it to git, and uses it in the same turn — growing more capable every time you talk to it.
you › make yourself a tool that tells the weather, then the weather in Berlin → using tools: build a capability for current weather… ⚙ create_tool {name: get_weather} → ok │ written to tools/generated/get_weather.py, committed a1b2c3d ⚙ get_weather {city: "Berlin"} → ok mysiri › It's 18°C and clear in Berlin. I built a get_weather tool and committed it — next time I'll just call it.
Every turn runs a doctrine. If a capability is missing, MySiri doesn't refuse — it builds one.
Its memory and current tools — before relying on anything.
Read files, run commands, or search the web. Never guess.
Reuse a tool, or write a new one as committed Python.
One concise question when genuinely ambiguous.
Run it, check its own result, report briefly.
Shift+Tab cycles normal → network → coding. Network mode is locked to the security toolkit — recon, scans, and the interactive attack-plan — with no tool-writing.
[network] you › block the internet of 192.168.178.140 → network mode: only security tools, no tool-writing ⚠ bettercap is high-risk. Run it? y 🔑 sudo password (needed for root security tools): •••••• ⚙ bettercap {arp.spoof.ban: true, target: …140} → ok mysiri › 192.168.178.140 is ARP-banned on en0 — internet cut while active.
Writes, repairs, and removes its own tools as committed Python — usable the same turn.
Shift+Tab between normal, network, and coding — each reshapes what the agent is allowed to do.
net scans, port scans, recon, and the ported toolkit — bettercap, aircrack, ettercap, mitmproxy — behind a risk-gated, interactive attack-plan. Authorized own-network only.
Asks about your body — heart rate, sleep, recovery — pulled live from your wearable bracelet (Amazfit/Zepp + Oura) via biostream. Never guessed.
Point it at an API; vclient generates a typed client and MySiri scaffolds a permanent tool — key saved for you.
Coding mode hands the terminal to dogukan — a swarm of coding agents, each in its own git worktree.
Claude, OpenAI, or a local Ollama model — the agent loop is provider-agnostic.
Preferences, facts, and tool-reliability stats persist across every session.
Every action is in an append-only audit log; every self-change is a git commit you can /undo. Broken tools self-repair from their traceback.
MySiri stands on a few focused libraries — each does one thing well.
The multi-agent coding swarm that powers Coding mode — plan, parallelize across git worktrees, and talk to each agent live.
Collects live data from the wearable bracelet (Amazfit/Zepp over Bluetooth) and Oura Ring, and serves it over a local API — so MySiri answers body questions with real numbers.
Auto-discovers an API's schema and generates a type-safe client — the engine behind MySiri's on-demand API tools.
Python 3.12+. Installs the global mysiri command, then a guided first-run sets up your provider, tools, and keys.