localDefault
An OpenAI-compatible server on your own machine: Ollama, LM Studio, llama.cpp. With nothing configured at all, this is what you get.
- Keys
- none
- Account
- none
- Leaves device
- no
A companion, built from India
A companion that talks you through something new, one step at a time, out loud, at whatever pace you want. It runs on your own machine by default.
runs on your machine by default · no account needed
Someone who cannot see a progress bar still needs to know how much is left. Someone who can see one is not harmed by hearing it. So every step announces its own position, and if you say “slower”, it starts again from where you are, not from the top.
Where you are
Still step 1 of 4.
The position is said out loud, every time. Someone who cannot see a progress bar still needs to know how much is left.
I just installed the train app. Help me book a ticket to Madurai.
Step 1 of 4. Tap the search box at the top. It says “Where to?”. Type Madurai.
Slower.
Still step 1 of 4. Of course. Look at the top of the screen. There is a wide box with “Where to?” in it. Tap once inside it, then type Madurai.
What Saathi understands is whatever the model behind it understands. Point it at Sarvam AI and you get models built for Indian languages; point it at something running on your own machine and you get whatever that model knows. Saathi does not translate. It carries your choice through.
Scripts, not a support matrix. Coverage is the model’s, and Saathi says which one it is using.
Three modes, and the default is the one that needs nothing from anybody. There is no silent fallback: if a local model is not reachable, Saathi says so rather than quietly sending your words somewhere else. Both clients have tests pinning that.
An OpenAI-compatible server on your own machine: Ollama, LM Studio, llama.cpp. With nothing configured at all, this is what you get.
OpenAI, Anthropic, or Sarvam AI. The key sits in ~/.saathi/shell.json on your machine and the request goes straight to that provider. Saathi’s servers are not in the path.
For people who would rather not run or configure anything. It runs the same open-source code, with accounts switched on by configuration rather than by a private fork.
Built in the open, in the order it is being built. Nothing here is a promise about next month. It is what the repository says today.
Hosted is a convenience, not the only option. The backend that holds provider keys is the same code you can run yourself, on your own box, with your own accounts switched on or off. How to self-host.
Running it yourself is the point, not a consolation prize. With nothing configured at all, it talks to a model on your own machine and nothing leaves it.
Needs a Swift toolchain (Xcode command line tools).
git clone https://github.com/saathihq/saathi.gitcd saathi/macos/Saathiswift build./.build/debug/saathi provider./.build/debug/saathi demoThere is no signed macOS build yet. These commands are what a download would give you, and they work today.
Needs .NET 8.
git clone https://github.com/saathihq/saathi.gitcd saathi/windowsdotnet run --project src/Saathi.Cli -- providerdotnet run --project src/Saathi.Cli -- demoThere is no signed Windows build yet. These commands are what a download would give you, and they work today.
Say what you are trying to do. It says where you are, every step, at whatever pace you want.