Instructions to use bfuzzy1/TinyGuide with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use bfuzzy1/TinyGuide with MLX:
# Make sure mlx-lm is installed # pip install --upgrade mlx-lm # Generate text with mlx-lm from mlx_lm import load, generate model, tokenizer = load("bfuzzy1/TinyGuide") prompt = "Write a story about Einstein" messages = [{"role": "user", "content": prompt}] prompt = tokenizer.apply_chat_template( messages, add_generation_prompt=True ) text = generate(model, tokenizer, prompt=prompt, verbose=True) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
- Pi
How to use bfuzzy1/TinyGuide with Pi:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "bfuzzy1/TinyGuide"
Configure the model in Pi
# Install Pi: npm install -g @mariozechner/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "mlx-lm": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "bfuzzy1/TinyGuide" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent new
How to use bfuzzy1/TinyGuide with Hermes Agent:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "bfuzzy1/TinyGuide"
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default bfuzzy1/TinyGuide
Run Hermes
hermes
- OpenClaw new
How to use bfuzzy1/TinyGuide with OpenClaw:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "bfuzzy1/TinyGuide"
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "bfuzzy1/TinyGuide" \ --custom-provider-id mlx-lm \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
- MLX LM
How to use bfuzzy1/TinyGuide with MLX LM:
Generate or start a chat session
# Install MLX LM uv tool install mlx-lm # Interactive chat REPL mlx_lm.chat --model "bfuzzy1/TinyGuide"
Run an OpenAI-compatible server
# Install MLX LM uv tool install mlx-lm # Start the server mlx_lm.server --model "bfuzzy1/TinyGuide" # Calling the OpenAI-compatible server with curl curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "bfuzzy1/TinyGuide", "messages": [ {"role": "user", "content": "Hello"} ] }'
| library_name: mlx | |
| license: apache-2.0 | |
| license_link: https://huggingface.co/Qwen/Qwen3-0.6B/blob/main/LICENSE | |
| base_model: Qwen/Qwen3-0.6B | |
| pipeline_tag: text-generation | |
| tags: | |
| - mlx | |
| # TinyGuide | |
| A tiny highly experimental 0.6B coding agent coach that runs on your laptop. TinyGuide sits in Claude | |
| Code's **PreToolUse** hook before every `Edit`, `Write`, or `Bash`, it reads the session state and decides whether to say something. Most of the time it stays quiet. When the agent is about to edit a file it never read, re-run a command that already failed, or finalize without testing, it drops **one short sentence** | |
| of guidance into the agent's context. | |
| Fine tuned from Qwen3-0.6B. Small enough to run locally on every tool call. | |
| This repo holds the fp16 fused weights (bf16, ~1.1 GB) and the Claude Code hook that wires them in. | |
| ## Run it | |
| Serve with mlx_lm, then point the hook at it (`infer.py` POSTs to `http://127.0.0.1:8080`): | |
| ```bash | |
| pip install mlx-lm | |
| mlx_lm.server --model <this-repo-or-local-path> --port 8080 | |
| ``` | |
| Direct generation: | |
| ```python | |
| from mlx_lm import load, generate | |
| m, tok = load("<this-repo-or-local-path>") | |
| print(generate(m, tok, prompt, max_tokens=24, temp=0.0)) | |
| ``` | |
| ## Wire into Claude Code | |
| Files in `claude-code/`: | |
| | File | Role | | |
| |------|------| | |
| | `hook_pretooluse.py` | the PreToolUse hook: rebuilds state from the transcript, asks the server, prints advisory context | | |
| | `infer.py` | client to the local mlx_lm.server; strips `<think>`, validates the hint | | |
| | `format_prompt.py` | shared train/inference prompt builder | | |
| | `build_from_raw.py` | transcript parser + state machine (`iter_pairs`, `_advance`) | | |
| | `clean_output.py` | `KNOWN_HINTS` + output validation | | |
| | `settings.snippet.json` | the `PreToolUse` config to merge into `~/.claude/settings.json` | | |
| Merge `settings.snippet.json` into `~/.claude/settings.json`, fixing the two absolute paths to your venv python and this folder. The hook fires on `Edit|Write|Bash`. | |
| ### Runtime cooldown | |
| Enforced at runtime in the hook via `/tmp/tinyguide_cooldown.json`: | |
| - `MIN_CALLS_BETWEEN = 3` tool calls between hints | |
| - `MAX_PER_SESSION = 5` cap per session | |
| You can tune these in `hook_pretooluse.py` pacing is a policy. |