Kaja CLI is an open-source terminal chat assistant featuring personas, tools, and speech, running on the model you choose in the language you like.
curl -fsSL https://kaja.io/setup.sh | bashEach persona is a .toml file: a label, its system-prompt instructions, and an optional when clause. Kaja reads the room and switches personas mid-conversation on its own — no command needed.
How Kaja remembers you, across chats and sessions.
Kaja remembers key facts about you and recalls them later, so you never repeat yourself. — Mark the important ones sticky to keep them in every conversation.
Some personas monitor a conversation for a set of fields and gently repeat their questions — even day after day — until every one is filled in.
Everything lives in plain files. Fetch templates during onboarding and edit them by hand if tweaking is necessary.
~/.config/kaja/
├─ settings.toml # optional settings and app preferences
├─ models.toml # model catalog per provider
├─ mcp.toml # model context protocol servers
├─ personas/*.toml # one behaviour per file
└─ datasets/*.json # custom fields for personas to collectcurrent_timeCurrent date/time in any IANA timezoneread_fileRead a text filelist_filesList a directoryfetch_urlFetch a URL and extract to textweb_searchLocaction based web search via Brave APIview_imageSee an image's contentsgenerate_imageGenerate an image from a promptsummarizeSummarize textrerankRank documents against a querymemoryRemember durable facts across sessionsdataset_infoTrack persona dataset collection progressOnly tested on Linux. A setup wizard walks you through config on first launch (or anytime config is missing/invalid) — no separate step needed.
On Mac/Linux:
curl -fsSL https://kaja.io/setup.sh | bashOn Windows:
irm https://kaja.io/setup.ps1 | iexPrefer a plain binary? Grab one from Releases — Linux, macOS, and Windows, x64 and arm64.