This folder contains a small standalone coding agent:
- code:
mini_coding_agent.py - CLI:
mini-coding-agent
It is a minimal local agent loop with:
- workspace snapshot collection
- stable prompt plus turn state
- structured tools
- approval handling for risky tools
- transcript and memory persistence
- bounded delegation
The model backend is currently based on Ollama.
Stay tuned for a more detailed tutorial to be linked here
You need:
- Python 3.10+
- Ollama installed
- an Ollama model pulled locally
Optional:
uvfor environment management and themini-coding-agentCLI entry point
This project has no Python runtime dependency beyond the standard library, so you can run it directly with python mini_coding_agent.py if you do not want to use uv.
Install Ollama on your machine so the ollama command is available in your shell.
Official installation link: ollama.com/download
Then verify:
ollama --helpStart the server:
ollama serveIn another terminal, pull a model. Example:
ollama pull qwen3.5:4bQwen 3.5 model library:
The default in this project is qwen3.5:4b. If you have sufficient memory, it is worth trying a larger model such as qwen3.5:9b or another larger Qwen 3.5 variant. The agent just sends prompts to Ollama's /api/generate endpoint.
Clone the repo or your fork and change into it:
git clone https://github.com/rasbt/mini-coding-agent.git
cd mini-coding-agentIf you forked it first, use your fork URL instead:
git clone https://github.com/<your-github-user>/mini-coding-agent.git
cd mini-coding-agent
Start the agent:
cd mini-coding-agent
uv run mini-coding-agentWithout uv, run the script directly:
cd mini-coding-agent
python mini_coding_agent.pyBy default it uses:
- model:
qwen3.5:4b - approval:
ask
For a concrete usage example, see EXAMPLE.md.
Risky tools such as shell commands and file writes are gated by approval.
--approval askprompts before risky actions (default and recommended)--approval autoallows risky actions automatically (convenient but riskier)--approval neverdenies risky actions
Example:
uv run mini-coding-agent --approval auto
The agent saves sessions under the target workspace root in:
.mini-coding-agent/sessions/
Resume the latest session:
uv run mini-coding-agent --resume latestResume a specific session:
uv run mini-coding-agent --resume 20260401-144025-2dd0aa
Inside the REPL, slash commands are handled directly by the agent instead of being sent to the model as a normal task.
/helpshows the list of available interactive commands/memoryprints the distilled session memory, including the current task, tracked files, and notes/sessionprints the path to the current saved session JSON file/resetclears the current session history and distilled memory but keeps you in the REPL/exitexits the interactive session/quitexits the interactive session; alias for/exit
uv run mini-coding-agent --helpWithout uv:
python mini_coding_agent.py --helpCLI flags are passed before the agent starts. Use them to choose the workspace, model connection, resume behavior, approval mode, and generation limits.
Important flags:
--cwdsets the workspace directory the agent should inspect and modify; default:.--modelselects the Ollama model name, such asqwen3.5:4b; default:qwen3.5:4b--hostpoints the agent at the Ollama server URL (usually not needed); default:http://127.0.0.1:11434--ollama-timeoutcontrols how long the client waits for an Ollama response (usually not needed); default:300seconds--resumeresumes a saved session by id or useslatest; default: start a new session--approvalcontrols how risky tools are handled:ask,auto, ornever; default:ask--max-stepslimits how many model and tool turns are allowed for one user request; default:6--max-new-tokenscaps the model output length for each step; default:512--temperaturecontrols sampling randomness; default:0.2--top-pcontrols nucleus sampling for generation; default:0.9
See EXAMPLE.md
- The agent expects the model to emit either
<tool>...</tool>or<final>...</final>. - Different Ollama models will follow those instructions with different reliability.
- If the model does not follow the format well, use a stronger instruction-following model.
- The agent is intentionally small and optimized for readability, not robustness.
