-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathconfig.example
More file actions
138 lines (126 loc) · 4.78 KB
/
Copy pathconfig.example
File metadata and controls
138 lines (126 loc) · 4.78 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
# Save to ~/.config/3code/config
#
# Values are Nim string literals — always wrap them in double quotes.
# parsecfg treats ':', '=', and '#' as syntax in unquoted values, so
# unquoted URLs or API keys will silently truncate or drop.
[settings]
current = "baseten.glm5"
; current = "openai.gpt-4o-mini"
; auto_update = "true" ; on for prebuilt binaries, off for source builds
; [search] configures the `web_search` tool. Engine is one of:
; exa (default) keyless MCP endpoint; exa-key for a paid tier
; parallel keyless MCP endpoint
; brave keyed REST endpoint; requires brave-key
; No automatic failover: the chosen engine is used as-is. Keys are
; engine-specific (`exa-key`, `brave-key`) and also read from their env
; vars (EXA_API_KEY, BRAVE_API_KEY).
; [search]
; engine = "brave"
; exa-key = "..."
; brave-key = "..."
; notify = off ; turn off the desktop notification that fires when a turn ends (on by default)
; sandbox = off ; disable filesystem sandbox enforcement (on by default: .sandbox in the project, else ~/.config/3code/sandbox)
; patient_retry = off ; disable patient retry of 429/5xx/network errors (on by default: ~36h hold so a long-running session rides out a usage limit or network dropout without dropping to the prompt)
; sandbox_wall_warn = off ; silence the Windows "wall not set up" warning (host rules in policy, no `3code wall setup-windows` yet)
; bash_path = "C:\\tools\\msys64\\usr\\bin\\bash.exe" ; Windows only: override bash detection
# Colour tone. 3code detects dark vs light background automatically by
# querying the terminal background (OSC 11). Set `tone` to pin it instead
# (the legacy key `mode` and value "bright" still work):
# tone = "auto" detect from the terminal (the default)
# tone = "dark" force the dark palette
# tone = "light" force the light-background palette
; tone = "light"
#
# The white-family colours can be overridden per tone. A plain key sets
# BOTH tones; a "-light" key sets light tone only and wins there. Keys
# are bright-white, off-white, dim-white. Values are quoted ANSI escape
# sequences (parsecfg interprets backslash escapes, so "\x1b[30m" becomes
# a real ESC byte). Defaults:
# bright-white = "\x1b[97m" (dark) / "\x1b[30m" (light, black)
# off-white = "\x1b[38;5;252m" / "\x1b[38;5;238m"
# dim-white = "\x1b[38;5;244m" / "\x1b[38;5;250m"
# The colourful colours (cyan/green/red/magenta) are fixed in both tones.
;
; [colors]
; bright-white = "\x1b[37m"
; bright-white-light = "\x1b[30m"
[provider]
name = "baseten"
url = "https://inference.baseten.co/v1"
key = "..."
models = "zai-org/GLM-5 thinkingmachines/inkling"
[provider]
name = "openai"
url = "https://api.openai.com/v1"
key = "sk-..."
models = "gpt-4o-mini gpt-4o"
[provider]
name = "groq"
url = "https://api.groq.com/openai/v1"
key = "gsk_..."
models = "llama-3.3-70b-versatile llama-3.1-8b-instant"
[provider]
name = "openrouter"
url = "https://openrouter.ai/api/v1"
key = "sk-or-..."
models = "openai/gpt-oss-120b"
; SuperGrok subscription (browser OAuth via `:provider add` → supergrok).
; Tokens live in $XDG_DATA_HOME/3code/auth/xai.json and refresh automatically.
; Can sit beside an API-key `xai` provider.
; [provider]
; name = "supergrok"
; url = "https://api.x.ai/v1"
; key = ""
; auth = "oauth"
; models = "grok-4.6 grok-4.5 grok-4.20"
;
; ChatGPT Plus/Pro subscription (browser OAuth via `:provider add` → chatgpt).
; Tokens live in $XDG_DATA_HOME/3code/auth/openai.json and refresh
; automatically. Requests go to the ChatGPT Codex backend
; (chatgpt.com/backend-api/codex), not api.openai.com. Can sit beside an
; API-key `openai` provider.
; [provider]
; name = "chatgpt"
; url = "https://api.openai.com/v1"
; key = ""
; auth = "oauth"
; models = "gpt-5.4 gpt-5.5"
;
; [provider]
; name = "xai"
; url = "https://api.x.ai/v1"
; key = "xai-..."
; models = "grok-4.6 grok-4.5 grok-4.20"
[provider]
name = "together"
url = "https://api.together.xyz/v1"
key = "..."
models = "thinkingmachines/Inkling zai-org/GLM-5.2"
; model_prefix = "meta-llama/"
; models = "Llama-3.3-70B-Instruct-Turbo"
[provider]
name = "fireworks"
url = "https://api.fireworks.ai/inference/v1"
key = "fw..."
models = "accounts/fireworks/models/inkling"
[provider]
name = "longcat"
url = "https://api.longcat.chat/openai"
key = "..."
models = "LongCat-2.0"
[provider]
name = "hetzner"
url = "https://inference.hetzner.com/api/v1"
key = "..."
models = "GLM-5.2-NVFP4 DeepSeek-V4-Flash-0731 Qwen/Qwen3.6-35B-A3B-FP8 Kimi-K2.7-Code"
# `family` is an experimental-only override (only honored under
# `--experimental`) that picks the system-prompt branch by family
# name, when the (provider, model) combo isn't on the known-good
# list. Known-good combos ignore it.
;
; [provider]
; name = "deepseek"
; url = "https://api.deepseek.com/v1"
; key = "..."
; family = "deepseek"
; models = "deepseek-chat"