An offline-first, local AI toolkit in Go. A single static binary that runs a retrieval-augmented knowledge index, project-scoped Q&A, and a set of deterministic utilities against local open-source models (via ollama) or any OpenAI-compatible endpoint. Proprietary APIs are optional accelerators — nothing critical depends on them, and most commands work fully offline.
aizen writes only under ~/aizen/. It does not modify your project repos or
system files.
ask— ask a local model directly, or with--projectretrieve grounded answers from that project's index (hybrid BM25 + cosine RAG, with source citations).scan— zero-tolerance secret/PII scanner for a directory;--git-onlyrestricts it to git-tracked files. Useful as a pre-push hook.engine— manage the local model layer: install ollama, list/pull models, set the default and the--deepbatch model.pack/corpus— build knowledge packs from a repo + git log + memory, ingest research PDFs, and distill conversation transcripts into redacted, scope-tagged cards.model— model-assisted writing helpers: humanize text, generate commit messages and changelogs, check memory pointers.bb— drive an external bug-bounty toolkit safely (plan/run/explain) without modifying it; active scans are gated behind--authorizeand a sandbox.run/loop/ keyword macros — orchestrate subcommands concurrently, repeat them on an interval or until they pass, and bind short keywords to command chains.chat— an interactive REPL with editable, replayable history.skill/plugin— declarative extension points loaded from~/aizen/.doctor— read-only health check of the local setup.
Global flags: --no-model (deterministic core only, never calls a model),
--json (machine-readable output), --deep (route model calls to the big model).
go build ./cmd/aizenThis produces an aizen binary. Go 1.25+ is required (see go.mod).
# One-time: install ollama and pull the open-source model ladder
aizen engine setup
# Health check
aizen doctor
# Scan a directory for leaked secrets/PII
aizen scan ./my-repo
aizen scan --git-only ./my-repo
# Ask the local model
aizen ask "explain this error message: ..."
# Register projects in ~/aizen/projects.conf, then query one:
# alpha = /home/you/code/alpha
aizen ask --project alpha "where is auth handled?"See docs/GUIDE.md for the full command reference, project and
scope configuration, and orchestration primitives.
~/aizen/projects.conf— register project names and their source repos (name = /pathper line).~/aizen/scopes.conf— define scope keywords forcorpus distill(scope: kw1, kw2per line).~/.config/aizen/keywords.toml— define your own keyword macros.- Environment:
LLM_MODEL/LLM_BASE_URLselect the model backend;AIZEN_HOMEoverrides the data directory.
MIT — see LICENSE.