feat(agent): hierarchical executor with path resolve, runtime probe, quiet UI
Make Zed Agent closer to Cursor: deterministic DevOps path index, live Traefik port probe before blind edits, stop-after-edit, and quieter Russian progress.
This commit is contained in:
@@ -32,9 +32,89 @@ redis:
|
||||
ttl_sec: 1800
|
||||
|
||||
classifier:
|
||||
# heuristic | hybrid (default) | llm
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user