Repository navigation
Expand file tree
/
Copy pathconfig.example
More file actions
32 lines (28 loc) · 1.69 KB
/
Copy pathconfig.example
File metadata and controls
32 lines (28 loc) · 1.69 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
# SubZeroClaw configuration
# Copy to ~/.subzeroclaw/config and edit.
# These are exactly the keys the runtime parses (see config_parse_line in
# src/subzeroclaw.c); anything else in this file is ignored.
# SubZeroClaw is designed to run on an unhardcoded router (routing with
# prompt-cache affinity + async compaction). So the key is an unhardcoded
# *consumer* key (llmr_…, minted in the router dashboard → Consumers), and
# `endpoint` points at the router. A bare OpenRouter/provider key still works but
# is a DEGRADED loop — no routing, no cache, no compaction (see the README).
api_key = "llmr_your-unhardcoded-consumer-key"
endpoint = "https://YOUR-UNHARDCODED-ROUTER/v1/chat/completions"
# The model is NOT a dedicated key — it rides in request_extra, the JSON merged
# into every request body. Give it as BARE JSON: no surrounding quotes and no
# backslash-escaping. The parser strips at most one pair of outer quotes and does
# NOT unescape, so a quoted "{\"model\":...}" reaches the JSON parser with literal
# backslashes and is silently dropped.
#
# Against the router, send a routing policy (author it with the unhardcoded-use
# skill); "policy:auto" tells the router to pick:
request_extra = {"model":"policy:auto","policy_ir":["policy", "..."]}
# Direct provider instead (degraded, no router): {"model": "minimax/minimax-m2.5"}
# compact_extra enables async context sealing at the router's /v1/compact:
# keep_recent (turns kept verbatim) + a cheap summariser policy. Bare JSON, same
# rule as request_extra. Unset => no compaction.
# compact_extra = {"keep_recent": 8, "policy_ir": ["policy", "..."]}
# skills_dir = "~/.subzeroclaw/skills"
# log_dir = "~/.subzeroclaw/logs"
# max_turns = 200