Skip to content
kazma.
Search Kazma Documentation & Site
عGet started
v0.11.0Open source · MIT · Self-hosted

Your own AI assistant.It asks before it acts.

Run Kazma on your machine with your choice of cloud or local model. Research, write and work on your code in English or Arabic, from the web or your chat apps, with your approval before risky actions.

  • Free and open source
  • Any model, including local ones
  • Your chats and memory stay in your install
Kazma web chat: the agent asks to edit a file, and the approval card waits for your decision before anything runsKazma web chat: the agent asks to edit a file, and the approval card waits for your decision before anything runs

Works where you already are

  • Web
  • Terminal
  • Command line
  • Telegram
  • Discord
  • Slack
  • Your editor (ACP)
  • Other agents (MCP)
What it does

An assistant that gets things done, not just a chat box.

Nine areas, all working today. The full list — every line with its status — is on the Features page.

Chat everywhere

One assistant in the browser, the terminal, Telegram, Discord and Slack — it reads photos, documents and voice notes, with approve and deny buttons right in the chat.

Details

Memory you control

Remembers people, facts and decisions across chats, and when each became true. Every answer shows what it used; make it forget anything, or keep a chat out of memory.

Details

Asks before it acts

Writes, shell commands, posts and messages wait for your approval on every path. Plans are checked against what you actually said, and catastrophic commands are refused outright.

Details

Any model, even local

20 provider presets — OpenAI, Anthropic, Gemini, DeepSeek and more — or local models through Ollama and LM Studio. See the cost of every answer; a breaker stops runaway spending.

Details

Knowledge and documents

Add files, pages or whole sites and search them by meaning. Upload PDF, Word, Excel or PowerPoint safely; convert, redact, and generate reports with correct Arabic typography.

Details

Research with sources

Research with saved sources and results, completion alerts and progress warnings. Local acquisition by default; hosted extractors need explicit consent. AI planning and writing use your chosen model.

Details

Mail, calendar and reminders

Gmail, Outlook and IMAP accounts with their calendars; reminders delivered to the chat you asked from; X drafts, scheduling and posting; skills and MCP tools.

Details

Code and repositories

A web IDE, git and GitHub pull requests, code search and steerable long missions — every write with your approval. Rewind or fork any conversation.

Details

Many agents at once

Six ways to split work across workers created on demand, with retries, circuit breakers and output checks per worker.

Details
How it works

From install to first reply in minutes.

Three steps. No cloud account, no subscription.

  1. Install it

    One script on Windows, macOS or Linux, or Docker Compose. Needs Python 3.11 or newer.

  2. Connect a model

    Pick any of 20 providers or a local model. Its Test sends a real completion, so you know it works.

  3. Connect your chat apps

    Add Telegram, Discord or Slack. Each has a Test that tells you exactly what is missing, if anything.

PowerShell
# 1. Get the code$ git clone https://github.com/Mubder/kazma.git$ cd kazma# 2. Install (fetches uv if needed)$ .\setup.ps1# 3. Start — chat opens on http://localhost:9090$ kazma serve
bash
# 1. Get the code$ git clone https://github.com/Mubder/kazma.git$ cd kazma# 2. Install (fetches uv if needed)$ ./setup.sh# 3. Start — chat opens on http://localhost:9090$ kazma serve
bash
# 1. Get the code$ git clone https://github.com/Mubder/kazma.git$ cd kazma# 1. Create your settings file, then edit it$ cp .env.example .env# 2. Start — chat opens on http://localhost:9090$ docker compose up -d --build
Tour

See it working.

Real captures of Kazma running on a machine, with demo data.

Every answer shows its steps: the tools it ran, what it remembered, and what it cost.Every answer shows its steps: the tools it ran, what it remembered, and what it cost.

Every answer shows its steps: the tools it ran, what it remembered, and what it cost.

What Kazma remembers, in front of you: facts, conversations and weekly summaries — each one can be forgotten.What Kazma remembers, in front of you: facts, conversations and weekly summaries — each one can be forgotten.

What Kazma remembers, in front of you: facts, conversations and weekly summaries — each one can be forgotten.

A web IDE with git and a chat that knows the open file. Every write goes through your approval.A web IDE with git and a chat that knows the open file. Every write goes through your approval.

A web IDE with git and a chat that knows the open file. Every write goes through your approval.

Telegram, Discord and Slack in one place, each with a Test that diagnoses the connection.Telegram, Discord and Slack in one place, each with a Test that diagnoses the connection.

Telegram, Discord and Slack in one place, each with a Test that diagnoses the connection.

The same interface in Arabic, right to left — switch the language from the menu at any time.The same interface in Arabic, right to left — switch the language from the menu at any time.

The same interface in Arabic, right to left — switch the language from the menu at any time.

Measured, not claimed

Trust you can check.

Every number here has a source, and the limits are published next to the features.

10.4%
prompt-injection attack success (18.1% undefended)

On AgentDojo, a public benchmark we did not write: 18.1% undefended, 10.4% with Kazma's fence. A 4-character delimiter from the literature scores 11.6%, and the two can't be told apart statistically — we say so.

  • Undefended18.1%
  • 4-character delimiter11.6%
  • Kazma's fence10.4%
The full numbers
19,394
automated tests

Run on every change. Fixes land with a test that reproduces the bug, and a check that keeps it from coming back in similar places.

Continuous integration
Every 6 hours
backups, local and offsite

Everything is backed up locally and offsite, checked daily, and a weekly rehearsal restores the database into a scratch copy to prove it restores.

Disaster recovery
Published
known gaps and what is not built

What Kazma doesn't do yet is written down, dated, in the docs — and the feature list gives every line its status: Shipped, Opt-in or Partial.

Known gaps

When a model fails, you see ⚠️ and the reason — never a made-up answer.

English and Arabic

Arabic, done properly.

Kazma is built in Kuwait, and its Arabic is not an afterthought.

  • A full right-to-left interface

    Every page in English and Arabic, the login page included — switch at any time.

  • Search and memory that read Arabic

    Search folds diacritics and hamza forms; memory understands MSA and the Gulf dialect.

  • Documents with correct Arabic typography

    Word, PDF and HTML reports shaped correctly, with direction set per paragraph — even in a bilingual document.

  • Docs in both languages

    Every documentation page is available in full Arabic, not as a summary.

Running it

Built to run for months.

It restarts itself, backs itself up, and tells you what happened — in the chat app you choose.

A supervisor watching it

Restarts on real failure, reloads gracefully, and pages you over Telegram.

One card per restart

How long it was down, and whether each chat app came back — ✅ or ❌ with the reason.

Backups that prove themselves

Every 6 hours, local and offsite, with a weekly restore rehearsal.

Updates in one command

kazma update pulls the new release and applies it.

Move it to any machine

kazma migrate carries a whole install to another machine or OS in one bundle.

Postgres or SQLite

SQLite with no setup, or Postgres; Prometheus metrics and OpenTelemetry traces.

Who is Kazma for?

One operator per install: whoever runs it has full control of it and answers for what its agent does. The safeguards protect the operator from the agent and the untrusted content it reads — not an install from its operator.

Threat model

Run your own assistant today.

Open source under the MIT license. No account and no subscription — your data stays in your install, and goes only to the model and services you connect.

automated tests
19,394
public commits
4,467+
packages
6
contributors
10