services: evopaw-main: build: . container_name: evopaw-main environment: - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} # OpenAI 直连凭证(providers.openai) - OPENAI_API_KEY=${OPENAI_API_KEY} # Kimi / Moonshot AI 凭证(providers.kimi) - MOONSHOT_API_KEY=${MOONSHOT_API_KEY:-} - TAVILY_API_KEY=${TAVILY_API_KEY} # Fun-ASR / 百炼凭证:仅在主进程环境中读取,不写入 config.yaml。 - DASHSCOPE_API_KEY=${DASHSCOPE_API_KEY} # memory 系列默认走 DashScope,缺此 key 时启动 warn 后降级(不阻塞主链路) - QWEN_API_KEY=${QWEN_API_KEY:-} volumes: - ./data:/app/data - ./config.yaml:/app/config.yaml:ro - ./evopaw/skills:/app/evopaw/skills:ro depends_on: pgvector: condition: service_healthy restart: unless-stopped pgvector: image: pgvector/pgvector:pg16 container_name: evopaw-pgvector ports: - "5432:5432" environment: POSTGRES_DB: evopaw_memory POSTGRES_USER: evopaw POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-evopaw123} volumes: - ./schema.sql:/docker-entrypoint-initdb.d/schema.sql:ro - pgvector_data:/var/lib/postgresql/data restart: unless-stopped healthcheck: test: ["CMD-SHELL", "pg_isready -U evopaw -d evopaw_memory"] interval: 10s timeout: 5s retries: 5 volumes: pgvector_data: