[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6H3REP3NTZYSZAJAMT5S965":3,"skill-same:01M6H3REP3NTZYSZAJAMT5S965":70},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":50,"commitSha":51,"skillDirectory":52,"forksCount":53,"repositoryHtmlUrl":54,"repositoryHomepageUrl":54,"ownerHtmlUrl":55,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":56,"install":57,"resources":69},"01M6H3REP3NTZYSZAJAMT5S965","add-ollama-tool",null,"Add Ollama MCP server so the container agent can call local models for cheaper\u002Ffaster tasks like summarization, translation, or general queries.","sliamh11\u002FDeus","sliamh11","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F68326628?v=4","01M6H3PPFXQ6C98QV1RJA5W72S","Liam Steiner","01M6H3PPM81GJC6KYCNTY9A3AT",51,"MIT","https:\u002F\u002Fgithub.com\u002Fsliamh11\u002FDeus\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fadd-ollama-tool\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"add ollama tool","add","tool","ollama","general","for","can","true","local","call","summarization","translation","queries","MCP","models","container","Local Models","server","tasks","mcp server","2026-11-10 10:12:30",false,"---\nname: add-ollama-tool\ndescription: Add Ollama MCP server so the container agent can call local models for cheaper\u002Ffaster tasks like summarization, translation, or general queries.\ndisable-model-invocation: true\n---\n\n# Add Ollama Integration\n\nThis 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.\n\nTools added:\n- `ollama_list_models` — lists installed Ollama models\n- `ollama_generate` — sends a prompt to a specified model and returns the response\n\n## Phase 1: Pre-flight\n\n### Check if already applied\n\nCheck if `container\u002Fagent-runner\u002Fsrc\u002Follama-mcp-stdio.ts` exists. If it does, skip to Phase 3 (Configure).\n\n### Check prerequisites\n\nVerify Ollama is installed and running on the host:\n\n```bash\nollama list\n```\n\nIf Ollama is not installed, direct the user to https:\u002F\u002Follama.com\u002Fdownload.\n\nIf no models are installed, suggest pulling one:\n\n> You need at least one model. I recommend:\n>\n> ```bash\n> ollama pull gemma3:1b    # Small, fast (1GB)\n> ollama pull llama3.2     # Good general purpose (2GB)\n> ollama pull qwen3-coder:30b  # Best for code tasks (18GB)\n> ```\n\n## Phase 2: Apply Code Changes\n\nCheck if the Ollama MCP server files are already present:\n\n```bash\ntest -f container\u002Fagent-runner\u002Fsrc\u002Follama-mcp-stdio.ts && echo \"Already present\" || echo \"Not present\"\n```\n\nIf not present, the Ollama integration needs to be implemented locally. The following files are involved:\n- `container\u002Fagent-runner\u002Fsrc\u002Follama-mcp-stdio.ts` (Ollama MCP server)\n- `scripts\u002Follama-watch.sh` (macOS notification watcher)\n- Ollama MCP config in `container\u002Fagent-runner\u002Fsrc\u002Findex.ts` (allowedTools + mcpServers)\n- `[OLLAMA]` log surfacing in `src\u002Fcontainer-runner.ts`\n- `OLLAMA_HOST` in `.env.example`\n\nIf the merge reports conflicts, resolve them by reading the conflicted files and understanding the intent of both sides.\n\n### Copy to per-group agent-runner\n\nExisting groups have a cached copy of the agent-runner source. Copy the new files:\n\n```bash\nfor dir in data\u002Fsessions\u002F*\u002Fagent-runner-src; do\n  cp container\u002Fagent-runner\u002Fsrc\u002Follama-mcp-stdio.ts \"$dir\u002F\"\n  cp container\u002Fagent-runner\u002Fsrc\u002Findex.ts \"$dir\u002F\"\ndone\n```\n\n### Validate code changes\n\n```bash\nnpm run build\n.\u002Fcontainer\u002Fbuild.sh\n```\n\nBuild must be clean before proceeding.\n\n## Phase 3: Configure\n\n### Set Ollama host (optional)\n\nBy default, the MCP server connects to `http:\u002F\u002Fhost.docker.internal:11434` (Docker Desktop) with a fallback to `localhost`. To use a custom Ollama host, add to `.env`:\n\n```bash\nOLLAMA_HOST=http:\u002F\u002Fyour-ollama-host:11434\n```\n\n### Restart the service\n\n```bash\nlaunchctl kickstart -k gui\u002F$(id -u)\u002Fcom.deus  # macOS\n# Linux: systemctl --user restart deus\n```\n\n## Phase 4: Verify\n\n### Test via WhatsApp\n\nTell the user:\n\n> Send a message like: \"use ollama to tell me the capital of France\"\n>\n> The agent should use `ollama_list_models` to find available models, then `ollama_generate` to get a response.\n\n### Monitor activity (optional)\n\nRun the watcher script for macOS notifications when Ollama is used:\n\n```bash\n.\u002Fscripts\u002Follama-watch.sh\n```\n\n### Check logs if needed\n\n```bash\ntail -f logs\u002Fdeus.log | grep -i ollama\n```\n\nLook for:\n- `Agent output: ... Ollama ...` — agent used Ollama successfully\n- `[OLLAMA] >>> Generating` — generation started (if log surfacing works)\n- `[OLLAMA] \u003C\u003C\u003C Done` — generation completed\n\n## Troubleshooting\n\n### Agent says \"Ollama is not installed\"\n\nThe agent is trying to run `ollama` CLI inside the container instead of using the MCP tools. This means:\n1. The MCP server wasn't registered — check `container\u002Fagent-runner\u002Fsrc\u002Findex.ts` has the `ollama` entry in `mcpServers`\n2. The per-group source wasn't updated — re-copy files (see Phase 2)\n3. The container wasn't rebuilt — run `.\u002Fcontainer\u002Fbuild.sh`\n\n### \"Failed to connect to Ollama\"\n\n1. Verify Ollama is running: `ollama list`\n2. Check Docker can reach the host: `docker run --rm curlimages\u002Fcurl curl -s http:\u002F\u002Fhost.docker.internal:11434\u002Fapi\u002Ftags`\n3. If using a custom host, check `OLLAMA_HOST` in `.env`\n\n### Agent doesn't use Ollama tools\n\nThe agent may not know about the tools. Try being explicit: \"use the ollama_generate tool with gemma3:1b to answer: ...\"\n","# Add Ollama Integration\n\nThis 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.\n\nTools added:\n- `ollama_list_models` — lists installed Ollama models\n- `ollama_generate` — sends a prompt to a specified model and returns the response\n\n## Phase 1: Pre-flight\n\n### Check if already applied\n\nCheck if `container\u002Fagent-runner\u002Fsrc\u002Follama-mcp-stdio.ts` exists. If it does, skip to Phase 3 (Configure).\n\n### Check prerequisites\n\nVerify Ollama is installed and running on the host:\n\n```bash\nollama list\n```\n\nIf Ollama is not installed, direct the user to https:\u002F\u002Follama.com\u002Fdownload.\n\nIf no models are installed, suggest pulling one:\n\n> You need at least one model. I recommend:\n>\n> ```bash\n> ollama pull gemma3:1b    # Small, fast (1GB)\n> ollama pull llama3.2     # Good general purpose (2GB)\n> ollama pull qwen3-coder:30b  # Best for code tasks (18GB)\n> ```\n\n## Phase 2: Apply Code Changes\n\nCheck if the Ollama MCP server files are already present:\n\n```bash\ntest -f container\u002Fagent-runner\u002Fsrc\u002Follama-mcp-stdio.ts && echo \"Already present\" || echo \"Not present\"\n```\n\nIf not present, the Ollama integration needs to be implemented locally. The following files are involved:\n- `container\u002Fagent-runner\u002Fsrc\u002Follama-mcp-stdio.ts` (Ollama MCP server)\n- `scripts\u002Follama-watch.sh` (macOS notification watcher)\n- Ollama MCP config in `container\u002Fagent-runner\u002Fsrc\u002Findex.ts` (allowedTools + mcpServers)\n- `[OLLAMA]` log surfacing in `src\u002Fcontainer-runner.ts`\n- `OLLAMA_HOST` in `.env.example`\n\nIf the merge reports conflicts, resolve them by reading the conflicted files and understanding the intent of both sides.\n\n### Copy to per-group agent-runner\n\nExisting groups have a cached copy of the agent-runner source. Copy the new files:\n\n```bash\nfor dir in data\u002Fsessions\u002F*\u002Fagent-runner-src; do\n  cp container\u002Fagent-runner\u002Fsrc\u002Follama-mcp-stdio.ts \"$dir\u002F\"\n  cp container\u002Fagent-runner\u002Fsrc\u002Findex.ts \"$dir\u002F\"\ndone\n```\n\n### Validate code changes\n\n```bash\nnpm run build\n.\u002Fcontainer\u002Fbuild.sh\n```\n\nBuild must be clean before proceeding.\n\n## Phase 3: Configure\n\n### Set Ollama host (optional)\n\nBy default, the MCP server connects to `http:\u002F\u002Fhost.docker.internal:11434` (Docker Desktop) with a fallback to `localhost`. To use a custom Ollama host, add to `.env`:\n\n```bash\nOLLAMA_HOST=http:\u002F\u002Fyour-ollama-host:11434\n```\n\n### Restart the service\n\n```bash\nlaunchctl kickstart -k gui\u002F$(id -u)\u002Fcom.deus  # macOS\n# Linux: systemctl --user restart deus\n```\n\n## Phase 4: Verify\n\n### Test via WhatsApp\n\nTell the user:\n\n> Send a message like: \"use ollama to tell me the capital of France\"\n>\n> The agent should use `ollama_list_models` to find available models, then `ollama_generate` to get a response.\n\n### Monitor activity (optional)\n\nRun the watcher script for macOS notifications when Ollama is used:\n\n```bash\n.\u002Fscripts\u002Follama-watch.sh\n```\n\n### Check logs if needed\n\n```bash\ntail -f logs\u002Fdeus.log | grep -i ollama\n```\n\nLook for:\n- `Agent output: ... Ollama ...` — agent used Ollama successfully\n- `[OLLAMA] >>> Generating` — generation started (if log surfacing works)\n- `[OLLAMA] \u003C\u003C\u003C Done` — generation completed\n\n## Troubleshooting\n\n### Agent says \"Ollama is not installed\"\n\nThe agent is trying to run `ollama` CLI inside the container instead of using the MCP tools. This means:\n1. The MCP server wasn't registered — check `container\u002Fagent-runner\u002Fsrc\u002Findex.ts` has the `ollama` entry in `mcpServers`\n2. The per-group source wasn't updated — re-copy files (see Phase 2)\n3. The container wasn't rebuilt — run `.\u002Fcontainer\u002Fbuild.sh`\n\n### \"Failed to connect to Ollama\"\n\n1. Verify Ollama is running: `ollama list`\n2. Check Docker can reach the host: `docker run --rm curlimages\u002Fcurl curl -s http:\u002F\u002Fhost.docker.internal:11434\u002Fapi\u002Ftags`\n3. If using a custom host, check `OLLAMA_HOST` in `.env`\n\n### Agent doesn't use Ollama tools\n\nThe agent may not know about the tools. Try being explicit: \"use the ollama_generate tool with gemma3:1b to answer: ...\"\n",{"name":5,"description":7,"disable-model-invocation":49},true,"main","2f24c38a2ae42d3161492f0729975b286452f4b4",".claude\u002Fskills\u002Fadd-ollama-tool",7,"https:\u002F\u002Fgithub.com\u002Fsliamh11\u002FDeus","https:\u002F\u002Fgithub.com\u002Fsliamh11","2026-11-13 20:39:27",{"source":8,"skillName":5,"commands":58,"prompt":68,"zipAvailable":49},[59,62,65],{"tool":60,"command":61},"npx","npx skills add sliamh11\u002FDeus --skill add-ollama-tool",{"tool":63,"command":64},"bunx","bunx skills add sliamh11\u002FDeus --skill add-ollama-tool",{"tool":66,"command":67},"pnpm","pnpm dlx skills add sliamh11\u002FDeus --skill add-ollama-tool","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fsliamh11\u002FDeus\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fadd-ollama-tool\u002FSKILL.md",[],[71,95,115,129,139,153],{"skillNo":72,"name":73,"nameZh":6,"description":74,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":75,"categories":76,"keywords":77,"publishedAt":44},"01M6H3ZC87AJDM8566RP3CQ6BF","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 \u002Fstatus.","https:\u002F\u002Fgithub.com\u002Fsliamh11\u002FDeus\u002Fblob\u002Fmain\u002Fcontainer\u002Fskills\u002Fstatus\u002FSKILL.md",[],[73,78,79,29,80,81,82,83,84,85,86,87,88,89,90,91,92,93,26,94],"health","snapshot","read-only","quick","availability","session context","task","health check","only","use","session","user","context","read","check","workspace","system",{"skillNo":96,"name":97,"nameZh":6,"description":98,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":99,"categories":100,"keywords":106,"publishedAt":44},"01M6H3Z8SK38PVH2B0W7NBP6ZP","resume","Load context from permanent memory and recent session logs. Tiered loading — CLAUDE.md full, session logs frontmatter-only by default.","https:\u002F\u002Fgithub.com\u002Fsliamh11\u002FDeus\u002Fblob\u002Fmain\u002Fcontainer\u002Fskills\u002Fresume\u002FSKILL.md",[101],{"categoryNo":102,"categoryName":103,"taxonomyType":104,"taxonomyTypeDesc":105},"01JBSEEDCAT000000000000038","人力资源","PROFESSION","适用职业",[97,107,108,109,110,111,112,86,88,90,113,114],"memory","load","loading","full","session logs","default","logs","frontmatter",{"skillNo":116,"name":117,"nameZh":6,"description":118,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":119,"categories":120,"keywords":121,"publishedAt":44},"01M6H3Z56ZBPKX77THMWSSHZCW","preserve","Scan the current conversation and silently save anything worth permanent memory to CLAUDE.md. Keeps the file compact — structured key:value, no prose.","https:\u002F\u002Fgithub.com\u002Fsliamh11\u002FDeus\u002Fblob\u002Fmain\u002Fcontainer\u002Fskills\u002Fpreserve\u002FSKILL.md",[],[117,122,123,124,125,126,127,128,107],"structured","compact","scan","conversation","prose","save","file",{"skillNo":130,"name":131,"nameZh":6,"description":132,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":133,"categories":134,"keywords":135,"publishedAt":44},"01M6H3Z1AKK58CWWY762YD3X9A","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).","https:\u002F\u002Fgithub.com\u002Fsliamh11\u002FDeus\u002Fblob\u002Fmain\u002Fcontainer\u002Fskills\u002Fcompress\u002FSKILL.md",[],[131,136,114,110,123,137,88,127,138],"with","log","vault",{"skillNo":140,"name":141,"nameZh":6,"description":142,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":143,"categories":144,"keywords":145,"publishedAt":44},"01M6H3YX6STE1ZJC06EKWMY0M6","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 \u002Fcapabilities.","https:\u002F\u002Fgithub.com\u002Fsliamh11\u002FDeus\u002Fblob\u002Fmain\u002Fcontainer\u002Fskills\u002Fcapabilities\u002FSKILL.md",[],[141,146,147,94,80,30,148,149,150,151,152,86,87,89,91],"Tools","bot","system info","info","what the","do","show",{"skillNo":154,"name":155,"nameZh":6,"description":156,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":157,"categories":158,"keywords":160,"publishedAt":44},"01M6H3YSNXYAR7NC1TZPFCANZN","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.","https:\u002F\u002Fgithub.com\u002Fsliamh11\u002FDeus\u002Fblob\u002Fmain\u002Fcontainer\u002Fskills\u002Fagent-browser\u002FSKILL.md",[159],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[161,162,163,29,136,164,165,166,84,167,87,91,168,169,170,171,172,173,174,175],"agent browser","browser","take","apps","pages","forms","test web","just","Bash","browse","data","web","test","research","screenshots"]