Skip to content

Commit a52c6c3

Browse files
committed
Add models env vars
1 parent 1b403b1 commit a52c6c3

File tree

2 files changed

+58
-6
lines changed

2 files changed

+58
-6
lines changed

README.md

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,25 @@ All images built for `linux/amd64` and `linux/arm64`
2626

2727
## Environment Variables
2828

29-
| Variable | Default Value | Description |
30-
|--------------------------------------------------|---------------|-------------|
31-
| `OPENCLAW_GATEWAY_CONTROLUI_ALLOWED_ORIGIN_JSON` | | |
32-
| `OPENCLAW_STATE_DIR` | `/data` | |
29+
| Variable | Default Value | Description |
30+
|--------------------------------------------------|--------------------------------|---------------------------------------------------------------------------------------|
31+
| `OPENCLAW_GATEWAY_CONTROLUI_ALLOWED_ORIGIN_JSON` | | |
32+
| `OPENCLAW_AGENTS_WORKSPACE` | `~/.openclaw/workspace` | Default workspace for agents |
33+
| `OPENCLAW_OPENAI_MODEL` | `openai/gpt-5.4` | Primary model for the `openai` agent when `OPENAI_API_KEY` is set |
34+
| `OPENCLAW_OPENAI_WORKSPACE` | `~/.openclaw/workspace-openai` | Workspace override for the `openai` agent |
35+
| `OPENCLAW_CLAUDE_MODEL` | `anthropic/claude-opus-4-6` | Primary model for the `claude` agent when `ANTHROPIC_API_KEY` is set |
36+
| `OPENCLAW_CLAUDE_WORKSPACE` | `~/.openclaw/workspace-claude` | Workspace override for the `claude` agent |
37+
| `OPENCLAW_GEMINI_MODEL` | `google/gemini-3-pro-preview` | Primary model for the `gemini` agent when `GEMINI_API_KEY` or `GOOGLE_API_KEY` is set |
38+
| `OPENCLAW_GEMINI_WORKSPACE` | `~/.openclaw/workspace-gemini` | Workspace override for the `gemini` agent |
39+
| `OPENCLAW_STATE_DIR` | `/data` | |
40+
41+
OpenClaw will now add agents automatically when the corresponding provider credentials are present:
42+
43+
- `OPENAI_API_KEY` adds the `openai` agent
44+
- `ANTHROPIC_API_KEY` adds the `claude` agent
45+
- `GEMINI_API_KEY` or `GOOGLE_API_KEY` adds the `gemini` agent
46+
47+
The first available provider in that order becomes the default agent.
3348

3449

3550
## Orchestration Actions

templates/openclaw.json.tmpl

Lines changed: 39 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,46 @@
1-
{
1+
{
22
gateway: {
33
mode: "local",
44
bind: "lan",
55
controlUi: {
66
allowedOrigins: {{ if getenv "OPENCLAW_GATEWAY_CONTROLUI_ALLOWED_ORIGIN_JSON" }}{{ getenv "OPENCLAW_GATEWAY_CONTROLUI_ALLOWED_ORIGIN_JSON" }}{{ else }}["http://127.0.0.1:18789"]{{ end }}
77
}
8+
},
9+
agents: {
10+
defaults: {
11+
workspace: {{ if getenv "OPENCLAW_AGENTS_WORKSPACE" }}{{ printf "%q" (getenv "OPENCLAW_AGENTS_WORKSPACE") }}{{ else }}"~/.openclaw/workspace"{{ end }}
12+
}{{ if or (getenv "OPENAI_API_KEY") (getenv "ANTHROPIC_API_KEY") (getenv "GEMINI_API_KEY") (getenv "GOOGLE_API_KEY") }},
13+
list: [
14+
{{- if getenv "OPENAI_API_KEY" }}
15+
{
16+
id: "openai",
17+
default: true,
18+
workspace: {{ if getenv "OPENCLAW_OPENAI_WORKSPACE" }}{{ printf "%q" (getenv "OPENCLAW_OPENAI_WORKSPACE") }}{{ else }}"~/.openclaw/workspace-openai"{{ end }},
19+
model: {
20+
primary: {{ if getenv "OPENCLAW_OPENAI_MODEL" }}{{ printf "%q" (getenv "OPENCLAW_OPENAI_MODEL") }}{{ else }}"openai/gpt-5.4"{{ end }}
21+
}
22+
}{{ if or (getenv "ANTHROPIC_API_KEY") (getenv "GEMINI_API_KEY") (getenv "GOOGLE_API_KEY") }},{{ end }}
23+
{{- end }}
24+
{{- if getenv "ANTHROPIC_API_KEY" }}
25+
{
26+
id: "claude",
27+
default: {{ if not (getenv "OPENAI_API_KEY") }}true{{ else }}false{{ end }},
28+
workspace: {{ if getenv "OPENCLAW_CLAUDE_WORKSPACE" }}{{ printf "%q" (getenv "OPENCLAW_CLAUDE_WORKSPACE") }}{{ else }}"~/.openclaw/workspace-claude"{{ end }},
29+
model: {
30+
primary: {{ if getenv "OPENCLAW_CLAUDE_MODEL" }}{{ printf "%q" (getenv "OPENCLAW_CLAUDE_MODEL") }}{{ else }}"anthropic/claude-opus-4-6"{{ end }}
31+
}
32+
}{{ if or (getenv "GEMINI_API_KEY") (getenv "GOOGLE_API_KEY") }},{{ end }}
33+
{{- end }}
34+
{{- if or (getenv "GEMINI_API_KEY") (getenv "GOOGLE_API_KEY") }}
35+
{
36+
id: "gemini",
37+
default: {{ if and (not (getenv "OPENAI_API_KEY")) (not (getenv "ANTHROPIC_API_KEY")) }}true{{ else }}false{{ end }},
38+
workspace: {{ if getenv "OPENCLAW_GEMINI_WORKSPACE" }}{{ printf "%q" (getenv "OPENCLAW_GEMINI_WORKSPACE") }}{{ else }}"~/.openclaw/workspace-gemini"{{ end }},
39+
model: {
40+
primary: {{ if getenv "OPENCLAW_GEMINI_MODEL" }}{{ printf "%q" (getenv "OPENCLAW_GEMINI_MODEL") }}{{ else }}"google/gemini-3-pro-preview"{{ end }}
41+
}
42+
}
43+
{{- end }}
44+
]{{ end }}
845
}
9-
}
46+
}

0 commit comments

Comments
 (0)