Skip to main content

Rigma

CI PyPI Python License: Apache 2.0

Local LLM deployment that tunes itself to your machine — a chat UI, an OpenAI-compatible endpoint, and an agent that can use tools.

Rigma probes your GPU and RAM, works out the model, quant and flags your hardware can actually hold, downloads a pinned llama.cpp build, and serves it.

Unlike generic runners, Rigma applies the tuning that actually matters per machine: MoE expert offload (--n-cpu-moe) sized to your RAM, architecture-aware KV-cache policies (e.g. q8_0 K-cache floor on DeltaNet-family models), backend selection per GPU generation (e.g. Vulkan over ROCm on RDNA4), flash attention, and session persistence (--slot-save-path) on by default. Every decision is auditable: rigma plan --explain shows the arithmetic and sources.

Quickstart (pre-alpha)

pip install rigma
rigma up                       # opens the chat UI; add a model from the Models page
rigma up --model <slug>        # probe, resolve, download that model, and serve it

A browser tab opens either way, and any OpenAI-compatible tool can use http://127.0.0.1:11500/v1 once a model is loaded. With no --model, up starts the UI without probing or downloading anything — a fresh install lands on an empty Models page, where picking a model runs the same probe-resolve-download path.

Chats persist server-side across restarts — the browser UI lists past sessions in a rail, renders markdown with fenced code, and supports regenerate. Each session carries its own system prompt (the registry ships sensible defaults per use case — general, creative, coding — so creative-writing models stay in character from the first message) and a per-session "use my documents" RAG toggle; retrieved sources appear inside the search_my_documents step in the transcript. A copy button and edit-last live in the legacy UI at /rizz.

Commands

Command What it does
rigma up Start everything; opens the chat UI in your browser
rigma chat Chat with the running model in the terminal; --session <id> resumes a session started in the browser UI
rigma status What's running, where
rigma stop Stop the model server and UI
rigma models What fits your machine
rigma plan --explain What plan would choose, and why. When a community combo matches your hardware it reports the match and its source rather than re-deriving the fit; rigma up --dry-run is the accurate preview of a launch, since it also applies a model's pinned defaults
rigma doctor What Rigma detects on this machine
rigma update Pull the latest community combo registry
rigma bench Measure real speed; --evidence FILE exports registry-format proof
rigma rag add PATH Index a folder into your local knowledge base (Raggity sidecar)
rigma rag ask "..." Answer grounded in your documents, naming the sources it used, via your tuned model

rigma up flags: --model SLUG · --use-case coding · --port 11500 · --no-browser · --ctx N · --reasoning on|off|auto · --reasoning-budget N · --fa on|off|auto · --spec none|draft-mtp|… · --detach · --no-calibrate · --yes · --dry-run

Status

Pre-alpha (M5). rigma bench records machine-local calibration that outranks registry combos on your machine, and a failed launch automatically falls back (smaller quant → CPU floor) with each step explained. Combos come in two grades: verified (benchmarked on real hardware, evidence attached) and provisional (research-seeded fit math — run one and PR your numbers to rigma-registry). Verified so far:

Hardware Model Backend Result
RX 9070 XT 16GB + 16GB RAM (Windows) Qwen3.6-35B-A3B UD-Q3_K_XL, ctx 32K, n_cpu_moe 10 Vulkan (llama.cpp b9867) verified 2026-07-06: 57.1 t/s gen, 689 t/s prefill @ 4K prompt

Methods (set a chat up for the work, then automate it)

A Method configures a whole activity in one click — system prompt, sampler profile, thinking effort, tool posture and a Notes template — and then goes further: it carries rules, macros and workflows you can author yourself.

Six ship built in: Coding, Writing a book, Roleplay, Research, Learning, Organizing files.

  • Macro — a button above the message box. Finish chapter summarises the chapter into your story bible and opens the next one.
  • Rule — either standing guidance folded into the system prompt, or a trigger that fires on its own (after a chapter file changes, remind me to update the bible).
  • Workflow — a named multi-step sequence.

All three are the same thing underneath: a step list. A step is one of tool, prompt, settings, note or new_chat, and steps can carry placeholders — {{var}}, {{last_reply}}, {{step:0}}, {{ask:Label}}, {{transcript}}, {{title_next}}, {{selection}}.

Make your own: hit + Create method in the Methods panel. That opens a chat where the model has only the method-building tools, so it can do nothing but help you build one — it asks a question, calls a tool, and the method takes shape beside the chat as it goes. Hit Save method when you like it.

Safety. A macro that only reads runs straight away. Anything that writes, moves, runs a command, or lets the model loose with its tools asks first, with a one-line preview naming the real files — Finish chapter: will run write_file on story_bible.md. Choose Always allow and it stops asking for that macro. That choice is stored on your machine and is never part of a shared method.

Sharing. A method is a JSON file in ~/.rigma/methods/. Export it, send it, import theirs. Importing never overwrites one of yours and never carries someone else's "always allow".

Skills (instructions you pull in mid-chat)

A Skill is a block of instructions you write once and drop into any chat by typing /name — no method to apply, no settings to change. Where a Method configures a whole activity, a Skill is a single reusable briefing: house style, a checklist, the shape of a file format you keep explaining.

/wildcard write me three variants

The skill's text goes in front of your ask for that turn only. Manage them in the Skills panel, or write them by hand: each one is a .md file in ~/.rigma/skills/, so they live in your editor and your git repo like anything else. /skill:name works too, and a message that merely starts with a slash and names no skill — a path, a lone / — is sent exactly as you typed it.

In the chat

  • Type ahead. Send a follow-up while a reply is still streaming and it queues; the model starts on it the moment the current turn ends. The queue is in memory, so it never survives a restart — a prompt waiting behind a generation stops meaning anything once the server is gone.
  • Stop keeps what you got. Stopping a reply aborts the request and keeps the text already on screen, marked as a partial, instead of discarding it.

RAG (chat with your documents)

Rigma pairs with Raggity (AGPL-3.0, runs as a separate low-RAM process — ~300 MB) for grounded, cited answers from your own files through your tuned local model: pip install raggity[server], then rigma rag add <folder> and rigma rag ask "...". If raggity isn't on PATH, point RIGMA_RAGGITY_CMD at it.

Working on Rigma

git config core.hooksPath .githooks

One hook, and it matters: src/rigma/data/ui_v2/ is a built artifact that is committed, because the wheel ships it and an end user's machine never runs Node. Changing frontend-v2/src/ without npm run build therefore releases the old interface — and nothing else catches it, since pytest doesn't know the bundle exists and vitest tests the source. The hook refuses that commit and tells you what to run.

License: Apache-2.0.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rigma-0.10.0.tar.gz (875.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rigma-0.10.0-py3-none-any.whl (527.6 kB view details)

Uploaded Python 3

File details

Details for the file rigma-0.10.0.tar.gz.

File metadata

  • Download URL: rigma-0.10.0.tar.gz
  • Upload date:
  • Size: 875.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for rigma-0.10.0.tar.gz
Algorithm Hash digest
SHA256 c4076df77650ebd017b7a8b3913db692d0ac97833cb9be571d27c725b7592761
MD5 dcde6a375d529a36d5e76492ab533d32
BLAKE2b-256 c8a41296c00a56d85f5673081fd83dc966cbf07c60f7d4d12d45aa764ae69add

See more details on using hashes here.

Provenance

The following attestation bundles were made for rigma-0.10.0.tar.gz:

Publisher: publish.yml on IxMxAMAR/rigma

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rigma-0.10.0-py3-none-any.whl.

File metadata

  • Download URL: rigma-0.10.0-py3-none-any.whl
  • Upload date:
  • Size: 527.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for rigma-0.10.0-py3-none-any.whl
Algorithm Hash digest
SHA256 aa946bed38380b2370a3bd706aa301379fa4a5025505c281299ae3c834b18fcd
MD5 00b74b1b5f31a6542938b7f0d5a5cac5
BLAKE2b-256 cfedac13badf982dd789c7fc3a33fb70f17a17d715d51893eac060120bdb9d9a

See more details on using hashes here.

Provenance

The following attestation bundles were made for rigma-0.10.0-py3-none-any.whl:

Publisher: publish.yml on IxMxAMAR/rigma

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.10.0 This release

2 files

0.9.0

2 files

0.8.1

2 files

0.8.0

2 files

0.7.0

2 files

0.5.1

2 files

0.5.0

2 files

0.4.0

2 files

0.3.0

2 files

0.2.0

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page