Skip to content

Repository files navigation

smista.ai

smista.ai logo

license-mit license-elastic repo-stars latest-version conventional-commits

ci coverage docs

A local-first agent and CLI that routes each phase of an AI workflow to the most suitable model using deterministic, configurable policies.

Overview

In 2026 most developers no longer use a single model or a single provider. Switching between CLIs, web apps and providers — copying context around and remembering which model to use for each task — is slow and error-prone.

smista.ai keeps one coherent workflow while letting different models handle different phases. Its main differentiator is deterministic multi-model routing: routing never depends on an LLM's judgment, and every decision is explainable through a trace.

It is not a clone of Claude Code or Codex. It provides the core primitives of a modern coding/text agent — prompt templates, plan mode, skills, tool permissions, context management, diff and review, traceability — on top of deterministic routing.

Install

Install the latest release with the install script (macOS and Linux):

curl -sSLf https://smista.ai/install/install.sh | sh

On Windows (PowerShell):

irm https://smista.ai/install/install.ps1 | iex

With Homebrew:

brew install smista-ai/smista/smista

With Cargo:

cargo install smista --locked

The install scripts pick the right binary for your platform, verify its checksum and use Homebrew when it is available. To install a specific version, pass --version=X.Y.Z (-Version X.Y.Z on Windows).

Components

Component Description License
smista-mock-web-server Unpublished test helper for mocking the router HTTP API. MIT
smista-cli The smista command-line interface for developers. Elastic-2.0
smista-core Shared domain types, config, routing policy and validation. MIT
smista-providers Model abstraction and provider adapters (OpenAI, Anthropic, Gemini). Elastic-2.0
smista-router Routing and orchestration service exposing a local HTTP JSON API; embedded and run by the CLI. Elastic-2.0
smista-router-client Async Rust client for the router HTTP JSON API. MIT
smista-sdk Rust SDK facade re-exporting the domain types (and the client). MIT
smista-storage Storage traits, entities and the SurrealDB-backed persistence layer. Elastic-2.0
@smista-ai/sdk TypeScript SDK for building clients on top of the router. MIT

Golden workflow

smista "refactor the auth middleware"

smista shows the detected task, the selected model, the matched routing rule, the included and excluded context, the estimated cost and the required permissions. Before any write, it presents a diff and asks for confirmation.

Preview a route without executing it:

smista route "review this PR"

Inspect the full routing decision afterwards:

smista trace

Status

smista.ai is under active development. Work is tracked through milestones and issues; see the issues.

Documentation

Read the documentation at https://docs.smista.ai.

Contributing

Contributions are welcome. Please read CONTRIBUTING.md and the Code of Conduct.

License

smista.ai is source available, dual-licensed per component:

  • The consumer-facing libraries — smista-core, smista-router-client, smista-sdk and the TypeScript @smista-ai/sdk — are licensed under the MIT License. Build on them freely.
  • Everything else — the smista CLI, the router, its web API, providers and storage — is licensed under the Elastic License 2.0 (ELv2). You may use, self-host, modify and embed it freely; you may not offer it to third parties as a hosted or managed service.

The per-component license is listed in the Components table above. ELv2 is not an OSI-approved open-source license, so the project is described as "source available" rather than "open source".

About

smista.ai is a local-first agent and CLI that routes each phase of an AI workflow to the model best suited for it. Using deterministic, configurable policies instead of guesswork.

Topics

Resources

Code of conduct

Contributing

Stars

6 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages