All notable changes to Local CLI Agent are documented here. Format follows Keep a Changelog.
- Master-Orchestrator (
orchestrator.py) — for complex tasks, a master LLM call produces a specialist plan (up to 10 steps, each assigned to the best profile). User can confirm, edit or abort before execution. Context summaries pass between steps. Available as/orchestrate <goal>andlocal-cli --orchestrate "goal". - Auto-suggest — when a prompt is detected as complex (heuristic score ≥ 0.55 based on
word count + keywords), the system offers the orchestrator before sending to the agent.
User can always decline with
n. - Verification profile (
verifikation) — automatically inserted as penultimate step in every orchestration that contains code steps. Runs tests, checks imports, checks syntax, outputs structured ✅/❌ report, fixes errors immediately. - Interactive plan editor — before orchestration starts,
[e]opens an editor where the user can add, remove, or modify steps and specialist assignments. - Retry/skip/abort on step failure — if a step throws an exception, the user is asked
[r]etry / [s]kip / [a]bortinstead of crashing silently.
- Profiles now include
verifikation(15th profile total) - Profile selector updated with new entry
-
Agent Profiles (
profiles.py) — 14 built-in personas activated with/profileor/profile <id>. Each profile appends a focused system-prompt extension. Active profile is shown in the startup status line and injected into every prompt.ID Profil Zweck standard🤖 Standard Ausgewogener Allzweck-Assistent vibe⚡ Vibe-Coder Einfach machen, keine langen Erklärungen aufraumen🏗️ Aufräumen & Strukturieren Monolith → saubere Module reviewer🔍 Code-Reviewer Feedback geben, keinen Code schreiben debugger🐛 Fehlersuche Bugs methodisch finden und beheben erklarer📖 Erklärer Alles in einfacher Sprache ohne Jargon frontend🎨 Frontend HTML, CSS, JS — schön und bedienbar backend⚙️ Backend APIs, Datenbanken, Server tester🧪 Tester Sinnvolle Tests schreiben security🛡️ Sicherheit Schwachstellen methodisch prüfen docs📝 Dokumentation README, Kommentare, API-Docs performance🚀 Performance Engpässe finden und beheben architect🏛️ Architekt Erst planen, dann bauen devops🐳 DevOps Docker, CI/CD, Deployment
- Mission Mode (
mission.py) — give the agent a high-level goal; it creates a numbered plan (up to 8 steps), asks for confirmation, executes each step via a separateagent_loopcall, pauses between steps, and prints a completion summary. Available as/mission <goal>andlocal-cli --mission "goal". - Auto-Test-Loop (
autotest.py) — after everywrite_file/edit_file, the configured test command runs automatically. Pass/fail output is appended to the tool result so the agent self-corrects without any user input. Available as/autotest <cmd>//autotest off//autotest status.
- Undo system (
undo.py) — automatic file snapshots before everywrite_file/edit_file;/undo [n]restores the last n changes,/checkpoint [name]sets a manual restore point. Up to 30 checkpoints kept per session. - Project memory (
project.py) — detects Python, Node.js, Rust, Go, Java, .NET, Flutter, PHP, Ruby projects automatically; reads metadata frompyproject.toml,package.json,Cargo.toml,go.mod; extracts git branch, last commit, README summary, test framework; injects a--- PROJECT CONTEXT ---block into every system prompt. Results cached via mtime fingerprint. - Watch mode (
watcher.py) — polls a path every 2 s usingos.stat()(no extra deps); triggers the agent automatically on any file change;/watch <path> <instruction>slash command andlocal-cli --watch <path> <instruction>CLI flag;/watch stop//watch status. difftool — shows a unified diff of proposed changes before applying themgittool — safe git operations (status, diff, log, add, commit, branch, stash); permanently blockspush --force,reset --hard,clean -f,branch -Dopentool — opens a file or URL in the OS default application (cross-platform)
- Version bumped to 2.1.0 in
constants.py,pyproject.toml, README badge
- Backend replaced: llama-cpp-python removed. Now requires Ollama or LM Studio.
- Python requirement raised: 3.8 → 3.10 (needed for
str | Nonetype syntax). - Model config format changed: file path →
"ollama:model-id"/"lmstudio:model-id".
backends.py— full Ollama and LM Studio HTTP client with SSE streaming- Animated spinner (
⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏ Generiere...) while waiting for model response <|think|>/<|/think|>block filtering for reasoning models (QwQ, DeepSeek-R1, etc.)- Markdown tool extraction fallback — models that output code blocks instead of JSON tool-calls are handled automatically
- Model compatibility check — warns if a loaded model is unsuitable for agent tasks
- Model auto-select — when exactly one model is loaded (e.g. LM Studio), no dialog is shown
/savecommand — exports current conversation as a timestamped Markdown file/modelcommand — switch model mid-session without restarting/compactcommand — summarizes the conversation to reduce token usageself_improve: mandatory backup before any edit; syntax validation before any.pywriteself_improve:fileparameter to target any.pyfile in the package/reload: validates syntax of all package files before restarting
- Timeout split into connect (10 s) + stream (300 s) to prevent false disconnects on slow models
- Automatic retry on
ConnectionError(1 attempt) with user-visible message - System prompt: German language now enforced as first line
- Banner replaced with ASCII-safe design (no Unicode box characters)
/tokenswithout argument now shows current value and usage hintinstall.bat: Python 3.10 check,pip install --upgrade, Ollama model check, LM Studio start instructions, dynamic summaryuninstall.bat: checks if package is installed first, clarifies data location, documents what is NOT removed
/thinkingcommand (was a no-op — parameter never reached the backend)- llama-cpp-python dependency
local_backend.py(replaced bybackends.py)- NVIDIA NIM / Kimi K2.5 references
- Banner alignment broken by ANSI codes inside padded f-strings
- Empty model list crash when no backend is running
self_improvebackup failure was silently ignored
- Complete rebranding from kimi-k-cli to local-cli-agent
- Added slash command autocomplete via prompt_toolkit
- Migrated from NVIDIA NIM API to local model backends
- Plugin system (too fragile, low benefit)
- Startup errors on fresh install
- Initial release as Kimi K2.5 CLI agent
- Tool use: bash, file ops, web search, memory, self-improve
- Interactive and one-shot modes