-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdispatch.example.yaml
More file actions
88 lines (80 loc) · 3.21 KB
/
Copy pathdispatch.example.yaml
File metadata and controls
88 lines (80 loc) · 3.21 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
# Cairn server API endpoint.
server: "http://cairn-server:8000"
# Shared environment variables merged into every worker.
common_env:
TSEC_SERVER_HOST: "<SERVER_HOST>:8000"
TSEC_AGENT_TOKEN: "xxx"
runtime:
# Scheduler tick interval in seconds.
interval: 3
# Global concurrency cap across all workers and all projects.
max_workers: 16 # [优化] 8→16, 提升全局并发
# Maximum number of projects that may be actively scheduled at the same time.
max_running_projects: 4 # [优化] 3→4, 更多工单并发
# Per-project worker cap. Prevents one project from monopolizing the whole dispatcher.
max_project_workers: 6 # [优化] 4→6, 单项目更多 intent 并行 explore
# Timeout for each enabled worker healthcheck.
healthcheck_timeout: 20
# "startup_and_task" checks at dispatcher startup and before every task.
# "startup_only" checks only at startup. "disabled" skips automatic worker checks.
worker_healthcheck: "startup_only"
# Prompt set loaded from cairn/src/cairn/dispatcher/prompts/.
prompt_group: "default"
tasks:
bootstrap:
# Main execution timeout for the initial direct solve attempt.
timeout: 300
# Time budget for conclude fallback after the main phase times out or returns unusable output.
conclude_timeout: 90
reason:
# Reason decides whether the goal is met and whether new intents should be proposed.
timeout: 300
# Hard cap on how many new intents one reason step may create.
max_intents: 2
explore:
# Main execution timeout for exploring a claimed intent.
timeout: 300
# Time budget for conclude fallback used to summarize confirmed findings from the same session.
conclude_timeout: 90
container:
# Base worker container. The dispatcher execs agent commands inside one container per project.
image: "ghcr.io/oritera/cairn-worker-container:latest"
network_mode: "host"
# "stop" keeps finished containers for inspection; "remove" is cleaner but loses post-run state.
completed_action: "stop"
# Add Linux capabilities only when a task truly needs them, such as packet crafting or network admin actions.
# cap_add:
# - "NET_RAW"
# - "NET_ADMIN"
workers:
# Worker priority is ascending: lower numbers are preferred first.
# max_running is per-worker concurrency. Slower backends such as Pi usually benefit from lower values.
- name: "claudecode_deepseek-v4-pro"
type: "claudecode"
task_types: [bootstrap, reason, explore]
max_running: 2
priority: 0
env:
ANTHROPIC_MODEL: "deepseek-v4-pro"
ANTHROPIC_BASE_URL: "https://api.deepseek.com/anthropic"
ANTHROPIC_AUTH_TOKEN: "sk-xxx"
- name: "codex_qwen3.6-plus"
type: "codex"
task_types: [bootstrap,reason,explore]
max_running: 2
priority: 0
env:
CODEX_MODEL: "qwen3.6-plus"
CODEX_BASE_URL: "https://dashscope.aliyuncs.com/compatible-mode/v1"
OPENAI_API_KEY: "sk-xxx"
- name: "pi_qwen3.6-plus"
type: "pi"
task_types: [bootstrap,reason,explore]
max_running: 2
priority: 0
env:
PI_MODEL: "qwen3.6-plus"
PI_BASE_URL: "https://dashscope.aliyuncs.com/compatible-mode/v1"
PI_API_KEY: "sk-xxx"
PI_PROVIDER_API: "openai-completions"
PI_MODEL_CONTEXT_WINDOW: "262144"