zzm-agent
A local-first personal coding agent and CLI for OpenAI-compatible chat models.
zzm-agent gives you an interactive REPL for project work, a non-interactive exec mode for scripts and CI, persistent sessions, semantic memory, prompt snapshots, and plugin-based tools for files, search, and shell commands.
Install
pip install zzm-agent
Requires Python 3.11 or newer.
First Run
Start the REPL:
zzm-agent
On the first interactive run, zzm-agent asks for:
- Base URL, for example
https://api.openai.com/v1 - Model name, for example
gpt-4o-mini - LLM API key
It creates user-level configuration:
~/.zzm_agent/config.yaml
~/.zzm_agent/.env
Secrets are written to .env; config.yaml keeps references such as ${LLM_API_KEY}.
You can also use existing environment variables:
LLM_BASE_URL=https://api.openai.com/v1
LLM_MODEL_NAME=gpt-4o-mini
LLM_API_KEY=your_api_key_here
Usage
Interactive REPL:
zzm-agent
zzm-agent repl --session my-session
zzm-agent repl --config path/to/config.yaml
Non-interactive one-shot tasks:
zzm-agent exec "summarize this repository"
zzm-agent exec --stdin < prompt.txt
zzm-agent exec --json "review the latest changes"
zzm-agent exec -o answer.md "write release notes"
In exec mode, medium and high risk tools are denied instead of prompting, so CI jobs and scripts do not hang on interactive approvals.
Shell completion:
zzm-agent completion bash
zzm-agent completion zsh
zzm-agent completion powershell
Configuration
Config resolution:
--config <path>ZZM_AGENT_CONFIG~/.zzm_agent/config.yaml- repository
config.yaml ./config.yaml./.zzm_agent/config.local.yaml
.env files are loaded from the current directory and next to each loaded config file before ${ENV_NAME} placeholders are expanded.
Minimal config:
model:
base_url: "${LLM_BASE_URL:-https://api.openai.com/v1}"
api_key: "${LLM_API_KEY}"
model_name: "${LLM_MODEL_NAME:-gpt-4o-mini}"
agent:
stream: true
auto_approve: false
memory:
path: "~/.zzm_agent/memory.json"
max_history: 50
REPL Commands
Useful commands inside the REPL:
/help/tools/models [filter]/model [id]/config/memory/sessions/session <id>/new/remember <fact>/search <keyword>/evolve run/exit
Project Links
Source repository and full documentation are available in the project README.
Metadata
Release files for zzm-agent 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| zzm_agent-0.1.3.tar.gz | 298.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| zzm_agent-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 547.8 kB
Release files / zzm_agent-0.1.3.tar.gz
| Download URL | zzm_agent-0.1.3.tar.gz |
|---|---|
| Size | 298.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a350706b52b7fbcebaefa3cbb8f82d10e9b0f4467815cbf9dec0699f8f6d0b3c
|
|
BLAKE2b-256 checksum How to use checksums |
15d0d664e7cdaebf92beb4f51ea720dc8ada48e90ed83e42959d50d7749cce88
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.15
|
Release files / zzm_agent-0.1.3-py3-none-any.whl
| Download URL | zzm_agent-0.1.3-py3-none-any.whl |
|---|---|
| Size | 249.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
180d79c0c913b8bdf333868343db9611452a3fdf6c3b8176e0fe6f231bd5fd66
|
|
BLAKE2b-256 checksum How to use checksums |
b4ed6d5cb43219a364d4482b9f2bc12c7c2630fa0de283d9740e93c00c075eb5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.15
|
Security for zzm-agent 0.1.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.