fischer-agentkit/agentkit.yaml

62 lines
2.3 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
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}