# Общие настройки

Описание констант и базовых параметров системы OneAPA.

<figure><img src="/files/0WzOyYCIF9boc8SZ4qHD" alt=""><figcaption></figcaption></figure>

## Константы системы

### Подключение к Proxy

| Константа                 | Тип    | Описание                |
| ------------------------- | ------ | ----------------------- |
| **APA\_URLПроксиСервера** | Строка | URL адрес Proxy-сервера |

**Формат:** `http://hostname:port` или `https://hostname:port`

**Примеры:**

* `http://localhost:9000` — локальный сервер
* `http://192.168.1.100:9000` — сервер в локальной сети
* `https://proxy.company.ru` — через HTTPS

{% hint style="info" %}
URL указывается **без** завершающего слэша.
{% endhint %}

### Таймауты

| Константа                     | Тип   | По умолчанию | Описание                        |
| ----------------------------- | ----- | ------------ | ------------------------------- |
| **APA\_ТаймаутLLM**           | Число | 900          | Таймаут вызова LLM (секунды)    |
| **APA\_ТаймаутИнструментов**  | Число | 900          | Таймаут выполнения инструментов |
| **APA\_ТаймаутМаршрутизации** | Число | 600          | Таймаут выбора агента           |

**Рекомендации по таймаутам:**

| Сценарий           | LLM      | Инструменты |
| ------------------ | -------- | ----------- |
| Быстрые ответы     | 60-120   | 30-60       |
| Стандартная работа | 300-600  | 300-600     |
| Сложные задачи     | 900-1800 | 900-1800    |

### Ограничения

| Константа                       | Тип   | По умолчанию | Описание                 |
| ------------------------------- | ----- | ------------ | ------------------------ |
| **APA\_МаксИтераций**           | Число | 15           | Максимум итераций агента |
| **APA\_МаксСообщенийКонтекста** | Число | 20           | Размер истории диалога   |

**Итерации агента:**

Агент может выполнять несколько циклов "анализ → инструмент → анализ". Ограничение защищает от бесконечных циклов.

```
Итерация 1: LLM анализ → вызов инструмента A
Итерация 2: LLM анализ результата → вызов инструмента B
Итерация 3: LLM формирует финальный ответ
```

### Логирование

| Константа                      | Тип    | По умолчанию | Описание               |
| ------------------------------ | ------ | ------------ | ---------------------- |
| **APA\_ЛогироватьИнструменты** | Булево | Да           | Запись в регистр логов |
| **APA\_УровеньЛогирования**    | Строка | INFO         | Уровень детализации    |

**Уровни логирования:**

| Уровень | Описание                         |
| ------- | -------------------------------- |
| DEBUG   | Максимально детальная информация |
| INFO    | Основные события                 |
| WARNING | Предупреждения                   |
| ERROR   | Только ошибки                    |

## Настройка через форму

### Открытие формы настроек

1. Выполните команду `APA_Настройки`
2. Или меню "Панель действий" → "Настройки"

### Элементы формы

#### Блок "Подключение"

```
URL Proxy сервера: [____________________________]
                                  [Проверить связь]
```

* Введите URL Proxy-сервера
* Нажмите "Проверить связь" для тестирования подключения

#### Блок "Таймауты"

```
Таймаут LLM (сек):          [900]
Таймаут инструментов (сек): [900]
Таймаут маршрутизации (сек):[600]
```

#### Блок "Ограничения"

```
Максимум итераций агента:   [15]
Размер контекста (сообщ.):  [20]
```

#### Блок "Логирование"

```
☑ Логировать выполнение инструментов
☐ Подробное логирование (DEBUG)
```

## Настройка через код

### Чтение константы

```bsl
// Получение значения константы
URLПрокси = Константы.APA_URLПроксиСервера.Получить();

// Использование модуля констант
URLПрокси = APA_ЗначенияКонстант.URLПроксиСервера();
```

### Установка константы

```bsl
// Установка значения
Константы.APA_URLПроксиСервера.Установить("http://proxy:9000");
```

## Переменные окружения Proxy

Proxy-сервер также имеет свои настройки через переменные окружения:

| Переменная    | Описание            | По умолчанию |
| ------------- | ------------------- | ------------ |
| `LICENSE_KEY` | Лицензионный ключ   | -            |
| `PORT`        | Порт сервера        | 9000         |
| `HOST`        | Адрес прослушивания | 0.0.0.0      |
| `LOG_LEVEL`   | Уровень логов       | INFO         |

### Пример запуска с переменными

```bash
docker run -d \
  -e LICENSE_KEY=xxx \
  -e PORT=9000 \
  -e LOG_LEVEL=DEBUG \
  oneapa-proxy:latest
```

## Проверка подключения

### Из формы настроек

Нажмите кнопку "Проверить связь". При успехе отобразится сообщение с версией Proxy.

### Программно

```bsl
Процедура ПроверитьПодключение()
    
    URLПрокси = Константы.APA_URLПроксиСервера.Получить();
    
    Попытка
        HTTPСоединение = Новый HTTPСоединение(URLПрокси);
        Запрос = Новый HTTPЗапрос("/health");
        Ответ = HTTPСоединение.Получить(Запрос);
        
        Если Ответ.КодСостояния = 200 Тогда
            Сообщить("Подключение успешно");
        Иначе
            Сообщить("Ошибка: код " + Ответ.КодСостояния);
        КонецЕсли;
    Исключение
        Сообщить("Ошибка подключения: " + ОписаниеОшибки());
    КонецПопытки;
    
КонецПроцедуры
```

## Устранение проблем

### Ошибка подключения к Proxy

1. Проверьте, что Proxy запущен: `curl http://proxy:9000/health`
2. Проверьте URL без завершающего слэша
3. Проверьте firewall между серверами
4. Проверьте, что указан порт

### Таймаут при работе агента

1. Увеличьте значение таймаута LLM
2. Проверьте скорость сети до LLM провайдера
3. Используйте более быструю модель

### Агент зацикливается

1. Проверьте значение "Максимум итераций"
2. Пересмотрите промпт агента
3. Проверьте логику инструментов

## Далее

{% content-ref url="/pages/pY8TDNSKVkzzCWivyKpE" %}
[Настройка моделей](/ai-platforma-oneapa/nastrojki/nastrojka-modelej.md)
{% endcontent-ref %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.onerpa.ru/ai-platforma-oneapa/nastrojki/obshchie-nastrojki.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
