chore(max): add docker-compose.max and example MAX/agent config

This commit is contained in:
Александра Пронина 2026-05-15 10:37:12 +03:00
parent 2ad1438e1c
commit 961ee7bb0b
3 changed files with 56 additions and 12 deletions

View file

@ -33,5 +33,5 @@ SURFACES_BOT_STATE_VOLUME=surfaces-bot-state
# MAX Surface
MAX_BOT_TOKEN=real_max_token
MAX_API_URL=https://api.max.ru/v1
MAX_API_URL=https://platform-api.max.ru
MAX_AGENT_REGISTRY_PATH=/app/config/max-agents.yaml

View file

@ -1,5 +1,10 @@
# Пример реестра агентов для MAX (формат совпадает с matrix-agents).
#
# user_agents:
# "123456789": agent-0
#
agents:
- id: agent-0
label: "Agent 0"
base_url: "http://agent-proxy:7000/agent_0/"
workspace_path: "/agents/0"
workspace_path: "/agents/0"

View file

@ -1,24 +1,63 @@
# Локальный MAX + platform-agent из исходников (аналог docker-compose.fullstack.yml для Matrix).
# Продакшен: только max-bot из docker-compose.prod.yml; AGENT_BASE_URL — URL агента, который поднимает команда платформы.
services:
max-bot:
build:
context: .
target: development
env_file: .env
environment:
- MAX_BOT_TOKEN=${MAX_BOT_TOKEN}
- MAX_API_URL=${MAX_API_URL:-https://api.max.ru/v1}
- MAX_AGENT_REGISTRY_PATH=/app/config/max-agents.yaml
- AGENT_BASE_URL=http://platform-agent:8000
- SURFACES_WORKSPACE_DIR=/agents
MAX_BOT_TOKEN: ${MAX_BOT_TOKEN:?set MAX_BOT_TOKEN in .env}
MAX_API_URL: ${MAX_API_URL:-https://platform-api.max.ru}
MAX_AGENT_REGISTRY_PATH: ${MAX_AGENT_REGISTRY_PATH:-/app/config/max-agents.yaml}
AGENT_BASE_URL: http://platform-agent:8000
SURFACES_WORKSPACE_DIR: ${SURFACES_WORKSPACE_DIR:-/agents}
PYTHONUNBUFFERED: "1"
depends_on:
platform-agent:
condition: service_healthy
volumes:
- surfaces-agents:/agents
- agents:/agents
- ./config:/app/config:ro
command: python -m adapter.max.bot
restart: unless-stopped
platform-agent:
image: platform-agent:latest
build:
context: ./external/platform-agent
target: development
additional_contexts:
agent_api: ./external/platform-agent_api
env_file: .env
environment:
- WORKSPACE_DIR=/workspace
PYTHONUNBUFFERED: "1"
AGENT_ID: ${AGENT_ID:-max-dev}
PROVIDER_MODEL: ${PROVIDER_MODEL:-openai/gpt-4o-mini}
PROVIDER_URL: ${PROVIDER_URL:-}
PROVIDER_API_KEY: ${PROVIDER_API_KEY:-}
COMPOSIO_API_KEY: ${COMPOSIO_API_KEY:-}
volumes:
- surfaces-agents:/workspace
- ./external/platform-agent/src:/app/src
- ./external/platform-agent_api:/agent_api
- agents:/workspace
command: >
sh -lc "
mkdir -p /workspace &&
chown -R agent:agent /workspace &&
exec /app/.venv/bin/uvicorn src.main:app --host 0.0.0.0 --port 8000 --no-access-log
"
ports:
- "8000:8000"
healthcheck:
test:
- CMD-SHELL
- python -c "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8000/openapi.json', timeout=2).read()"
interval: 60s
timeout: 5s
retries: 5
start_period: 15s
restart: unless-stopped
volumes:
surfaces-agents:
agents:
name: ${SURFACES_SHARED_VOLUME:-surfaces-agents}