# CheddahBot Configuration # Chat model (for UI conversations - needs OpenRouter key or local model) chat_model: "openai/gpt-4o-mini" # Execution model (Claude Code CLI - uses Max subscription for heartbeat/scheduler) default_model: "claude-sonnet-4.5" # Gradio server settings host: "0.0.0.0" port: 7860 # Memory settings memory: max_context_messages: 50 # Messages kept in context window flush_threshold: 40 # Trigger summary when messages exceed this embedding_model: "all-MiniLM-L6-v2" search_top_k: 5 # Number of semantic search results # Scheduler settings scheduler: heartbeat_interval_minutes: 30 poll_interval_seconds: 60 # Local model endpoints (auto-detected) ollama_url: "http://localhost:11434" lmstudio_url: "http://localhost:1234" # Safety settings shell: blocked_commands: - "rm -rf /" - "format" - ":(){:|:&};:" require_approval: false # If true, shell commands need user confirmation # Email delivery (credentials in .env, not here) email: smtp_host: "smtp.gmail.com" smtp_port: 465 # ClickUp integration clickup: poll_interval_minutes: 20 # 3x per hour poll_statuses: ["to do"] review_status: "internal review" in_progress_status: "in progress" task_type_field_name: "Work Category" default_auto_execute: false skill_map: "Press Release": tool: "write_press_releases" auto_execute: true field_mapping: topic: "task_name" company_name: "Client" target_url: "IMSURL" branded_url: "SocialURL" "Link Building": tool: "build_links" auto_execute: true field_mapping: keyword: "task_name" company_name: "Client" target_url: "IMSURL" branded_url: "SocialURL" # Multi-agent configuration # Each agent gets its own personality, tool whitelist, and memory scope. # The first agent is the default. Omit this section for single-agent mode. agents: - name: default display_name: CheddahBot # tools: null = all tools, [] = no tools # skills: null = auto (all skills matching agent name) # memory_scope: "" = shared memory - name: writer display_name: Writing Agent personality_file: "" # future: identity/WRITER.md skills: [press-release-writer, press-release-schema] tools: [write_press_releases, submit_press_release, delegate_task, remember, search_memory] memory_scope: "" # shares memory with default - name: researcher display_name: Research Agent personality_file: "" # future: identity/RESEARCHER.md tools: [web_search, web_fetch, delegate_task, remember, search_memory] memory_scope: "" - name: ops display_name: Ops Agent personality_file: "" # future: identity/OPS.md tools: [run_command, delegate_task, list_files, read_file, remember, search_memory] memory_scope: "" - name: linkbuilder display_name: Link Builder personality_file: "" # future: identity/LINKBUILDER.md skills: [link-building] tools: [build_links, web_search, fetch_url, delegate_task, clickup_query_tasks, remember, search_memory] memory_scope: ""