# Платформа агента

`iola-cli` можно использовать не только как набор команд, но и как локальную платформу AI-агента городского округа "Город Йошкар-Ола".

## MCP server

Локальный MCP server поддерживает `stdio` и HTTP:

```bash
iola mcp serve --stdio
iola mcp serve
```

Доступные MCP-разделы:

- `tools/list`, `tools/call`: `status`, `search`, `card`, `quality`, `sync`, `files.tree`, `files.read`, `files.search`, `index.search`, `report`;
- `resources/list`, `resources/read`: `iola://status`, `iola://sync`, `iola://settings`, `iola://skills`, `iola://memory`, `iola://artifacts`;
- `prompts/list`, `prompts/get`: `data-question`, `document-review`, `report-build`.

## Настройки слоями

Настройки собираются из нескольких слоев:

1. встроенные значения;
2. пользовательский файл `~/.iola/config.json`;
3. проектный файл `.iola/config.json`;
4. локальный файл `.iola/local.json`;
5. переменные окружения для runtime.

Команды:

```bash
iola settings list
iola settings get ai.activeProfile
iola settings validate
iola settings init
```

## Subagents

Subagents позволяют запускать разные рабочие роли поверх тех же данных и AI-профилей:

```bash
iola subagents list
iola subagents run data-analyst "найди школы на Петрова"
iola subagents parallel data-analyst,reviewer "проверь результат"
iola subagents add culture --profile local --tools --prompt "Работай со слоями культуры Йошкар-Олы."
```

## Usage и budget

CLI пишет примерный учет запросов, символов, токенов и стоимости:

```bash
iola usage summary
iola usage models
iola usage sessions
iola budget set daily 5
iola budget status
```

Для локальной Ollama стоимость считается `0`, для внешних API используется грубая оценка, чтобы видеть порядок расходов.

## Sandbox и trajectory

Sandbox делает копию workspace для рискованных действий:

```bash
iola sandbox fork
iola sandbox run "npm test"
iola sandbox diff PATH
```

Trajectory export нужен для разбора действий агента:

```bash
iola trajectory last
iola trajectory export --format jsonl --output run.jsonl
```

## Hooks

Hooks можно запускать до и после tools, а также при ошибках:

```bash
iola hooks events
iola hooks add PreToolUse "iola trace last 5"
iola hooks add files_search:"iola memory add Поиск по файлам использовался"
iola hooks audit
```

События: `SessionStart`, `BeforeTool`, `AfterTool`, `PreToolUse`, `PostToolUse`, `OnError`, `AfterSync`, `BeforeExport`, `SessionEnd`.

## Review

Команды review дают быстрые проверки:

```bash
iola review config
iola review data
iola review docs ./docs
iola review report report.docx
```
