Skip to content

Commit 716b497

Browse files
profbernardojDavidAJohnston
authored andcommitted
fix: detect 'everclaw/' provider misconfiguration during install (v0.9.6)
Adds post-bootstrap config validation that catches the #1 onboarding issue: using 'everclaw/' as a model prefix. Everclaw is a skill, not a provider — this silently routes to Venice instead of Morpheus. Triggered by real user report (Alex) who staked MOR correctly but got billing errors because requests never reached the Morpheus network.
1 parent 8a9bbb2 commit 716b497

1 file changed

Lines changed: 41 additions & 0 deletions

File tree

install.sh

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,46 @@ bootstrap_inference() {
230230
configure_smartagent_defaults
231231
}
232232

233+
# ─── Post-Bootstrap: Validate Config (v0.9.6) ────────────────────────────────
234+
validate_config() {
235+
local config_file="$HOME/.openclaw/openclaw.json"
236+
[[ -f "$config_file" ]] || return 0
237+
238+
# Detect "everclaw/" provider prefix — the #1 misconfiguration
239+
local bad
240+
bad=$(python3 -c "
241+
import json
242+
try:
243+
c = json.load(open('$config_file'))
244+
bad = []
245+
p = c.get('agents',{}).get('defaults',{}).get('model',{}).get('primary','')
246+
if p.startswith('everclaw/'): bad.append(p)
247+
for f in c.get('agents',{}).get('defaults',{}).get('model',{}).get('fallbacks',[]):
248+
if f.startswith('everclaw/'): bad.append(f)
249+
if 'everclaw' in c.get('models',{}).get('providers',{}): bad.append('provider:everclaw')
250+
print(' '.join(bad))
251+
except: pass
252+
" 2>/dev/null)
253+
254+
if [[ -n "$bad" ]]; then
255+
warn "═══════════════════════════════════════════════════"
256+
warn " MISCONFIGURATION: 'everclaw/' is not a provider!"
257+
warn "═══════════════════════════════════════════════════"
258+
err ""
259+
err "Your config uses 'everclaw/' as a model prefix."
260+
err "Everclaw is a SKILL, not an inference provider."
261+
err "This routes to Venice (billing errors) instead of Morpheus."
262+
err ""
263+
log "Fix: change your model to:"
264+
info " mor-gateway/kimi-k2.5 — Morpheus API Gateway"
265+
info " morpheus/kimi-k2.5 — Local Morpheus P2P"
266+
err ""
267+
log "Or re-run the bootstrap to auto-fix:"
268+
info " node ~/.openclaw/workspace/skills/everclaw/scripts/bootstrap-gateway.mjs"
269+
err ""
270+
fi
271+
}
272+
233273
# ─── Step 5: Configure Workspace ─────────────────────────────────────────────
234274
configure_workspace() {
235275
log "Configuring SmartAgent workspace..."
@@ -379,6 +419,7 @@ main() {
379419
echo ""
380420
log "Step 4/6: Decentralized Inference"
381421
bootstrap_inference
422+
validate_config
382423

383424
echo ""
384425
log "Step 5/6: Workspace"

0 commit comments

Comments
 (0)