2.9 KiB
2.9 KiB
name, description, metadata
| name | description | metadata | ||||||
|---|---|---|---|---|---|---|---|---|
| local-llm-agent-stack | User's local on-device LLM agent stack — Hermes Agent + Ollama + Gemma 4 12B, and the gotchas hit while setting it up |
|
The user runs a local, on-device AI agent stack on their 32 GB Apple Silicon Mac (macOS 27): Hermes Agent (Nous Research) as the agent front-end, pointed at Ollama serving Gemma 4 12B. Set up 2026-06-15. This is separate from their other local-AI work (the ~/stable-diffusion-webui project) and reflects a clear preference for self-hosted / privacy-preserving AI over cloud APIs.
Why: They explicitly asked to install Gemma 4 12B and connect Hermes "on my computer." Knowing the stack exists (and its quirks) avoids re-deriving it and informs future recommendations toward local solutions.
How to apply:
- Ollama runs as a Homebrew login service at
http://localhost:11434(OpenAI-compatible API at/v1); it already launches withOLLAMA_FLASH_ATTENTION=1+OLLAMA_KV_CACHE_TYPE=q8_0. - Hermes requires ≥64K context. Base
gemma4:12bwasn't enough, so agemma4:12b-64kOllama variant was created via a Modelfile (PARAMETER num_ctx 65536). Hermes config (~/.hermes/config.yaml) uses provider=custom, model=gemma4:12b-64k, context_length=65536. PlaceholderOPENAI_API_KEY=ollamalives in~/.hermes/.env. - Hermes was installed via
uv tool install hermes-agent, NOT the officialcurl … install.sh(the git clone kept failing on a flaky network) and NOT plain pip (system Python is 3.14, but thehermes-agentPyPI pkg needs Python <3.14 — uv provides a managed 3.11). CLI lives at~/.local/bin/hermes. - Gemma 4 is a "thinking" model: over the
/v1endpoint Ollama returns chain-of-thought in areasoningfield and the answer incontent— don't cap max_tokens too low orcontentcomes back empty. - GUI:
hermes dashboardserves a local web UI at http://127.0.0.1:9119 (bundledweb_dist, runs with--skip-build— no Electron/repo needed; thehermes desktopElectron app would need the git repo we never cloned). Launched here as a setsid daemon; manage withhermes dashboard --status/--stop. - Tools configured (2026-06-16): base
browsertool works (drives the user's installed Google Chrome; set up viahermes postinstall+hermes doctor --fix). Web search via Tavily (TAVILY_API_KEYin~/.hermes/.env) — verified end-to-end through the agent. Hermes also ships keyless web providers (Brave-free, DDG) if ever needed. - Still pending / manual:
computer_use+browser-cdpreport "system dependency not met" —computer_useneeds macOS Accessibility + Screen-Recording grants (manual, can't be automated). Discord bot was requested: user creates app +DISCORD_BOT_TOKEN, thenhermes config set DISCORD_BOT_TOKEN/DISCORD_ALLOWED_USERS+hermes gateway install && start(uses privileged Message Content Intent).