-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathopenclaw.yaml
More file actions
269 lines (259 loc) · 8.59 KB
/
Copy pathopenclaw.yaml
File metadata and controls
269 lines (259 loc) · 8.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
# Reference config for this repo. Runtime config lives at ~/.openclaw/openclaw.json.
# This file is a human-readable template only. Do not store secrets here.
agents:
defaults:
model:
# Permanent low-cost posture: keep ORION on the cheapest viable hosted lane by default.
# Premium OpenAI/Codex routing is explicit opt-in only.
primary: openrouter/openrouter/free
fallbacks:
- openai/gpt-oss-20b:free
- minimax/MiniMax-M2.7-highspeed
- minimax/MiniMax-M2.7
# Keep premium and specialist lanes out of the default fallback chain.
# Route them intentionally only when low-cost lanes are insufficient.
# RECOMMENDED when running this repo locally:
# workspace: /Users/corystoner/src/ORION
compaction:
mode: safeguard
# As of OpenClaw 2026.3.x, explicitly pin critical sections after compaction.
postCompactionSections:
- Session Startup
- Red Lines
# Keep a short recent-turn tail before synthesis.
recentTurnsPreserve: 8
subagents:
# Native subagent control is the default for active sessions.
# Keep Task Packets as the durable record for work that must survive
# beyond the current session.
maxConcurrent: 11
maxSpawnDepth: 2
list:
- id: main
memorySearch:
sources:
- memory
- sessions
qmd:
extraCollections:
- name: ledger
path: ~/.openclaw/agents/ledger/sessions
- name: polaris
path: ~/.openclaw/agents/polaris/sessions
subagents:
allowAgents:
- atlas
- ember
- ledger
- polaris
- scribe
- wire
- id: atlas
# ATLAS is the only recursive orchestrator in ORION core.
# Keep its child surface limited to internal implementation lanes.
subagents:
allowAgents:
- node
- pulse
- stratus
- id: ember
# Keep specialist routing low-cost-first; Kimi stays available only as an explicit fallback.
model:
primary: openrouter/openrouter/free
fallbacks:
- openai/gpt-oss-20b:free
- nvidia-build/moonshotai/kimi-k2.5
auth:
cooldowns:
failureWindowHours: 12
overloadedProfileRotations: 0
overloadedBackoffMs: 45000
tools:
# As of OpenClaw 2026.3.x, new local installs default to tools.profile=messaging when unset.
# ORION is a local workspace agent and expects the broader coding tool posture.
profile: coding
web:
search:
enabled: true
# Low-cost default: keep provider-native Codex web_search off unless a premium research session explicitly needs it.
openaiCodex:
enabled: false
mode: cached
contextSize: high
userLocation:
country: US
region: PA
city: Pittsburgh
timezone: America/New_York
hooks:
internal:
enabled:
- session-memory
- command-logger
# Optional: Custom model providers for NVIDIA Build and local LM Studio (OpenAI-compatible).
# This is a template only; actual runtime config lives at ~/.openclaw/openclaw.json.
# Store provider secrets in ~/.openclaw/.env (see KEEP.md), not in Git.
#
models:
# Low-cost/offline default: skip startup pricing catalog fetches unless an
# operator intentionally wants live pricing refreshes.
pricing:
enabled: false
# models:
# mode: merge
# providers:
# nvidia-build:
# api: openai-completions
# baseUrl: https://integrate.api.nvidia.com/v1
# apiKey:
# source: env
# provider: default
# id: NVIDIA_API_KEY
# models:
# - id: moonshotai/kimi-k2.5
# name: Kimi K2.5 (NVIDIA Build)
# lmstudio:
# api: openai-completions
# baseUrl: http://127.0.0.1:1234/v1
# apiKey: ${LOCAL_LLM_API_KEY}
# models:
# - id: qwen3.5-9b-mlx
# name: Local bounded runtime
#
# Example routing (low-cost OpenRouter primary with cheap fallbacks, plus an optional Kimi specialist fallback):
# agents:
# defaults:
# model:
# primary: openrouter/openrouter/free
# fallbacks:
# - openai/gpt-oss-20b:free
# - minimax/MiniMax-M2.7-highspeed
# - minimax/MiniMax-M2.7
# list:
# - id: ember
# model:
# primary: openrouter/openrouter/free
# fallbacks:
# - nvidia-build/moonshotai/kimi-k2.5
channels:
telegram:
enabled: true
capabilities:
inlineButtons: allowlist
commands:
# Enable Telegram native slash-command registration.
native: true
nativeSkills: false
execApprovals:
enabled: true
approvers:
- "<CORY_TELEGRAM_USER_ID>"
target: dm
# Token file contains only the raw bot token + trailing newline.
# Keep secrets out of Git (see KEEP.md).
tokenFile: ~/.openclaw/secrets/telegram.token
# For local single-user use, prefer allowlist for predictable DM behavior.
dmPolicy: allowlist
allowFrom:
- "<CORY_TELEGRAM_USER_ID>"
groupPolicy: allowlist
groupAllowFrom:
- "<CORY_TELEGRAM_USER_ID>"
groups:
"<TELEGRAM_GROUP_ID>":
# OpenClaw 2026.3.x supports routing forum topics to dedicated agents.
topics:
"1":
agentId: main
"3":
agentId: atlas
"5":
agentId: ledger
"7":
agentId: ember
reactionLevel: ack
streaming: partial
# Discord channel (OpenClaw bundled plugin: `discord`, disabled by default).
# Notes:
# - Prefer storing DISCORD_BOT_TOKEN in ~/.openclaw/.env (see KEEP.md) and referencing it via SecretRef.
# - Lock down access with dm.policy allowlist/pairing and guild/channel allowlists.
discord:
enabled: false
# Bot token (recommended via SecretRef; do not commit secrets).
token:
source: env
provider: default
id: DISCORD_BOT_TOKEN
# Native commands (slash commands) support is available; "auto" lets OpenClaw decide.
commands:
native: auto
nativeSkills: auto
execApprovals:
enabled: true
approvers:
- "<CORY_DISCORD_USER_ID>"
target: dm
# Reply-to behavior inside Discord threads/channels.
# off = never reply-to a specific message, first = reply-to the first triggering message, all = reply-to every triggering message.
# For Discord threads, "first" can attempt to reply to the thread-starter
# system message. Keep it off for reliable delivery.
replyToMode: off
# DM policy (recommended: allowlist or pairing).
dm:
policy: allowlist
allowFrom:
- "<CORY_DISCORD_USER_ID>"
# Ignore other bots in guild channels (recommended even in private servers).
allowBots: false
# Guild/channel policy. Recommended: allowlist + explicit guild/channel IDs.
groupPolicy: allowlist
guilds:
"<DISCORD_GUILD_ID>":
# Freeform channel reading requires the Discord "Message Content" privileged intent.
# If you do not enable it, set requireMention: true (mention-gated) instead.
requireMention: false
channels:
# Primary request intake channel (auto-thread tasks).
"<DISCORD_PRIMARY_CHANNEL_ID>":
allow: true
# Auto-create a task thread for each new request in this channel.
autoThread: true
# Optional: updates/status channel (no auto-thread by default).
"<DISCORD_UPDATES_CHANNEL_ID>":
allow: true
autoThread: false
# Optional non-secret vars (applied only when missing from the process env).
# Keep ORION core free of product-specific extension env by default.
# env:
# vars:
# TELEGRAM_STREAM_DRAFT: "1"
# Delegation note:
# ORION core should delegate to the reduced specialist surface using OpenClaw isolated agents
# (preferred: sessions_spawn -> sessions_yield for active sessions), not by granting
# specialists any external channel permissions. Task Packets remain the durable record.
plugins:
slots:
memory: memory-lancedb
entries:
telegram:
enabled: true
open-prose:
enabled: true
memory-core:
# Dreaming pilot path for OpenClaw 2026.4.5+.
# Keep disabled until ORION is ready to migrate the active memory slot
# from memory-lancedb to memory-core.
enabled: false
config:
dreaming:
enabled: false
frequency: "0 3 * * *"
memory-lancedb:
enabled: true
config:
embedding:
apiKey: ${OPENROUTER_API_KEY}
baseUrl: https://openrouter.ai/api/v1
model: text-embedding-3-small
discord:
enabled: false