Repository navigation
Expand file tree
/
Copy pathconfig.example.toml
More file actions
168 lines (147 loc) · 4.69 KB
/
Copy pathconfig.example.toml
File metadata and controls
168 lines (147 loc) · 4.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
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
[llm]
# CodingBuddy API model settings
base_model = "deepseek-chat"
max_think_model = "deepseek-reasoner"
provider = "deepseek"
# Optional named provider definitions. Provider-level `payload_options` are merged
# into outbound requests before request-level namespaces.
#
#[llm.providers.deepseek]
#kind = "deepseek"
#base_url = "https://api.deepseek.com"
#api_key_env = "DEEPSEEK_API_KEY"
#openai_compat_prefix = false
#payload_options = {}
#
#[llm.providers.deepseek.models]
#chat = "deepseek-chat"
#reasoner = "deepseek-reasoner"
profile = "v3_2"
context_window_tokens = 128000
temperature = 0.2
base_url = "https://api.deepseek.com"
# endpoint = "https://api.deepseek.com/chat/completions" # legacy override
# Optional workspace-local key override (prefer env in CI/prod):
# api_key = "dsk-..."
api_key_env = "DEEPSEEK_API_KEY"
fast_mode = false
language = "en"
prompt_cache_enabled = true
timeout_seconds = 60
max_retries = 3
retry_base_ms = 400
stream = true
[agent_loop]
# Current runtime: tool-use loop (think -> act -> observe).
# Complex tasks add an automatic Explore -> Plan -> Execute -> Verify phase overlay.
# Legacy architect/editor compatibility keys are intentionally omitted from this sample.
tool_loop_max_turns = 50
verify_timeout_seconds = 60
context_bootstrap_enabled = true
context_bootstrap_max_tree_entries = 120
context_bootstrap_max_readme_bytes = 24000
context_bootstrap_max_manifest_bytes = 16000
context_bootstrap_max_repo_map_lines = 80
context_bootstrap_max_audit_findings = 20
apply_strategy = "auto" # auto | three_way
[agent_loop.failure_classifier]
repeat_threshold = 2
similarity_threshold = 0.8
fingerprint_lines = 40
[agent_loop.safety_gate]
max_files_without_approval = 8
max_loc_without_approval = 600
[agent_loop.team]
auto_enabled = true
complexity_threshold = 60
max_lanes = 4
max_concurrency = 2
[git]
# Verify-pass never commits automatically. Commit is explicit via /commit or codingbuddy git commit.
auto_commit_on_verify_pass = false
commit_message_template = "codingbuddy: {goal}"
require_signing = false
allowed_branch_patterns = []
# commit_message_regex = "^(feat|fix|chore):\\s.+$"
[policy]
approve_edits = "ask"
approve_bash = "ask"
allowlist = ["rg", "git status", "git diff", "git show", "cargo test", "cargo fmt --check", "cargo clippy"]
block_paths = [".env", ".ssh", ".aws", ".gnupg", "**/id_*", "**/secret"]
redact_patterns = [
"(?i)(api[_-]?key|token|secret|password)\\s*[:=]\\s*['\\\"]?[a-z0-9_\\-]{8,}['\\\"]?",
"\\b\\d{3}-\\d{2}-\\d{4}\\b",
"(?i)\\b(mrn|medical_record_number|patient_id)\\s*[:=]\\s*[a-z0-9\\-]{4,}\\b",
]
sandbox_mode = "allowlist"
# Optional OS-level sandbox wrapper for `sandbox_mode = "isolated"`:
# sandbox_wrapper = "bwrap --die-with-parent --new-session --unshare-all --bind {workspace} {workspace} --chdir {workspace} /bin/sh -lc {cmd}"
sandbox_wrapper = ""
# Optional: auto-lint after fs.edit. Lint output included in tool result.
# lint_after_edit = "cargo fmt --check"
[tools.chrome]
# Strict-live by default. Set true only for offline deterministic test flows.
allow_stub_fallback = false
[plugins]
enabled = true
search_paths = [".codingbuddy/plugins", ".plugins"]
enable_hooks = false
[plugins.catalog]
enabled = true
index_url = ".codingbuddy/plugins/catalog.json"
signature_key = "codingbuddy-local-dev-key"
refresh_hours = 24
[skills]
paths = [".codingbuddy/skills", "~/.codingbuddy/skills"]
hot_reload = true
[usage]
show_statusline = true
cost_per_million_input = 0.27
cost_per_million_output = 1.10
[context]
auto_compact_threshold = 0.86
compact_preview = true
[autopilot]
default_max_consecutive_failures = 10
heartbeat_interval_seconds = 5
persist_checkpoints = true
[scheduling]
off_peak = false
off_peak_start_hour = 0
off_peak_end_hour = 6
defer_non_urgent = false
max_defer_seconds = 0
[replay]
strict_mode = true
[ui]
enable_tui = true
keybindings_path = "~/.codingbuddy/keybindings.json"
reduced_motion = false
statusline_mode = "minimal"
# Thinking display mode in TUI: concise | raw
thinking_visibility = "concise"
# Progress heartbeat interval while a phase is active (milliseconds)
phase_heartbeat_ms = 5000
# Maximum mission-control timeline lines retained
mission_control_max_events = 400
# Fallback mode when terminal cannot render inline images: open | path | none
image_fallback = "open"
# Optional base URL for teleport handoff links (used by `teleport link`)
# handoff_base_url = "https://app.example.com/handoff"
[experiments]
visual_verification = false
wasm_hooks = false
[telemetry]
enabled = false
# endpoint = "https://telemetry.example.com/deepseek"
[index]
enabled = true
engine = "tantivy"
watch_files = true
[budgets]
max_turn_duration_secs = 300
max_reasoner_tokens_per_session = 1000000
[theme]
primary = "Cyan"
secondary = "Yellow"
error = "Red"