CheddahBot/config.yaml

113 lines
3.4 KiB
YAML

# 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: "Customer"
target_url: "IMSURL"
branded_url: "SocialURL"
"Link Building":
tool: "run_link_building"
auto_execute: false
complete_status: "complete"
error_status: "internal review"
field_mapping:
lb_method: "LB Method"
project_name: "task_name"
money_site_url: "IMSURL"
custom_anchors: "CustomAnchors"
branded_plus_ratio: "BrandedPlusRatio"
cli_flags: "CLIFlags"
xlsx_path: "CoraFile"
# Link Building settings
link_building:
blm_dir: "E:/dev/Big-Link-Man"
watch_folder: "Z:/cora-inbox"
watch_interval_minutes: 60
default_branded_plus_ratio: 0.7
# 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: link_builder
display_name: Link Builder
tools: [run_link_building, run_cora_backlinks, blm_ingest_cora, blm_generate_batch, scan_cora_folder, delegate_task, remember, search_memory]
memory_scope: ""