Initial commit: omnichannel-mcp — MCP-сервер управления платформой Omnichannel
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
# Демо и e2e
|
||||
|
||||
Два сценария для локальной проверки без прода.
|
||||
|
||||
## 1. Сквозной пример через MCP (`demo.py`)
|
||||
|
||||
Поднимает только `config_server`; задачи создаются, но их никто не исполняет —
|
||||
показывает вызовы инструментов и ответы.
|
||||
|
||||
```bash
|
||||
docker compose -f examples/demo/docker-compose.yml up -d
|
||||
go build -o omnichannel-mcp .
|
||||
python3 examples/demo/demo.py
|
||||
```
|
||||
|
||||
## 2. Полный e2e деплоя с агентом (`e2e.py`)
|
||||
|
||||
Дополнительно запускает настоящий **config-agent**, который опрашивает
|
||||
`config_server` и реально выполняет задачи через `docker-compose`. Проверяется
|
||||
жизненный цикл: `set_env` → `set_compose` → `deploy` → `restart` → `down`, а
|
||||
также защита (`down` без `confirm` отклоняется).
|
||||
|
||||
```bash
|
||||
docker compose -f examples/demo/docker-compose.yml up -d
|
||||
go build -o omnichannel-mcp .
|
||||
python3 examples/demo/e2e.py
|
||||
```
|
||||
|
||||
Что делает `e2e.py`:
|
||||
|
||||
1. создаёт каталог `/tmp/omni-e2e/opt/demo_e2e` с `docker-compose.yml`;
|
||||
2. поднимает контейнер `omni-e2e-agent` (образ `config-agent:v1.1.0`) с
|
||||
проброшенным `docker.sock` и `/opt`;
|
||||
3. ждёт регистрации приложения агентом;
|
||||
4. гоняет жизненный цикл через MCP и проверяет состояние контейнеров;
|
||||
5. удаляет тестовый агент.
|
||||
|
||||
Требуется доступ к `registry.devlexicom.ru` (образ агента).
|
||||
|
||||
## Очистка
|
||||
|
||||
```bash
|
||||
docker compose -f examples/demo/docker-compose.yml down -v
|
||||
docker rm -f omni-e2e-agent 2>/dev/null; docker network rm demo_e2e_default 2>/dev/null
|
||||
rm -rf /tmp/omni-e2e
|
||||
```
|
||||
Reference in New Issue
Block a user