CLI coding agent for private, local-first development.
privibe is a fork of Mistral Vibe reworked to not do any call back home of any kind and then run against local models first, I want to be able to use it and know it will not be sending data of any kind anywhere.
The cloud/account machinery is gone, the Mistral SDK is now an optional extra, and a lot of work has gone into making it fast and pleasant to use against a local llama.cpp server.
If you want the original, hosted, Mistral-centric experience, use upstream Mistral Vibe. If you want a small coding agent you can point at your own local llama.cpp server, this is that.

Step-by-step version of this demo: docs/getting-started.md.
Resuming and switching between sessions, plus context files in action: the lets-document skill compiles what one session learned into a context file, and a second, unrelated session picks up from that knowledge without redoing the research (played at 4x):

Resuming a session with its KV cache restored from disk: with the companion llama-server build, evicted conversations are saved to disk and reloaded on resume, so picking an old session back up does not reprocess the whole conversation:

Note on backends: this fork is developed and tested against a local llama.cpp server (via its OpenAI-compatible API). The Anthropic and Mistral backend adapters inherited from upstream are still in the code but are not actively tested here — treat them as unverified.
Requires Python ≥ 3.12 and uv.
git clone https://github.com/alainnothere/privibe.git
cd privibe
uv sync
I set up an alias on .bashrc
alias privibe='uv run --project /yourPathToPrivibeHere/privibe privibe'
so you can later just use it with privibe from whenever you are, or inside privibe folder with
uv run privibe
On first run it writes a config to ~/.privibe/config.toml. Point the model
entries at your server (e.g. a local llama.cpp instance) and you're going.
There's also an ACP entrypoint for editor integrations:
uv run privibe-acp
For the most part... exactly the same, clone the source and uv run privibe... I use it daily on git bash and works correctly, I have also tried powershell and I know it works.
uv sync --extra mistral), not a requirement, and
there's no API-key onboarding gate.ConversationList) that keeps the
prefix immutable, so the server's prompt/KV cache stays valid across turns.--resume/--continue by restoring the original
system prompt instead of regenerating it (which would invalidate the cache)./detect-context-size toggle (re-runs on
model swap), and an opt-in model warmup./effort cycles off/low/medium/xhigh for new
messages without invalidating the KV cache. Needs the companion
llama-server build;
stock servers silently ignore the stamps.find_symbol.restore_file tool; writes are
serialized.[paths] config section.@-mention file completion backed by a stateless git enumeration.--console runs the same agent as a plain-text REPL (no
colors, no TUI), including tool output and session resume.Ctrl+C to exit (no more accidental one-key quits)./autocopy toggle, and a warning
when clipboard tools are missing./resume session picker showing the folder and a short preview of each
session, with search: type to filter, -word to exclude, results ranked by
match. Conversation history is re-rendered on resume./preview-lines), scrollback
(/scrollback), and an /llm-debug dump toggle..deb and Windows-zip build scripts.Config lives in ~/.privibe/config.toml (set PRIVIBE_HOME to relocate it).
The [paths] section (documented in
privibe/core/config/default_config.toml) controls cross-dialect path
translation. Models, providers, and feature toggles are set there too; several
have in-app /commands (/model, /config, /autocopy, … — see /help).
The active model can also be picked for a single run with --model.
Apache-2.0. privibe is a fork of Mistral Vibe (© Mistral AI); see LICENSE.
80 commits
Python
99.7%
CLI coding agent for private, local-first development.
privibe is a fork of Mistral Vibe reworked to not do any call back home of any kind and then run against local models first, I want to be able to use it and know it will not be sending data of any kind anywhere.
The cloud/account machinery is gone, the Mistral SDK is now an optional extra, and a lot of work has gone into making it fast and pleasant to use against a local llama.cpp server.
If you want the original, hosted, Mistral-centric experience, use upstream Mistral Vibe. If you want a small coding agent you can point at your own local llama.cpp server, this is that.

Step-by-step version of this demo: docs/getting-started.md.
Resuming and switching between sessions, plus context files in action: the lets-document skill compiles what one session learned into a context file, and a second, unrelated session picks up from that knowledge without redoing the research (played at 4x):

Resuming a session with its KV cache restored from disk: with the companion llama-server build, evicted conversations are saved to disk and reloaded on resume, so picking an old session back up does not reprocess the whole conversation:

Note on backends: this fork is developed and tested against a local llama.cpp server (via its OpenAI-compatible API). The Anthropic and Mistral backend adapters inherited from upstream are still in the code but are not actively tested here — treat them as unverified.
Requires Python ≥ 3.12 and uv.
git clone https://github.com/alainnothere/privibe.git
cd privibe
uv sync
I set up an alias on .bashrc
alias privibe='uv run --project /yourPathToPrivibeHere/privibe privibe'
so you can later just use it with privibe from whenever you are, or inside privibe folder with
uv run privibe
On first run it writes a config to ~/.privibe/config.toml. Point the model
entries at your server (e.g. a local llama.cpp instance) and you're going.
There's also an ACP entrypoint for editor integrations:
uv run privibe-acp
For the most part... exactly the same, clone the source and uv run privibe... I use it daily on git bash and works correctly, I have also tried powershell and I know it works.
uv sync --extra mistral), not a requirement, and
there's no API-key onboarding gate.ConversationList) that keeps the
prefix immutable, so the server's prompt/KV cache stays valid across turns.--resume/--continue by restoring the original
system prompt instead of regenerating it (which would invalidate the cache)./detect-context-size toggle (re-runs on
model swap), and an opt-in model warmup./effort cycles off/low/medium/xhigh for new
messages without invalidating the KV cache. Needs the companion
llama-server build;
stock servers silently ignore the stamps.find_symbol.restore_file tool; writes are
serialized.[paths] config section.@-mention file completion backed by a stateless git enumeration.--console runs the same agent as a plain-text REPL (no
colors, no TUI), including tool output and session resume.Ctrl+C to exit (no more accidental one-key quits)./autocopy toggle, and a warning
when clipboard tools are missing./resume session picker showing the folder and a short preview of each
session, with search: type to filter, -word to exclude, results ranked by
match. Conversation history is re-rendered on resume./preview-lines), scrollback
(/scrollback), and an /llm-debug dump toggle..deb and Windows-zip build scripts.Config lives in ~/.privibe/config.toml (set PRIVIBE_HOME to relocate it).
The [paths] section (documented in
privibe/core/config/default_config.toml) controls cross-dialect path
translation. Models, providers, and feature toggles are set there too; several
have in-app /commands (/model, /config, /autocopy, … — see /help).
The active model can also be picked for a single run with --model.
Apache-2.0. privibe is a fork of Mistral Vibe (© Mistral AI); see LICENSE.
80 commits
Python
99.7%