Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Tiri local agent backend and web shell built on agent-runtime.
| Date | Stars |
|---|---|
| 2026-07-31 | 455 |
| 2026-08-06 | 609 |
Today
+154 stars today
This week
— stars this week
This month
— stars this month
Momentum
601.0
growth rate 0.00%/day
# Tiri Agent [](https://www.python.org/) [](https://nextjs.org/) [](https://react.dev/) [](LICENSE) Tiri is a local-first agent product shell built on the standalone `agent-runtime` core. It packages the runtime into a practical personal-agent experience: CLI chat, FastAPI APIs, a Next.js web shell, sandbox tools, channel integrations, local skills, and SQLite persistence. ## Highlights - Local-first backend with durable SQLite sessions, settings, channel state, event streams, and outbox records. - Runtime composition around `agent-runtime`, keeping product policy here and neutral agent mechanics in the sibling core package. - CLI and web entry points through the same `TiriBackend` configuration path. - Local and Docker-backed sandbox tools for file access and shell execution. - Prompt assembly from base identity, runtime environment, optional profile context, and local skill registry. - Channel adapters for Telegram, Weixin/WeChat, and Feishu/Lark, including inbound listeners and proactive outbound messaging. ## Repository Map | Path | Purpose | | --- | --- | | `agent/` | `TiriBackend`, backend config, logging hooks, and collaboration modes. | | `prompts/` | Base prompt, profile prompt, environment prompt, and skill index assembly. | | `tools/` | Tool registry composition and concrete Tiri tool sets. | | `sandbox/` | Local and Docker sandbox implementations exposed as runtime tools. | | `channels/` | Provider adapters, listeners, gateway, targets, settings, and outbox worker. | | `server/` | FastAPI app, SQLite storage, event queues, and local server runner. | | `cli/` | Thin `tiri` command entrypoint. | | `web/` | Next.js web shell for Tiri-specific backend integration. | Top-level `backend.py`, `config.py`, and `collaboration.py` are compatibility re-export modules. New implementation should live under the structured packages above. ## Quick Start Install the sibling runtime and this product repo into a local virtual environment: ```bash uv venv --python 3.11 .venv uv pip install -e ../agent-runtime -e ".[server]" --python .venv/bin/python uv pip install pytest --python .venv/bin/python ``` Configure a model: ```bash export TIRI_LLM_API=openai-chat-completions export TIRI_MODEL=your-model-name export TIRI_LLM_API_KEY=your-api-key export TIRI_LLM_BASE_URL=https://api.openai.com/v1 ``` Run CLI chat: ```bash .venv/bin/tiri ``` Start the local API and web shell: ```bash .venv/bin/tiri server start ``` The server command starts: - FastAPI at `http://127.0.0.1:8000` - Next.js at `http://127.0.0.1:3000` To run only the FastAPI backend: ```bash .venv/bin/tiri server start --no-web ``` ## Configuration | Variable | Purpose | | --- | --- | | `TIRI_LLM_API` | Provider API shape, such as `openai-chat-completions`. | | `TIRI_MODEL` | Model name. Required unless passed with `--model`. | | `TIRI_LLM_API_KEY` | Provider API key. | | `TIRI_LLM_BASE_URL` | Optional provider base URL. | | `TIRI_PROMPT_PATH` | Optional file overriding the base system prompt. | | `TIRI_PROFILE_PATH` | Optional local user/profile prompt file. | | `TIRI_SKILLS_PATH` | Optional local skills directory. | | `TIRI_DATA_DIR` | Local data directory, defaulting to `~/.tiri` when configured. | | `TIRI_DB_PATH` | Explicit SQLite database path. | | `TIRI_COLLABORATION_MODE` | Collaboration mode, currently `default` or `plan`. | CLI flags mirror the most common settings: ```bash .venv/bin/tiri --model your-model --data-dir /path/to/tiri-data .venv/bin/tiri server start --db-path /path/to/tiri.sqlite ``` ## Prompts And Skills Tiri builds the system prompt from: - `prompts/base.py` for the base identity, operating loop, tool rules, workspace rules, safety guidance, and voice
Excerpt of 6,150 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:bd27887ef3c0bc39, llm:Repository description: "Tiri local agent backend and web shell built on agent-runtime." Language: TypeScript. Indicates an 'agent' runtime and web shell for local agent backend.
matched fp:bd27887ef3c0bc39, llm:Repository description: "Tiri local agent backend and web shell built on agent-runtime." Language: TypeScript. Indicates an 'agent' runtime and web shell for local agent backend.
matched fp:bd27887ef3c0bc39, llm:Repository description: "Tiri local agent backend and web shell built on agent-runtime." Language: TypeScript. Indicates an 'agent' runtime and web shell for local agent backend.