75 lines
3.1 KiB
YAML
75 lines
3.1 KiB
YAML
server:
|
|
host: 0.0.0.0
|
|
port: 8001
|
|
workers: 1
|
|
rate_limit: 60
|
|
llm:
|
|
providers:
|
|
bailian-coding:
|
|
type: openai
|
|
base_url: https://coding.dashscope.aliyuncs.com/v1
|
|
api_key: "${DASHSCOPE_API_KEY}"
|
|
models:
|
|
qwen3.7-plus: {alias: default}
|
|
qwen3-coder-plus: {alias: coding}
|
|
qwen3-max-2026-01-23: {alias: powerful}
|
|
qwen-turbo: {alias: fast}
|
|
deepseek:
|
|
type: openai
|
|
base_url: https://api.deepseek.com/v1
|
|
api_key: "${DEEPSEEK_API_KEY}"
|
|
models:
|
|
deepseek-chat: {alias: chat}
|
|
deepseek-reasoner: {alias: reasoning}
|
|
model_aliases:
|
|
default: bailian-coding/qwen3.7-plus
|
|
fast: bailian-coding/qwen-turbo
|
|
powerful: bailian-coding/qwen3-max-2026-01-23
|
|
coding: bailian-coding/qwen3-coder-plus
|
|
chat: deepseek/deepseek-chat
|
|
reasoning: deepseek/deepseek-reasoner
|
|
# G4/U1: Auxiliary model for cost-sensitive tasks (summarization).
|
|
# When set, ContextCompressor tries this alias first, falling back to
|
|
# the main model on failure or empty content. Commented to preserve
|
|
# default behavior — uncomment to enable.
|
|
# auxiliary_model: fast
|
|
# G9/U4: Rollback configuration. Drives RollbackExecutor subprocess timeout
|
|
# for PlanPhase.validation_command / PlanPhase.rollback_command. Per-phase
|
|
# opt-in (KTD6) — when PlanPhase.rollback_command is unset, no rollback runs.
|
|
# Canonical rollback pattern: `git checkout <specific_files>` (file-scoped,
|
|
# not `git checkout .` which would wipe unrelated changes).
|
|
rollback:
|
|
default_timeout: 30.0
|
|
# G7/U3: Three-tier fallback chain at chat REST send_message.
|
|
# main → Recovery (ReflexionEngine retry) → Emergency (rule-based classifier).
|
|
# Wired only at chat REST path (KTD5); CLI / ReWOO / Reflexion internal
|
|
# ReAct calls bypass the chain (no recursive loop).
|
|
fallback_chain:
|
|
enabled: true
|
|
recovery:
|
|
enabled: true
|
|
max_retries: 1 # ReflexionEngine max_reflections override
|
|
emergency:
|
|
enabled: true
|
|
# G6/U2: PLAN_EXEC phase policy — SOLO four-stage state machine.
|
|
# When `enabled: true`, chat WebSocket PLAN_EXEC requests build a PhasePolicy
|
|
# (Planning → Building → Verification → Delivery) and enforce per-step tool
|
|
# whitelists (R24). Transitions are LLM-driven via AdvancePhaseTool; set
|
|
# `auto_advance_after_steps` to auto-advance as a safety net (KTD6).
|
|
# Commented to preserve default behavior — uncomment to enable.
|
|
# plan_exec:
|
|
# enabled: true
|
|
# auto_advance_after_steps: 5 # optional, default = manual (LLM calls advance_phase)
|
|
# start_phase: planning # optional, default = planning
|
|
# whitelist_override: # optional, merges with default (override wins)
|
|
# planning: [search, read_file, shell]
|
|
# building: [write_file, shell, read_file]
|
|
session: {backend: memory}
|
|
bus: {backend: memory}
|
|
task_store: {backend: memory}
|
|
skills: {auto_discover: true, paths: ["./configs/skills"]}
|
|
experts: {paths: ["./configs/experts"]}
|
|
board: {max_rounds: 5, default_template: private_board, parallel_speech: true, history_compression_threshold: 20}
|
|
logging: {level: INFO, format: text}
|
|
router: {classifier: heuristic, auction_enabled: false}
|