add-ollama-tool
Add Ollama MCP server so the container agent can call local models for cheaper/faster tasks like summarization, translation, or general queries.
- License 许可
- MIT
- 所属仓库
- sliamh11/Deus
- 最近更新
- 2026-11-13
- Stars
- ★ 51
- Forks
- 7
01 前言 Front Matter
- name
- add-ollama-tool
- description
- Add Ollama MCP server so the container agent can call local models for cheaper/faster tasks like summarization, translation, or general queries.
- disable-model-invocation
- true
03 SKILL.md 正文
Add Ollama Integration
This skill adds a stdio-based MCP server that exposes local Ollama models as tools for the container agent. Claude remains the orchestrator but can offload work to local models.
Tools added:
ollama_list_models— lists installed Ollama modelsollama_generate— sends a prompt to a specified model and returns the response
Phase 1: Pre-flight
Check if already applied
Check if container/agent-runner/src/ollama-mcp-stdio.ts exists. If it does, skip to Phase 3 (Configure).
Check prerequisites
Verify Ollama is installed and running on the host:
ollama list
If Ollama is not installed, direct the user to https://ollama.com/download.
If no models are installed, suggest pulling one:
You need at least one model. I recommend:
ollama pull gemma3:1b # Small, fast (1GB) ollama pull llama3.2 # Good general purpose (2GB) ollama pull qwen3-coder:30b # Best for code tasks (18GB)
Phase 2: Apply Code Changes
Check if the Ollama MCP server files are already present:
test -f container/agent-runner/src/ollama-mcp-stdio.ts && echo "Already present" || echo "Not present"
If not present, the Ollama integration needs to be implemented locally. The following files are involved:
container/agent-runner/src/ollama-mcp-stdio.ts(Ollama MCP server)scripts/ollama-watch.sh(macOS notification watcher)- Ollama MCP config in
container/agent-runner/src/index.ts(allowedTools + mcpServers) [OLLAMA]log surfacing insrc/container-runner.tsOLLAMA_HOSTin.env.example
If the merge reports conflicts, resolve them by reading the conflicted files and understanding the intent of both sides.
Copy to per-group agent-runner
Existing groups have a cached copy of the agent-runner source. Copy the new files:
for dir in data/sessions/*/agent-runner-src; do
cp container/agent-runner/src/ollama-mcp-stdio.ts "$dir/"
cp container/agent-runner/src/index.ts "$dir/"
done
Validate code changes
npm run build
./container/build.sh
Build must be clean before proceeding.
Phase 3: Configure
Set Ollama host (optional)
By default, the MCP server connects to http://host.docker.internal:11434 (Docker Desktop) with a fallback to localhost. To use a custom Ollama host, add to .env:
OLLAMA_HOST=http://your-ollama-host:11434
Restart the service
launchctl kickstart -k gui/$(id -u)/com.deus # macOS
# Linux: systemctl --user restart deus
Phase 4: Verify
Test via WhatsApp
Tell the user:
Send a message like: "use ollama to tell me the capital of France"
The agent should use
ollama_list_modelsto find available models, thenollama_generateto get a response.
Monitor activity (optional)
Run the watcher script for macOS notifications when Ollama is used:
./scripts/ollama-watch.sh
Check logs if needed
tail -f logs/deus.log | grep -i ollama
Look for:
Agent output: ... Ollama ...— agent used Ollama successfully[OLLAMA] >>> Generating— generation started (if log surfacing works)[OLLAMA] <<< Done— generation completed
Troubleshooting
Agent says "Ollama is not installed"
The agent is trying to run ollama CLI inside the container instead of using the MCP tools. This means:
- The MCP server wasn't registered — check
container/agent-runner/src/index.tshas theollamaentry inmcpServers - The per-group source wasn't updated — re-copy files (see Phase 2)
- The container wasn't rebuilt — run
./container/build.sh
"Failed to connect to Ollama"
- Verify Ollama is running:
ollama list - Check Docker can reach the host:
docker run --rm curlimages/curl curl -s http://host.docker.internal:11434/api/tags - If using a custom host, check
OLLAMA_HOSTin.env
Agent doesn't use Ollama tools
The agent may not know about the tools. Try being explicit: "use the ollama_generate tool with gemma3:1b to answer: ..."
04 同仓库更多 Skills
status
Quick read-only health check — session context, workspace mounts, tool availability, and task snapshot. Use when the user asks for system status or runs /status.
resume
Load context from permanent memory and recent session logs. Tiered loading — CLAUDE.md full, session logs frontmatter-only by default.
preserve
Scan the current conversation and silently save anything worth permanent memory to CLAUDE.md. Keeps the file compact — structured key:value, no prose.
compress
Save the current session to the vault. Writes a compact session log with a TL;DR frontmatter (always) and full details below (when useful).
capabilities
Show what this Deus instance can do — installed skills, available tools, and system info. Read-only. Use when the user asks what the bot can do, what's installed, or runs /capabilities.
agent-browser
Browse the web for any task — research topics, read articles, interact with web apps, fill forms, take screenshots, extract data, and test web pages. Use whenever a browser would be useful, not just when the user explicitly asks.