Important
Kaja is still evolving 🔈
📢
Kaja is an AI agentic harness. Give it a task and it keeps looping with an LLM, using tools and switching personas as needed, until the job is done. Point it at a local model or a cloud-based one, chat with it in the terminal, on Telegram, or through a widget on your own website.
Under the hood it is a full-stack playground: a Hono API secured by Better Auth, a TanStack Start web app, and a React Ink terminal agent.
Apps
api― REST API, cloud agent loop, auth, emails, and the widget bundletui― Terminal UI and Telegram botweb― Public homepage and admin portalsandbox― Runs stdio MCP servers (and headless Chrome) for cloud turns
Packages
nasi― The agent brain: the loop, tools, and memoryschema― Shared Zod schemas and typesshared― Small pure utilities
Make sure Bun, Docker Compose, and Git are installed. Run the commands below in sequence.
# Get the source
git clone https://github.com/SubZtep/kaja.git
cd kaja
# Install dependencies
bun i
# Start services
docker compose up -d
# Create config for local run
cp apps/tui/.env.example apps/tui/.env
# Run the terminal UI
bun dev:tuiThe first run starts a short setup wizard: sign in to Kaja Cloud, or point it at your own LLM provider(s) and it writes ~/.config/kaja/ for you.
Tip
If you want to look around inside the sandbox container, open a shell:
docker compose exec sandbox bashWant more? 🐓 Visit docs.kaja.io/development.