a2d238d92e
Make Zed Agent closer to Cursor: deterministic DevOps path index, live Traefik port probe before blind edits, stop-after-edit, and quieter Russian progress.
121 lines
3.5 KiB
YAML
121 lines
3.5 KiB
YAML
default_quality_mode: auto
|
|
|
|
start_lanes:
|
|
SIMPLE: A
|
|
MEDIUM_OPS: A
|
|
MEDIUM_CODE: A
|
|
COMPLEX: B
|
|
REASONING: B
|
|
VISION_OCR: A
|
|
VISION_UI: A
|
|
|
|
quality_mode_map:
|
|
economy: A
|
|
balanced: B
|
|
max: C
|
|
|
|
lane_order: [A, B, C]
|
|
|
|
budget_caps:
|
|
warn_pct: 80
|
|
hard_pct: 95
|
|
warn_max_lane: B
|
|
hard_max_lane: A
|
|
|
|
escalation:
|
|
repeat_prompt_window_sec: 300
|
|
context_tokens_min_lane_b: 32000
|
|
session_ttl_sec: 1800
|
|
|
|
redis:
|
|
key_prefix: "ai-router:session:"
|
|
ttl_sec: 1800
|
|
|
|
classifier:
|
|
mode: hybrid
|
|
llm_model: gigachat-classifier
|
|
low_confidence_threshold: 0.6
|
|
timeout_sec: 15
|
|
max_tokens: 64
|
|
|
|
# Strong Max plan → cheap coder workers/executor → conditional DeepSeek verify
|
|
hierarchical:
|
|
enabled: true
|
|
trigger_tiers: [COMPLEX, REASONING]
|
|
header: X-AI-Orchestrate # off | auto | force
|
|
planner_model: novita-planner
|
|
verifier_model: novita-verifier
|
|
planner_fallback: b-complex
|
|
verifier_fallback: b-complex
|
|
verify_policy: on_fail_or_hard
|
|
verify_input: digests
|
|
synthesize_model: a-medium-code
|
|
plan_confirm: true
|
|
agent_executor_model: a-medium-code
|
|
agent_escalate_model: b-complex
|
|
agent_escalate_after_edit_failures: 2
|
|
skip_synthesize_if_single: true
|
|
max_subtasks: 3
|
|
max_verify_retries: 1
|
|
plan_max_tokens: 1024
|
|
verify_max_tokens: 384
|
|
synthesize_max_tokens: 1024
|
|
worker_max_tokens: 768
|
|
wall_clock_sec: 600
|
|
digest_chars: 300
|
|
call_timeout_sec: 300
|
|
# First turn (kickstart read) can stay longer; after read_file body Coder hangs —
|
|
# tool_loop uses short timeout + escalate_after_read → DeepSeek.
|
|
executor_timeout_sec: 90
|
|
executor_num_retries: 0
|
|
executor_input_chars: 16000
|
|
executor_tool_loop_chars: 12000
|
|
executor_tool_loop_timeout_sec: 45
|
|
executor_newest_tool_chars: 3500
|
|
executor_minimal_context: true
|
|
executor_max_tools: 6
|
|
executor_tool_desc_chars: 120
|
|
executor_tools_full_chars: 8000
|
|
executor_max_tokens: 1024
|
|
executor_use_stream: false
|
|
executor_synthetic_on_timeout: true
|
|
# First turn only: synthetic read_file on plan path if model returns prose.
|
|
# Mid-loop still stops (no fake edits).
|
|
executor_synthetic_mode: kickstart_only
|
|
executor_max_synthetic_continues: 1
|
|
executor_max_edit_failures: 4
|
|
executor_midloop_model_retry: true
|
|
executor_midloop_escalate: true
|
|
# After successful read_file skip DeepSeek (was 408→400 loop) → edit_file
|
|
executor_force_edit_after_read: true
|
|
# After a successful read_file, skip cheap coder — it stalls on fat tool results
|
|
executor_escalate_after_read: true
|
|
# Rewrite read_file on already-read paths → edit (breaks re-read loops)
|
|
executor_rewrite_reread: true
|
|
# When model returns 200 without tool_calls: one escalate retry before kickstart
|
|
executor_no_tools_escalate: true
|
|
# After plan approve: 1) deterministic path index 2) if gaps → cheap find_* model
|
|
path_resolve_enabled: true
|
|
path_resolve_model: a-simple
|
|
path_resolve_timeout_sec: 45
|
|
path_resolve_max_tools: 3
|
|
# DevOps (*.calentiq.com / Bad Gateway): probe live ports before edit
|
|
runtime_probe_enabled: true
|
|
runtime_probe_timeout_sec: 8
|
|
# Optional: ssh host for docker inspect (empty = TCP probe from gateway only)
|
|
runtime_probe_ssh_host: ""
|
|
# Quiet Zed: milestones only (no ctx bars / LiteLLM waits / subtask dumps)
|
|
progress_verbose: false
|
|
show_context_fill: false
|
|
progress_in_content: true
|
|
stream_progress: true
|
|
context_window_tokens: 32768
|
|
plan_input_chars: 48000
|
|
llm_cache_ttl_sec: 3600
|
|
worker_map:
|
|
simple: a-simple
|
|
medium_code: a-medium-code
|
|
hard: b-complex
|
|
worker_map_max:
|
|
hard: c-complex
|