migrate cc-config to chezmoi: add all skills, agents, and openclaw installer

- Add 4 missing skills: chromedp-alpine-container, claude-memory-api,
  openclaw-custom-model-provider, webrtc-turn-shared-secret
- Add 9 custom agents: sre, dba, devops-engineer, platform-engineer,
  security-engineer, network-engineer, observability-engineer,
  home-automation-engineer, cluster-health-checker
- Add openclaw-install.sh: standalone script to clone dotfiles and
  install skills/agents/hooks/settings to OpenClaw's home directory
  Replaces the cc-config NFS volume + sync.sh approach
This commit is contained in:
Viktor Barzin 2026-03-15 16:02:05 +00:00
parent ba3ec6ced5
commit c95ffa03c5
16 changed files with 1013 additions and 2 deletions

View file

@ -0,0 +1,155 @@
---
name: openclaw-custom-model-provider
description: |
Configure custom model providers in OpenClaw (openclaw.ai). Use when:
(1) adding a new LLM provider (Llama API, LM Studio, custom proxy) to OpenClaw,
(2) changing the default model in OpenClaw, (3) enabling/disabling tools and
commands in OpenClaw, (4) user mentions openclaw.json or openclaw configuration.
Covers the models.providers JSON structure, agent defaults, and tool permissions.
author: Claude Code
version: 1.0.0
date: 2026-02-16
---
# OpenClaw Custom Model Provider Configuration
## Problem
OpenClaw supports custom OpenAI-compatible model providers, but the configuration
structure requires checking multiple documentation pages to assemble correctly.
## Context / Trigger Conditions
- User wants to add a new LLM provider to OpenClaw
- User has an API key for Llama API, OpenRouter, LM Studio, or another OpenAI-compatible service
- User wants to change the default model OpenClaw uses
- User wants to enable all tools/commands (remove denyCommands restrictions)
## Solution
### Config File Location
`~/.openclaw/openclaw.json`
### Adding a Custom Provider
Add to the `models.providers` object:
```json
{
"models": {
"mode": "merge",
"providers": {
"my-provider": {
"baseUrl": "https://api.example.com/compat/v1",
"apiKey": "YOUR_API_KEY",
"api": "openai-completions",
"models": [
{
"id": "model-id",
"name": "Display Name",
"reasoning": false,
"input": ["text"],
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
},
"contextWindow": 200000,
"maxTokens": 8192
}
]
}
}
}
}
```
**Key fields:**
- `api`: Protocol — `"openai-completions"` | `"openai-responses"` | `"anthropic-messages"` | `"google-generative-ai"`
- `mode`: `"merge"` (default, keeps built-in providers) or `"replace"` (only custom)
- `cost`: Set all to `0` for free/self-hosted models
- Model reference format: `provider-name/model-id` (e.g., `llama-as-openai/Llama-4-Maverick-17B-128E-Instruct-FP8`)
### Setting Default Model
```json
{
"agents": {
"defaults": {
"model": {
"primary": "my-provider/model-id",
"fallbacks": ["ollama/local-model"]
},
"models": {
"my-provider/model-id": {},
"ollama/local-model": {}
}
}
}
}
```
### Enabling All Tools/Commands
To remove tool restrictions:
```json
{
"commands": {
"native": true,
"nativeSkills": true
},
"gateway": {
"nodes": {
"denyCommands": []
}
}
}
```
Default `denyCommands` blocks: `camera.snap`, `camera.clip`, `screen.record`,
`calendar.add`, `contacts.add`, `reminders.add`.
### Common Provider Examples
**Llama API:**
```json
"llama-as-openai": {
"baseUrl": "https://api.llama.com/compat/v1",
"apiKey": "LLM|...",
"api": "openai-completions"
}
```
**Local Ollama:**
```json
"ollama": {
"baseUrl": "http://127.0.0.1:11434/v1",
"apiKey": "none",
"api": "openai-completions"
}
```
**LM Studio:**
```json
"lmstudio": {
"baseUrl": "http://127.0.0.1:1234/v1",
"apiKey": "lmstudio",
"api": "openai-responses"
}
```
## Verification
- Restart OpenClaw after config changes
- Run `openclaw` and check that the new model appears in model selection
- Send a test message to verify the provider responds
## Notes
- `mode: "merge"` is the default and recommended — it keeps built-in providers alongside custom ones
- Optional fields: `authHeader` (boolean), `headers` (object for custom HTTP headers)
- Set `reasoning: true` for models that support chain-of-thought (e.g., DeepSeek R1)
- OpenClaw docs: https://docs.openclaw.ai/gateway/configuration-reference.md
## References
- [OpenClaw Configuration Reference](https://docs.openclaw.ai/gateway/configuration-reference.md)
- [OpenClaw Configuration Examples](https://docs.openclaw.ai/gateway/configuration-examples.md)
- [OpenClaw Model Providers](https://docs.openclaw.ai/concepts/model-providers.md)