# Портал документации OneRPA

\
E-mail: <info@onerpa.ru>\
<https://onerpa.ru/><br>

![](/files/-M7Yy-YGrb5GZXDhrl3Y)

{% content-ref url="/pages/-M7YvzAIjxmKbl7rir9G" %}
[RPA платформа OneRPA](/rpa-platforma-onerpa)
{% endcontent-ref %}

{% content-ref url="/pages/lJiE44feFese3QUNzRsq" %}
[AI платформа OneAPA](/ai-platforma-oneapa)
{% endcontent-ref %}

{% content-ref url="/pages/Clj6ybKmcgetLWAV7Iud" %}
[MCP серверы для 1С](/mcp-servery-1c)
{% endcontent-ref %}

{% content-ref url="/pages/2aoxryjuePLqN3ZDRsFs" %}
[Конструктор MCP серверов для 1С](/konstruktor-mcp-serverov-1c)
{% endcontent-ref %}


# AI платформа OneAPA

{% hint style="info" %}
**OneAPA** (Agentic Process Automation) — платформа low-code разработки ИИ агентов на базе 1С:Предприятие с поддержкой множества LLM провайдеров и On-Premise развёртыванием.
{% endhint %}

## Что такое OneAPA?

OneAPA — это платформа для создания и управления автономными ИИ агентами, которые способны выполнять бизнес-задачи, взаимодействуя с данными и системами вашей организации. Агенты работают непосредственно в среде 1С:Предприятие, используя возможности современных языковых моделей (LLM).

### Ключевые преимущества

| Преимущество            | Описание                                                                                                 |
| ----------------------- | -------------------------------------------------------------------------------------------------------- |
| **Low-code разработка** | Создавайте агентов без глубоких знаний программирования — достаточно задать промпт и выбрать инструменты |
| **On-Premise**          | Все данные остаются в вашей инфраструктуре — никакие конфиденциальные сведения не передаются наружу      |
| **Множество LLM**       | Поддержка Yandex GPT, OpenAI, OpenRouter, Ollama (локальные модели), Sber                                |
| **Интеграция с 1С**     | Агенты работают с данными 1С напрямую, используя встроенные механизмы платформы                          |
| **MCP поддержка**       | Встроенный MCP сервер и клиент для интеграции с внешними инструментами                                   |
| **Интеграция с OneRPA** | Запуск роботов OneRPA как инструментов агента                                                            |

## Чем ИИ агенты лучше традиционных систем?

### Работа в условиях неопределённости

Даже если какое-то поведение не заложено изначально и возникла нештатная ситуация, ИИ агент может её обработать. Если у агента достаточно данных для корректной реакции — результат вас приятно удивит.

### Адаптивность и обучаемость

ИИ агент запоминает информацию о пользователе, учитывает контекст, учитывает доступные данные о персоналии. Результат может отличаться по одному запросу для разных категорий сотрудников.

### Работа с произвольными данными

ИИ агент может обработать любой запрос с данными в любом формате. Нет необходимости использования строгих форматов и протоколов. Это существенно упрощает интерфейс и использование системы.

### Автономность

Классические системы требуют множества доработок и расширений под различные ситуации. ИИ агенты не требуют постоянного участия ИТ-специалистов. Качественный ИИ агент может решать множество задач самостоятельно.

## Архитектура системы

```
┌─────────────────────────────────────────────────────────────────┐
│                        Пользователь                              │
│                    (Чат в 1С / Web UI)                          │
└─────────────────────────┬───────────────────────────────────────┘
                          │
                          ▼
┌─────────────────────────────────────────────────────────────────┐
│                   1С:Предприятие (OneAPA)                        │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────────────────┐  │
│  │   Агенты    │  │ Инструменты │  │     MCP серверы         │  │
│  └─────────────┘  └─────────────┘  └─────────────────────────┘  │
└─────────────────────────┬───────────────────────────────────────┘
                          │ HTTP API
                          ▼
┌─────────────────────────────────────────────────────────────────┐
│                      Python Proxy                                │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────────────────┐  │
│  │  LangGraph  │  │   FastAPI   │  │      Chainlit UI        │  │
│  └─────────────┘  └─────────────┘  └─────────────────────────┘  │
└─────────────────────────┬───────────────────────────────────────┘
                          │
          ┌───────────────┼───────────────┐
          ▼               ▼               ▼
    ┌──────────┐   ┌──────────┐   ┌──────────┐
    │ Yandex   │   │  OpenAI  │   │  Ollama  │
    │   GPT    │   │  GPT-4o  │   │ (local)  │
    └──────────┘   └──────────┘   └──────────┘
```

## Начало работы

{% content-ref url="/pages/sp9xE4YXY5q9Nf1rOAzg" %}
[Быстрый старт](/ai-platforma-oneapa/bystryj-start)
{% endcontent-ref %}

## Разделы документации

| Раздел                                                            | Описание                                        |
| ----------------------------------------------------------------- | ----------------------------------------------- |
| [Обзор системы](/ai-platforma-oneapa/obzor-sistemy)               | Архитектура, компоненты и ключевые возможности  |
| [Быстрый старт](/ai-platforma-oneapa/bystryj-start)               | Установка и создание первого агента за 15 минут |
| [Установка и развёртывание](broken://pages/Q4ra8Wne8P6Nv47rT3MR)  | Подробные инструкции по установке               |
| [Настройки](/ai-platforma-oneapa/nastrojki)                       | Конфигурирование системы                        |
| [Справочники](/ai-platforma-oneapa/spravochniki)                  | Описание всех объектов системы                  |
| [Обработки](/ai-platforma-oneapa/obrabotki)                       | Чат, выгрузка в RAG, экспорт/импорт             |
| [Провайдеры LLM](/ai-platforma-oneapa/provajdery-llm)             | Настройка Yandex, OpenAI, Ollama и др.          |
| [Интеграции](/ai-platforma-oneapa/integratsii)                    | MCP, OneRPA, RAG, API                           |
| [Разработка агентов](/ai-platforma-oneapa/razrabotka-agentov)     | Руководство разработчика                        |
| [Администрирование](/ai-platforma-oneapa/administrirovanie)       | Мониторинг, логирование, обслуживание           |
| [Устранение неполадок](/ai-platforma-oneapa/ustranenie-nepoladok) | Решение типичных проблем                        |
| [Приложения](broken://pages/xpIPIF8qxG8cKNdPznZD)                 | Глоссарий, контакты                             |

## Системные требования

**Минимальные требования:**

* 1С:Предприятие 8.3.20 и выше
* Windows Server 2016+ / Linux
* Python 3.11+ (для Proxy)
* 8 ГБ ОЗУ (рекомендуется 16 ГБ)
* Доступ к LLM провайдеру (или локальная модель Ollama)

## Ссылки

* [Сайт продукта](https://onerpa.ru/ai)
* [Техническая поддержка](broken://pages/7eTLn4Seqa8mJV5bihwt)


# Обзор системы

Раздел содержит подробное описание платформы OneAPA, её архитектуры, компонентов и ключевых возможностей.

## Содержание раздела

| Страница                                                                           | Описание                                                    |
| ---------------------------------------------------------------------------------- | ----------------------------------------------------------- |
| [Архитектура](/ai-platforma-oneapa/obzor-sistemy/arkhitektura)                     | Общая архитектура системы, схема взаимодействия компонентов |
| [Компоненты](/ai-platforma-oneapa/obzor-sistemy/komponenty)                        | Детальное описание каждого компонента платформы             |
| [Ключевые возможности](/ai-platforma-oneapa/obzor-sistemy/klyuchevye-vozmozhnosti) | Функциональные возможности и преимущества                   |

## Назначение платформы

**OneAPA** — это платформа для создания, настройки и эксплуатации ИИ агентов в корпоративной среде на базе 1С:Предприятие.

### Целевая аудитория

| Роль                    | Использование OneAPA                                                         |
| ----------------------- | ---------------------------------------------------------------------------- |
| **Бизнес-пользователи** | Взаимодействие с агентами через чат-интерфейс для решения повседневных задач |
| **Аналитики**           | Настройка агентов без программирования: промпты, инструменты, триггеры       |
| **Разработчики**        | Создание кастомных инструментов, интеграция с внешними системами             |
| **Администраторы**      | Развёртывание, мониторинг, обслуживание системы                              |

### Позиционирование

OneAPA занимает нишу между простыми чат-ботами и сложными enterprise-решениями для автоматизации:

```
Простые чат-боты ◄────────────► OneAPA ◄────────────► Enterprise AI
(ограниченные         (low-code,            (требуют глубокой
 сценарии)            гибкость,              разработки)
                      интеграция с 1С)
```

## Основные концепции

### ИИ Агент

**ИИ агент** — это автономная программная сущность, которая:

1. Получает задачу от пользователя (через чат, email, API или триггер)
2. Анализирует задачу с помощью языковой модели (LLM)
3. Выбирает и использует необходимые инструменты
4. Формирует и возвращает результат

### Инструмент

**Инструмент** — это функция, которую агент может вызвать для получения данных или выполнения действия:

* Запрос к базе данных 1С
* Вызов внешнего API
* Запуск робота OneRPA
* Взаимодействие через MCP

### Промпт

**Промпт** — это текстовая инструкция для языковой модели, определяющая поведение агента:

* **Системный промпт** — общие правила работы агента
* **Пользовательский промпт** — шаблон для обработки конкретных запросов

### Триггер

**Триггер** — это событие, запускающее работу агента:

* Сообщение в чате
* Входящий email
* API-запрос
* Изменение буфера обмена
* Запись объекта в 1С

## Принципы работы

### Workflow агента

```
┌─────────────────────────────────────────────────────────────────┐
│                        Пользователь                              │
│                     "Сколько у меня отпускных дней?"            │
└─────────────────────────┬───────────────────────────────────────┘
                          │
                          ▼
┌─────────────────────────────────────────────────────────────────┐
│                      Router Node                                 │
│              Выбор подходящего агента                           │
└─────────────────────────┬───────────────────────────────────────┘
                          │
                          ▼
┌─────────────────────────────────────────────────────────────────┐
│                      Agent Node                                  │
│    LLM анализирует запрос и решает использовать инструмент      │
│    → tool_call: "получить_остаток_отпуска(сотрудник=...)"       │
└─────────────────────────┬───────────────────────────────────────┘
                          │
                          ▼
┌─────────────────────────────────────────────────────────────────┐
│                      Tools Node                                  │
│              Выполнение инструмента в 1С                        │
│              → результат: {"дней": 14}                          │
└─────────────────────────┬───────────────────────────────────────┘
                          │
                          ▼
┌─────────────────────────────────────────────────────────────────┐
│                      Agent Node                                  │
│    LLM формирует ответ на основе результата инструмента         │
│    → "У вас осталось 14 дней отпуска"                           │
└─────────────────────────┬───────────────────────────────────────┘
                          │
                          ▼
┌─────────────────────────────────────────────────────────────────┐
│                        Пользователь                              │
│                  "У вас осталось 14 дней отпуска"               │
└─────────────────────────────────────────────────────────────────┘
```

### Цикл инструментов

Агент может вызывать несколько инструментов последовательно для решения сложных задач:

1. Пользователь: "Забронируй мне переговорку на завтра в 14:00"
2. Агент → инструмент: проверить доступность переговорок
3. Результат: переговорка А свободна, переговорка Б занята
4. Агент → инструмент: создать бронирование переговорки А
5. Результат: бронирование создано
6. Агент → пользователь: "Переговорка А забронирована на завтра в 14:00"

## Безопасность

### On-Premise развёртывание

OneAPA развёртывается полностью в инфраструктуре заказчика:

* Proxy-сервер работает на ваших серверах
* Данные не покидают периметр организации
* При использовании Ollama — даже LLM работает локально

### Контроль доступа

* Разграничение доступа к агентам по пользователям
* Ограничение доступности инструментов
* Логирование всех действий агентов

## Далее

* [Архитектура](/ai-platforma-oneapa/obzor-sistemy/arkhitektura) — подробная схема системы
* [Компоненты](/ai-platforma-oneapa/obzor-sistemy/komponenty) — описание всех компонентов
* [Ключевые возможности](/ai-platforma-oneapa/obzor-sistemy/klyuchevye-vozmozhnosti) — функциональность платформы


# Архитектура

OneAPA построена на многоуровневой архитектуре, обеспечивающей гибкость, масштабируемость и безопасность.

## Общая схема архитектуры

```
┌─────────────────────────────────────────────────────────────────────────┐
│                           КЛИЕНТСКИЙ УРОВЕНЬ                             │
│  ┌─────────────────┐  ┌─────────────────┐  ┌─────────────────────────┐  │
│  │   Чат в 1С      │  │  Web UI         │  │   Внешние системы       │  │
│  │   (Толстый/     │  │  (Chainlit)     │  │   (API, Email,          │  │
│  │    Тонкий       │  │                 │  │    MCP клиенты)         │  │
│  │    клиент)      │  │                 │  │                         │  │
│  └────────┬────────┘  └────────┬────────┘  └────────────┬────────────┘  │
└───────────┼────────────────────┼────────────────────────┼───────────────┘
            │                    │                        │
            ▼                    ▼                        ▼
┌─────────────────────────────────────────────────────────────────────────┐
│                           УРОВЕНЬ 1С:ПРЕДПРИЯТИЕ                         │
│                                                                          │
│  ┌──────────────────────────────────────────────────────────────────┐   │
│  │                        Конфигурация OneAPA                        │  │
│  │  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐               │   │
│  │  │ Справочники │  │ Обработки   │  │ Общие       │               │   │
│  │  │ - Агенты    │  │ - Чат       │  │ модули      │               │   │
│  │  │ - Инструм.  │  │ - Выгрузка  │  │ - MCP       │               │   │
│  │  │ - Модели    │  │   в RAG     │  │ - OneRPA    │               │   │
│  │  │ - Триггеры  │  │ - Экспорт/  │  │ - RAG       │               │   │
│  │  │ - MCP серв. │  │   Импорт    │  │ - Обмен с   │               │   │
│  │  │ - Форматы   │  │             │  │   Proxy     │               │   │
│  │  └─────────────┘  └─────────────┘  └─────────────┘               │   │
│  └──────────────────────────────────────────────────────────────────┘   │
│                                    │                                     │
│                                    │ HTTP (REST API)                     │
│                                    ▼                                     │
└─────────────────────────────────────────────────────────────────────────┘
                                     │
                                     ▼
┌─────────────────────────────────────────────────────────────────────────┐
│                           УРОВЕНЬ PROXY                                  │
│                                                                          │
│  ┌──────────────────────────────────────────────────────────────────┐   │
│  │                      Python Proxy Server                          │   │
│  │                                                                   │   │
│  │  ┌─────────────┐  ┌─────────────┐  ┌─────────────────────────┐   │   │
│  │  │  FastAPI    │  │  LangGraph  │  │     Data Store          │   │   │
│  │  │  /health    │  │  Workflow   │  │  - Agents               │   │   │
│  │  │  /load      │  │  Engine     │  │  - Models               │   │   │
│  │  │  /chat      │  │             │  │  - Tools                │   │   │
│  │  └─────────────┘  └─────────────┘  └─────────────────────────┘   │   │
│  │                                                                   │   │
│  │  ┌─────────────┐  ┌─────────────┐  ┌─────────────────────────┐   │   │
│  │  │ Chainlit UI │  │ LLM Utils   │  │   Agent Logic           │   │   │
│  │  │ (Web Chat)  │  │ (providers) │  │   (Router, Tools)       │   │   │
│  │  └─────────────┘  └─────────────┘  └─────────────────────────┘   │   │
│  └──────────────────────────────────────────────────────────────────┘   │
│                                    │                                     │
└────────────────────────────────────┼─────────────────────────────────────┘
                                     │
            ┌────────────────────────┼────────────────────────┐
            ▼                        ▼                        ▼
┌─────────────────────────────────────────────────────────────────────────┐
│                           УРОВЕНЬ LLM ПРОВАЙДЕРОВ                        │
│                                                                          │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐     │
│  │ Yandex GPT  │  │   OpenAI    │  │ OpenRouter  │  │   Ollama    │     │
│  │             │  │  GPT-4o     │  │  (любые     │  │  (локальные │     │
│  │  Cloud API  │  │  o1, o3     │  │   модели)   │  │   модели)   │     │
│  └─────────────┘  └─────────────┘  └─────────────┘  └─────────────┘     │
│                                                                          │
│  ┌─────────────┐                                                         │
│  │    Sber     │                                                         │
│  │  GigaChat   │                                                         │
│  └─────────────┘                                                         │
└─────────────────────────────────────────────────────────────────────────┘
```

## Компоненты архитектуры

### Клиентский уровень

#### Чат в 1С

Встроенный чат-интерфейс в конфигурации 1С:

* Доступен в толстом и тонком клиенте
* Поддержка прикрепления файлов
* История диалогов
* Выбор агента для общения

#### Web UI (Chainlit)

Веб-интерфейс чата:

* Доступ через браузер
* Не требует клиента 1С
* Современный интерфейс
* Поддержка изображений (для Vision моделей)

#### Внешние системы

Взаимодействие через:

* REST API (endpoint `/chat`)
* Email (триггер EMail)
* MCP протокол

### Уровень 1С:Предприятие

#### Справочники

| Справочник        | Назначение                               |
| ----------------- | ---------------------------------------- |
| APA\_Агенты       | Основная сущность — настройки ИИ агентов |
| APA\_Инструменты  | Инструменты для агентов                  |
| APA\_Модели       | Конфигурация LLM провайдеров             |
| APA\_Триггеры     | События запуска агентов                  |
| APA\_MCPСерверы   | Внешние MCP серверы                      |
| APA\_Форматы      | Форматы выходных данных                  |
| APA\_Пользователи | Пользователи системы                     |

#### Обработки

| Обработка                    | Назначение              |
| ---------------------------- | ----------------------- |
| APA\_Chat                    | Чат-интерфейс           |
| APA\_ВыгрузкаВВекторнуюБД    | Выгрузка данных для RAG |
| APA\_ВыгрузкаЗагрузкаАгентов | Экспорт/импорт агентов  |

#### Общие модули

| Модуль                            | Назначение                      |
| --------------------------------- | ------------------------------- |
| APA\_MCP                          | Работа с Model Context Protocol |
| APA\_OneRPA                       | Интеграция с OneRPA             |
| APA\_RAG                          | Retrieval-Augmented Generation  |
| APA\_ОбменСПроксиКлиент           | Клиентский обмен с Proxy        |
| APA\_ОбменСПроксиСервер           | Серверный обмен с Proxy         |
| APA\_ВыполнениеИнструментовСервер | Выполнение инструментов         |
| APA\_ЗначенияКонстант             | Константы системы               |

### Уровень Proxy

#### FastAPI

REST API сервер с endpoints:

* `GET /health` — проверка работоспособности
* `POST /load` — загрузка агентов и инструментов
* `POST /chat` — обработка сообщений

#### LangGraph

Движок оркестрации workflow агентов:

```
Router → Agent → Tools → Agent → ... → END
```

* **Router Node** — выбор агента
* **Agent Node** — вызов LLM
* **Tools Node** — выполнение инструментов

#### Data Store

Хранилище данных в памяти:

* Загруженные агенты
* Инициализированные LLM
* Конфигурация инструментов

#### Chainlit UI

Веб-интерфейс на базе Chainlit:

* Монтируется на `/ui`
* Отдельная сессия для каждого пользователя
* Поддержка файлов и изображений

#### LLM Utils

Утилиты для работы с LLM провайдерами:

* Инициализация моделей
* Обработка ответов
* Поддержка Vision и Reasoning моделей

### Уровень LLM провайдеров

| Провайдер      | Особенности                                     |
| -------------- | ----------------------------------------------- |
| **Yandex GPT** | Российский провайдер, IAM авторизация           |
| **OpenAI**     | GPT-4o, Vision, Reasoning (o1, o3), web\_search |
| **OpenRouter** | Доступ к множеству моделей через единый API     |
| **Ollama**     | Локальные модели, On-Premise                    |
| **Sber**       | GigaChat, российский провайдер                  |

## Потоки данных

### Поток сообщения пользователя

```
1. Пользователь → [Чат 1С] → сообщение
                      │
2.                    ▼
   1С: APA_ОбменСПроксиКлиент → HTTP POST /chat
                      │
3.                    ▼
   Proxy: api.py → chat() → LangGraph workflow
                      │
4.                    ▼
   LangGraph: router_node → выбор агента
                      │
5.                    ▼
   LangGraph: agent_node → вызов LLM
                      │
6.                    ▼
   LLM: анализ запроса → tool_call (если нужен инструмент)
                      │
7.                    ▼
   LangGraph: tools_node → HTTP POST к 1С (toolsendpoint)
                      │
8.                    ▼
   1С: APA_ВыполнениеИнструментовСервер → выполнение
                      │
9.                    ▼
   Proxy: получение результата → agent_node (LLM формирует ответ)
                      │
10.                   ▼
   Пользователь ← [Чат 1С] ← ответ агента
```

### Поток загрузки агентов

```
1. 1С: APA_ОбменСПроксиСервер → сбор данных агентов
                      │
2.                    ▼
   HTTP POST /load → LoadRequest {agents, toolsendpoint}
                      │
3.                    ▼
   Proxy: api.py → load()
        │
        ├── Сохранение агентов в DataStore
        ├── Инициализация LLM для каждого агента
        └── Сохранение toolsendpoint
                      │
4.                    ▼
   Ответ: статус загрузки
```

## Сетевое взаимодействие

### Порты и протоколы

| Компонент       | Порт по умолчанию    | Протокол   |
| --------------- | -------------------- | ---------- |
| Proxy Server    | 9000                 | HTTP/HTTPS |
| Chainlit UI     | 9000/ui              | HTTP/HTTPS |
| 1С HTTP Service | зависит от настройки | HTTP/HTTPS |
| Ollama          | 11434                | HTTP       |

### Требования к сети

```
┌─────────────┐         ┌─────────────┐         ┌─────────────┐
│   1С:       │ ◄─────► │   Proxy     │ ◄─────► │    LLM      │
│ Предприятие │  HTTP   │   Server    │  HTTPS  │  Provider   │
└─────────────┘         └─────────────┘         └─────────────┘
     Порт: *                Порт: 9000          Порт: 443 (или
                                                локальный 11434
                                                для Ollama)
```

{% hint style="info" %}
При использовании Ollama весь трафик остаётся внутри локальной сети — доступ к интернету не требуется.
{% endhint %}

## Масштабирование

### Горизонтальное масштабирование

```
                    ┌─────────────────┐
                    │  Load Balancer  │
                    └────────┬────────┘
                             │
           ┌─────────────────┼─────────────────┐
           ▼                 ▼                 ▼
    ┌─────────────┐   ┌─────────────┐   ┌─────────────┐
    │   Proxy 1   │   │   Proxy 2   │   │   Proxy 3   │
    └─────────────┘   └─────────────┘   └─────────────┘
```

### Вертикальное масштабирование

* Увеличение ресурсов сервера Proxy
* Использование GPU для локальных моделей Ollama
* Оптимизация базы данных 1С

## Отказоустойчивость

### Защита от ошибок

| Уровень     | Механизм                                     |
| ----------- | -------------------------------------------- |
| LangGraph   | Лимит итераций (MAX\_AGENT\_ITERATIONS = 15) |
| LLM вызовы  | Таймаут 900 секунд                           |
| Инструменты | Таймаут 900 секунд                           |
| Router      | Таймаут 600 секунд                           |
| Fallback    | Обработка ошибок с fallback-ответом          |

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

* Все действия агентов логируются
* Регистр APA\_ЛогИнструментов в 1С
* Файловые логи Proxy сервера

## Далее

* [Компоненты](/ai-platforma-oneapa/obzor-sistemy/komponenty) — детальное описание каждого компонента
* [Ключевые возможности](/ai-platforma-oneapa/obzor-sistemy/klyuchevye-vozmozhnosti) — функциональность системы


# Компоненты

Платформа OneAPA состоит из нескольких взаимосвязанных компонентов. В этом разделе подробно описан каждый из них.

## Расширение для 1С

### Назначение

Расширение является центральным компонентом системы, обеспечивающим:

* Хранение настроек агентов, инструментов и моделей
* Пользовательский интерфейс (чат)
* Выполнение инструментов (запросы к данным, бизнес-логика)
* Интеграцию с другими подсистемами 1С

### Интеграция с существующей базой

Конфигурация OneAPA может быть объединена с любой конфигурацией 1С:

```
┌─────────────────────────────────────────────────┐
│           Ваша конфигурация 1С                  │
│  ┌─────────────┐  ┌─────────────┐              │
│  │ Бухгалтерия │  │     ERP     │              │
│  └─────────────┘  └─────────────┘              │
│                                                 │
│  ┌─────────────────────────────────────────┐   │
│  │           Расширение OneAPA              │   │
│  │   (или объединённая конфигурация)        │   │
│  └─────────────────────────────────────────┘   │
└─────────────────────────────────────────────────┘
```

## Python Proxy Server

### Назначение

Proxy-сервер обеспечивает:

* Взаимодействие с LLM провайдерами
* Оркестрацию workflow агентов
* Web-интерфейс чата
* REST API для внешних систем

### Технологический стек

| Технология    | Версия | Назначение            |
| ------------- | ------ | --------------------- |
| **Python**    | 3.11+  | Язык программирования |
| **FastAPI**   | latest | REST API framework    |
| **LangGraph** | latest | Оркестрация workflow  |
| **LangChain** | latest | Интеграция с LLM      |
| **Chainlit**  | latest | Web UI для чата       |
| **Pydantic**  | latest | Валидация данных      |
| **uvicorn**   | latest | ASGI сервер           |

### Структура файлов

```
OneAPAProxy/
├── main.py              # Точка входа, запуск сервера
├── api.py               # REST API endpoints
├── agent_logic.py       # Логика агентов (LangGraph)
├── graph_init.py        # Инициализация графа workflow
├── llm_utils.py         # Утилиты для работы с LLM
├── models.py            # Pydantic модели данных
├── data_store.py        # Хранилище данных
├── cl_main.py           # Chainlit UI
├── logging_config.py    # Конфигурация логирования
├── requirements.txt     # Зависимости Python
├── Dockerfile           # Docker образ
└── rebuild-container.ps1 # Скрипт пересборки контейнера
```

### REST API

#### GET /health

Проверка работоспособности сервера.

**Ответ:**

```json
{
  "message": "OK",
  "version": "1.0.1",
  "build_date": "2025-12-03"
}
```

#### POST /load

Загрузка агентов и инструментов из 1С.

**Тело запроса:**

```json
{
  "agents": [
    {
      "agent": {
        "id": "agent-001",
        "name": "Кадровый агент",
        "model": {
          "service": "OpenAI",
          "token": "sk-...",
          "folder": "gpt-4o",
          "url": ""
        },
        "infobase": "my_base",
        "description": "Агент для кадровых вопросов",
        "systemprompt": "Ты кадровый специалист...",
        "userprompt": "",
        "tools": [...],
        "mcps": [...]
      }
    }
  ],
  "toolsendpoint": "http://localhost/hs/oneapa/tools"
}
```

#### POST /chat

Отправка сообщения агенту.

**Тело запроса:**

```json
{
  "message": "Сколько у меня отпускных дней?",
  "files": [
    {
      "content": "base64_encoded_content",
      "name": "document.pdf"
    }
  ]
}
```

**Ответ:**

```json
{
  "response": "У вас осталось 14 дней отпуска.",
  "tool_results": [
    {
      "tool": "get_vacation_days",
      "result": {"days": 14}
    }
  ]
}
```

### LangGraph Workflow

```
                    ┌─────────────┐
                    │    START    │
                    └──────┬──────┘
                           │
                           ▼
                    ┌─────────────┐
              ┌─────│   router    │─────┐
              │     └─────────────┘     │
              ▼                         ▼
       ┌─────────────┐          ┌─────────────┐
       │    agent    │          │   fallback  │
       └──────┬──────┘          └──────┬──────┘
              │                        │
              ▼                        │
       ┌─────────────┐                 │
       │decide_next  │                 │
       └──────┬──────┘                 │
              │                        │
    ┌─────────┼─────────┐              │
    ▼         ▼         ▼              │
┌───────┐ ┌───────┐ ┌───────┐          │
│ tools │ │ agent │ │  END  │◄─────────┘
└───┬───┘ └───────┘ └───────┘
    │         ▲
    └─────────┘
```

**Узлы графа:**

| Узел             | Назначение                                  |
| ---------------- | ------------------------------------------- |
| **router**       | Выбор агента для обработки запроса          |
| **agent**        | Вызов LLM для анализа и формирования ответа |
| **tools**        | Выполнение инструментов                     |
| **fallback**     | Обработка ошибок                            |
| **decide\_next** | Решение о следующем шаге (tools/agent/END)  |

## Chainlit Web UI

### Назначение

Веб-интерфейс для взаимодействия с агентами через браузер.

### Функциональность

* Чат-интерфейс с историей сообщений
* Поддержка файлов (изображения, документы)
* Отображение процесса работы агента
* Сессии пользователей

### Доступ

По умолчанию доступен по адресу: `http://<proxy-server>:9000/ui`

```
┌─────────────────────────────────────────────────┐
│  OneAPA Chat                              [—][□][×] │
├─────────────────────────────────────────────────┤
│                                                 │
│  [Агент]: Здравствуйте! Чем могу помочь?       │
│                                                 │
│  [Вы]: Сколько дней отпуска у меня осталось?   │
│                                                 │
│  [Агент]: Проверяю...                          │
│  📊 Вызываю инструмент: get_vacation_days      │
│                                                 │
│  [Агент]: У вас осталось 14 дней отпуска.      │
│                                                 │
├─────────────────────────────────────────────────┤
│  [Введите сообщение...]              [📎][Send] │
└─────────────────────────────────────────────────┘
```

## MCP серверы

### Что такое MCP

**Model Context Protocol (MCP)** — открытый протокол для взаимодействия LLM с внешними инструментами и данными.

### OneAPA как MCP сервер

OneAPA предоставляет свои инструменты как MCP сервер:

```
┌─────────────────┐         ┌─────────────────┐
│   MCP клиент    │ ◄─────► │  OneAPA         │
│   (Cursor,      │   MCP   │  MCP Server     │
│    Claude,      │         │                 │
│    другие)      │         │                 │
└─────────────────┘         └─────────────────┘
```

### OneAPA как MCP клиент

OneAPA может использовать внешние MCP серверы:

```
┌─────────────────┐         ┌─────────────────┐
│   OneAPA        │ ◄─────► │  Внешний        │
│   MCP Client    │   MCP   │  MCP Server     │
│                 │         │  (filesystem,   │
│                 │         │   github, etc)  │
└─────────────────┘         └─────────────────┘
```

## Интеграция с OneRPA

### Назначение

Модуль APA\_OneRPA позволяет запускать роботов OneRPA как инструменты агента.

### Сценарий использования

```
Пользователь: "Загрузи данные из Excel файла sales.xlsx"

Агент → анализ запроса
      → выбор инструмента "запустить_робота_загрузки"
      → вызов OneRPA с параметрами
      → получение результата
      → формирование ответа

Агент: "Данные из sales.xlsx успешно загружены. Добавлено 150 строк."
```

### Конфигурация

В справочнике APA\_Инструменты:

* **OneRPA** — флаг, указывающий на инструмент OneRPA
* **КодЗаданияOneRPA** — код задания для запуска

## Система логирования

### Уровни логирования

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

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

Регистр **APA\_ЛогИнструментов**:

| Измерение  | Тип          | Описание             |
| ---------- | ------------ | -------------------- |
| Инструмент | Справочник   | Ссылка на инструмент |
| Дата       | ДатаВремя    | Время выполнения     |
| Состояние  | Перечисление | Успешно/Ошибка       |
| Результат  | Строка       | Результат выполнения |

## Далее

* [Ключевые возможности](/ai-platforma-oneapa/obzor-sistemy/klyuchevye-vozmozhnosti) — функциональность платформы
* [Быстрый старт](/ai-platforma-oneapa/bystryj-start) — начало работы с системой


# Ключевые возможности

OneAPA предоставляет широкий набор возможностей для создания и эксплуатации ИИ агентов в корпоративной среде.

## Low-code разработка агентов

### Без программирования

Создание агента не требует написания кода:

1. Задайте **имя** и **описание** агента
2. Напишите **системный промпт** — инструкцию для LLM
3. Выберите **модель** (LLM провайдер)
4. Добавьте **инструменты** из готового набора
5. Настройте **триггер** запуска

### Визуальный интерфейс

<figure><img src="/files/jE1VpoKINN7NyuygNes6" alt=""><figcaption></figcaption></figure>

## Поддержка множества LLM провайдеров

### Доступные провайдеры

| Провайдер      | Модели                | Особенности                               |
| -------------- | --------------------- | ----------------------------------------- |
| **Yandex GPT** | YandexGPT/latest      | Российский провайдер, соответствие ФЗ-152 |
| **OpenAI**     | GPT-4o, GPT-4, o1, o3 | Vision, Reasoning, web\_search            |
| **OpenRouter** | Любые модели          | Единый API к множеству провайдеров        |
| **Ollama**     | Llama, Mistral, и др. | Полностью локальные модели                |
| **Sber**       | GigaChat              | Российский провайдер                      |

### Особенности моделей

## MCP (Model Context Protocol)

### OneAPA как MCP сервер

Любой инструмент агента автоматически доступен через MCP, если установлена галка "Публиковать как MCP"

<figure><img src="/files/CVzTNtn3NyKN51qbO1dI" alt=""><figcaption></figcaption></figure>

### OneAPA как MCP клиент

Подключение внешних MCP серверов:

* Файловая система
* GitHub
* Базы данных
* Любые MCP-совместимые сервисы

### Преимущества MCP

| Преимущество    | Описание                            |
| --------------- | ----------------------------------- |
| Универсальность | Единый протокол для всех интеграций |
| Расширяемость   | Легко добавлять новые инструменты   |
| Совместимость   | Работа с Cursor, Claude и другими   |

## Чат-интерфейс

### Встроенный чат в 1С

* Доступен из любого места конфигурации
* Поддержка прикрепления файлов
* История диалогов
* Выбор агента

### Web-интерфейс Chainlit

<figure><img src="/files/UbYud6zbV6xmUQXKmGKp" alt=""><figcaption></figcaption></figure>

* Доступ через браузер
* Не требует клиента 1С
* Современный дизайн
* Поддержка мобильных устройств

### Возможности чата

| Возможность         | Описание                           |
| ------------------- | ---------------------------------- |
| Текстовые сообщения | Основной способ взаимодействия     |
| Файлы               | PDF, Excel, Word, изображения      |
| История             | Сохранение контекста диалога       |
| Мультиагентность    | Выбор агента для конкретной задачи |

## Интеграция с OneRPA

### Роботы как инструменты

<figure><img src="/files/ZR6NBJPdPEciJBuf1WuM" alt=""><figcaption></figcaption></figure>

Агенты могут запускать роботов OneRPA:

```
Пользователь: "Выгрузи отчёт по продажам за месяц в Excel"

Агент → вызов робота OneRPA "Выгрузка отчёта продаж"
      → робот формирует Excel файл
      → робот сохраняет файл в папку
      → агент получает результат

Агент: "Отчёт сохранён в папке D:\Reports\sales_2025_01.xlsx"
```

### Преимущества интеграции

* Использование существующих роботов
* Автоматизация сложных сценариев
* Работа с UI приложений (SAP, веб и др.)

## RAG (Retrieval-Augmented Generation)

### Что такое RAG

RAG позволяет агенту использовать внутренние базы знаний:

```
┌─────────────────┐         ┌─────────────────┐
│  Вопрос         │         │  Векторная БД   │
│  пользователя   │────────►│  (знания)       │
└─────────────────┘         └────────┬────────┘
                                     │
                            релевантные документы
                                     │
                                     ▼
                            ┌─────────────────┐
                            │      LLM        │
                            │  (генерация     │
                            │   ответа)       │
                            └─────────────────┘
```

### Выгрузка в векторную БД

Обработка APA\_ВыгрузкаВВекторнуюБД:

* Выгрузка данных 1С в векторную базу
* Поддержка различных типов данных
* Автоматическое обновление

### Использование

```
Пользователь: "Какова процедура оформления командировки?"

Агент → поиск в векторной БД
      → найдены релевантные документы
      → LLM формирует ответ на основе документов

Агент: "Согласно внутреннему регламенту компании, 
        процедура оформления командировки включает:
        1. Заполнение заявки в системе...
        2. Согласование с руководителем...
        ..."
```

## Триггеры запуска

### Типы триггеров

| Триггер            | Описание         | Пример                    |
| ------------------ | ---------------- | ------------------------- |
| **Чат**            | Сообщение в чате | Пользователь пишет в чат  |
| **EMail**          | Входящее письмо  | Письмо на <hr@company.ru> |
| **API**            | HTTP запрос      | POST /api/agent/invoke    |
| **Буфер обмена**   | Изменение буфера | Копирование текста        |
| **Запись объекта** | Событие в 1С     | При записи документа      |

### Примеры использования

#### Триггер EMail

```
Входящее письмо: "Нужна справка 2-НДФЛ за 2024 год"

Агент (кадровый) автоматически:
→ определяет отправителя
→ формирует справку
→ отправляет ответное письмо с вложением
```

#### Триггер "Запись объекта"

```
При записи документа "Заявление на отпуск":

Агент автоматически:
→ проверяет корректность заполнения
→ проверяет пересечение с другими отпусками
→ отправляет уведомление руководителю
```

## Безопасность

### On-Premise развёртывание

* Все компоненты работают в инфраструктуре заказчика
* Данные не покидают периметр организации
* При использовании Ollama — полная изоляция

## Далее

* [Быстрый старт](/ai-platforma-oneapa/bystryj-start) — создание первого агента
* [Установка](broken://pages/Q4ra8Wne8P6Nv47rT3MR) — подробные инструкции


# Быстрый старт

{% hint style="success" %}
Этот раздел поможет вам запустить OneAPA и создать первого ИИ агента примерно за 15-20 минут.
{% endhint %}

## Цель раздела

После выполнения инструкций этого раздела вы:

* Установите и настроите OneAPA
* Создадите своего первого ИИ агента
* Протестируете его в чате

## Что вам понадобится

| Компонент      | Требование                                              |
| -------------- | ------------------------------------------------------- |
| 1С:Предприятие | Версия 8.3.20 или выше                                  |
| Docker         |                                                         |
| LLM провайдер  | API ключ (OpenAI, Yandex и др.) или Ollama              |
| Сеть           | Доступ к LLM провайдеру (или локальная сеть для Ollama) |

## Этапы быстрого старта

### Этап 1: Проверка требований

Убедитесь, что ваша система соответствует минимальным требованиям.

{% content-ref url="/pages/wNFzxQVc9f4HvH9kgZpm" %}
[Требования](/ai-platforma-oneapa/bystryj-start/trebovaniya)
{% endcontent-ref %}

### Этап 2: Установка

Установите расширение 1С и запустите Proxy-сервер.

{% content-ref url="/pages/z1SGTBnETqlaohXEv5Jn" %}
[Установка](/ai-platforma-oneapa/bystryj-start/ustanovka)
{% endcontent-ref %}

### Этап 3: Создание первого агента

Создайте простого агента и настройте его.

{% content-ref url="/pages/JQw8cPsVzjNynAtusTSl" %}
[Первый агент](/ai-platforma-oneapa/bystryj-start/pervyj-agent)
{% endcontent-ref %}

### Этап 4: Проверка работоспособности

Протестируйте агента и убедитесь, что всё работает.

{% content-ref url="/pages/ktAJhxhoefYp0OGw7jw0" %}
[Проверка работоспособности](/ai-platforma-oneapa/bystryj-start/proverka-rabotosposobnosti)
{% endcontent-ref %}

## Схема быстрого старта

```
┌─────────────────────────────────────────────────────────────┐
│                    БЫСТРЫЙ СТАРТ OneAPA                      │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│  1. ТРЕБОВАНИЯ                                               │
│     └─► Проверить версии 1С, Docker                         │
│     └─► Получить API ключ LLM провайдера                    │
│                           │                                  │
│                           ▼                                  │
│  2. УСТАНОВКА                                                │
│     └─► Загрузить конфигурацию OneAPA в 1С                  │
│     └─► Запустить Proxy сервер                               │
│     └─► Настроить URL Proxy в 1С                            │
│                           │                                  │
│                           ▼                                  │
│  3. ПЕРВЫЙ АГЕНТ                                             │
│     └─► Создать модель (LLM провайдер)                      │
│     └─► Создать агента с промптом                           │
│     └─► Добавить простой инструмент                         │
│                           │                                  │
│                           ▼                                  │
│  4. ПРОВЕРКА                                                 │
│     └─► Открыть чат                                         │
│     └─► Отправить тестовое сообщение                        │
│     └─► Получить ответ от агента                            │
│                           │                                  │
│                           ▼                                  │
│                      ✓ ГОТОВО!                               │
└─────────────────────────────────────────────────────────────┘
```

## Рекомендуемый путь для начинающих

Если вы впервые работаете с OneAPA, рекомендуем:

1. **Начните с OpenAI** — самый простой вариант, требует только API ключ
2. **Используйте Docker** — упрощает запуск Proxy сервера
3. **Создайте простого агента** — без инструментов, только для проверки связи

Типовая настройка системы выглядит так. В данном кейсе Docker контейнер с Proxy установлен на той же машине что и 1С - поэтому host.docker.internal - адрес контейнера

<figure><img src="/files/ZnApcnA63Cz4axyNP9nF" alt=""><figcaption></figcaption></figure>

## Возможные проблемы

| Проблема                | Решение                           |
| ----------------------- | --------------------------------- |
| Нет подключения к Proxy | Проверьте URL и порт в настройках |
| Ошибка авторизации LLM  | Проверьте API ключ                |
| Агент не отвечает       | Проверьте логи Proxy сервера      |
| Таймаут                 | Увеличьте значение таймаута       |

## Следующие шаги

После успешного завершения быстрого старта:

1. Изучите [детальные инструкции по установке](broken://pages/Q4ra8Wne8P6Nv47rT3MR)
2. Настройте [дополнительные модели](/ai-platforma-oneapa/provajdery-llm)
3. Создайте [собственные инструменты](/ai-platforma-oneapa/razrabotka-agentov/sozdanie-instrumentov)
4. Ознакомьтесь с [примерами агентов](broken://pages/CJ9yzUSQRFkfvGB4Spfm)

## Поддержка

Если у вас возникли проблемы:

* Раздел [Устранение неполадок](/ai-platforma-oneapa/ustranenie-nepoladok)
* [FAQ](/ai-platforma-oneapa/ustranenie-nepoladok/faq)
* [Контакты поддержки](broken://pages/7eTLn4Seqa8mJV5bihwt)


# Требования

Перед установкой OneAPA убедитесь, что ваша система соответствует минимальным требованиям.

## Аппаратные требования

### Сервер 1С

| Параметр              | Минимум | Рекомендуется |
| --------------------- | ------- | ------------- |
| Процессор             | 2 ядра  | 4+ ядра       |
| Оперативная память    | 4 ГБ    | 8+ ГБ         |
| Дисковое пространство | 10 ГБ   | 50+ ГБ        |

### Сервер Proxy

| Параметр              | Минимум | Рекомендуется |
| --------------------- | ------- | ------------- |
| Процессор             | 2 ядра  | 4+ ядра       |
| Оперативная память    | 4 ГБ    | 8+ ГБ         |
| Дисковое пространство | 5 ГБ    | 20+ ГБ        |

{% hint style="info" %}
Proxy-сервер может работать на том же сервере, что и 1С, или на отдельной машине.
{% endhint %}

### Для локальных моделей (Ollama)

| Параметр              | Минимум   | Рекомендуется |
| --------------------- | --------- | ------------- |
| Оперативная память    | 16 ГБ     | 32+ ГБ        |
| GPU (NVIDIA)          | 8 ГБ VRAM | 16+ ГБ VRAM   |
| Дисковое пространство | 50 ГБ     | 100+ ГБ       |

{% hint style="warning" %}
Для качественной работы локальных моделей рекомендуется использовать GPU с CUDA.
{% endhint %}

## Программные требования

### 1С:Предприятие

| Компонент                        | Версия        |
| -------------------------------- | ------------- |
| Платформа 1С:Предприятие         | 8.3.20 и выше |
| Режим совместимости конфигурации | 8.3.18 и выше |

### Docker (альтернатива Python)

| Компонент      | Версия                   |
| -------------- | ------------------------ |
| Docker         | 20.10 и выше             |
| Docker Compose | 2.0 и выше (опционально) |

### Операционная система

**Сервер 1С:**

* Windows Server 2016, 2019, 2022
* Windows 10/11 (для разработки)
* Linux (Astra Linux, Ubuntu, CentOS) с 1С для Linux

**Сервер Proxy:**

* Windows 10/11, Windows Server 2016+
* Linux (Ubuntu 20.04+, Debian 11+, CentOS 8+)
* macOS 12+ (для разработки)

## Сетевые требования

### Порты

| Порт    | Назначение                      | Направление        |
| ------- | ------------------------------- | ------------------ |
| 9000    | Proxy Server (HTTP API)         | Входящий           |
| 9000/ui | Chainlit Web UI                 | Входящий           |
| 443     | LLM провайдеры (OpenAI, Yandex) | Исходящий          |
| 11434   | Ollama (локальные модели)       | Входящий/Исходящий |

### Схема сетевого взаимодействия

```
┌─────────────────────────────────────────────────────────────────┐
│                     ЛОКАЛЬНАЯ СЕТЬ                               │
│                                                                  │
│  ┌─────────────┐         ┌─────────────┐                        │
│  │  Сервер 1С  │◄───────►│   Proxy     │                        │
│  │             │  :9000  │   Server    │                        │
│  └─────────────┘         └──────┬──────┘                        │
│                                 │                                │
└─────────────────────────────────┼────────────────────────────────┘
                                  │ :443 (HTTPS)
                                  ▼
                          ┌─────────────┐
                          │    LLM      │
                          │  Provider   │
                          │ (Internet)  │
                          └─────────────┘
```

### Для полностью изолированной сети (Ollama)

```
┌─────────────────────────────────────────────────────────────────┐
│                     ИЗОЛИРОВАННАЯ СЕТЬ                           │
│                                                                  │
│  ┌─────────────┐         ┌─────────────┐         ┌───────────┐  │
│  │  Сервер 1С  │◄───────►│   Proxy     │◄───────►│  Ollama   │  │
│  │             │  :9000  │   Server    │  :11434 │  Server   │  │
│  └─────────────┘         └─────────────┘         └───────────┘  │
│                                                                  │
│            ❌ Доступ в Интернет не требуется ❌                  │
└─────────────────────────────────────────────────────────────────┘
```

## Требования к LLM провайдеру

### OpenAI

| Требование | Описание                          |
| ---------- | --------------------------------- |
| Аккаунт    | Зарегистрированный аккаунт OpenAI |
| API ключ   | Активный API ключ (sk-...)        |
| Баланс     | Положительный баланс на счёте     |
| Доступ     | Доступ к API из вашей сети        |

### Yandex GPT

| Требование | Описание                        |
| ---------- | ------------------------------- |
| Аккаунт    | Аккаунт Yandex Cloud            |
| IAM токен  | Действующий IAM токен           |
| Folder ID  | ID каталога в Yandex Cloud      |
| Сервис     | Активированный сервис YandexGPT |

### Ollama (локальные модели)

| Требование | Описание                                   |
| ---------- | ------------------------------------------ |
| Установка  | Установленный Ollama                       |
| Модель     | Загруженная модель (llama3, mistral и др.) |
| Ресурсы    | Достаточно RAM/VRAM для модели             |

## Чек-лист проверки

### 1С:Предприятие

* [ ] Установлена платформа 8.3.20 или выше
* [ ] Есть доступ к конфигуратору
* [ ] Есть права на объединение конфигураций

### Docker

* [ ] Docker
* [ ] Доступ к командной строке с правами администратора

### Сеть

* [ ] Порт 9000 свободен для Proxy
* [ ] Есть доступ к LLM провайдеру (или настроен Ollama)

### LLM провайдер

* [ ] Получен API ключ
* [ ] Проверен доступ к API (опционально)

## Проверка версий

### Docker

```bash
# Проверка версии Docker
docker --version

# Ожидаемый вывод: Docker version 20.10.x или выше
```

### 1С:Предприятие

В режиме "1С:Предприятие" → меню "Справка" → "О программе":

```
1С:Предприятие 8.3 (8.3.20.xxxx)
```

## Что делать, если требования не выполнены

| Проблема          | Решение                                                       |
| ----------------- | ------------------------------------------------------------- |
| Старая версия 1С  | Обновите платформу до 8.3.20+                                 |
| Нет Docker        | Установите Docker Desktop (Windows/Mac) или docker.io (Linux) |
| Порт 9000 занят   | Измените порт Proxy в конфигурации                            |
| Нет доступа к LLM | Настройте Ollama для локальной работы                         |

## Далее

После проверки требований переходите к установке:

{% content-ref url="/pages/z1SGTBnETqlaohXEv5Jn" %}
[Установка](/ai-platforma-oneapa/bystryj-start/ustanovka)
{% endcontent-ref %}


# Установка

Этот раздел описывает быструю установку OneAPA. Для более детальных инструкций см. раздел [Установка и развёртывание](broken://pages/Q4ra8Wne8P6Nv47rT3MR).

## Шаг 1: Установка расширения 1С

Получите файл расширения OneAPA ( `.cfe`) от поставщика.

Добавьте расширение в информационную базу в режиме предприятия или через конфигуратор

## Шаг 2: Установка Proxy-сервера

Выберите один из вариантов установки.

#### Установка через Docker

**Windows:**

1. Скачайте [Docker Desktop](https://www.docker.com/products/docker-desktop/)
2. Установите и перезагрузите компьютер
3. Запустите Docker Desktop

**Linux:**

```
apt install docker
```

Далее запустите контейнер:

```bash
docker run -d --name oneapaproxy -p 9000:9000 -e LICENSE_KEY=<ваш лицензионный ключ> comol/oneapaproxy:latest
```

## Шаг 3: Настройка связи 1С и Proxy

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

В 1С откройте настройки OneAPA:

* Меню "Панель действий" → "Настройки"

### 3.2 Указание URL Proxy-сервера

Заполните поле "URL Proxy сервера":

```
http://localhost
```

Или, если Proxy на другом сервере:

```
http://proxy-server.local
```

<figure><img src="/files/ZnApcnA63Cz4axyNP9nF" alt=""><figcaption></figcaption></figure>

## Шаг 4: Настройка LLM провайдера

### 4.1 Создание модели

1. Откройте справочник "Модели" (APA\_Модели)
2. Создайте новый элемент
3. Заполните поля:

<figure><img src="/files/09yI1evcmCdgAS9J8kFL" alt=""><figcaption></figcaption></figure>

### 4.2 Проверка модели

Сохраните модель. При сохранении система не проверяет подключение — проверка будет выполнена при первом использовании.

## Итоговая схема

После выполнения всех шагов ваша система должна выглядеть так:

```
┌─────────────────────────────────────────────────────────────────┐
│                        Ваш сервер                                │
│                                                                  │
│  ┌─────────────────┐              ┌─────────────────────────┐   │
│  │ 1С:Предприятие  │              │    Proxy Server         │   │
│  │  + OneAPA       │◄────────────►│    (Docker/Python)      │   │
│  │                 │   :9000      │                         │   │
│  │  • Агенты       │              │    • FastAPI            │   │
│  │  • Модели       │              │    • LangGraph          │   │
│  │  • Инструменты  │              │    • Chainlit UI        │   │
│  └─────────────────┘              └───────────┬─────────────┘   │
│                                               │                  │
└───────────────────────────────────────────────┼──────────────────┘
                                                │ :443
                                                ▼
                                        ┌─────────────────┐
                                        │   LLM Provider  │
                                        │   (OpenAI и др.)│
                                        └─────────────────┘
```

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

| Проблема                      | Решение                                 |
| ----------------------------- | --------------------------------------- |
| Docker не запускается         | Убедитесь, что Docker Desktop запущен   |
| Порт 9000 занят               | Измените порт: `-p 9001:9000`           |
| Ошибка подключения 1С к Proxy | Проверьте firewall и URL                |
| Proxy не видит LLM            | Проверьте API ключ и доступ к интернету |

## Далее

Теперь создайте своего первого агента:

{% content-ref url="/pages/JQw8cPsVzjNynAtusTSl" %}
[Первый агент](/ai-platforma-oneapa/bystryj-start/pervyj-agent)
{% endcontent-ref %}


# Первый агент

В этом разделе вы создадите своего первого ИИ агента и протестируете его работу.

## Цель

Создать простого агента-помощника, который сможет отвечать на вопросы пользователей.

## Предварительные требования

* Установлена конфигурация OneAPA
* Запущен Proxy-сервер
* Создана модель LLM (см. [Установка](/ai-platforma-oneapa/bystryj-start/ustanovka))

## Шаг 1: Создание агента

### 1.1 Открытие справочника

В 1С откройте справочник "Агенты":

* Меню "Панель навигации" → "Агенты"
* Или через поиск: "Агенты"

### 1.2 Создание нового агента

Нажмите "Создать" и заполните форму:

| Поле             | Значение                                      |
| ---------------- | --------------------------------------------- |
| **Наименование** | Помощник                                      |
| **Активен**      | ✓ (установить флаг)                           |
| **Описание**     | Универсальный помощник для ответов на вопросы |
| **Модель**       | Выберите созданную ранее модель               |
| **Триггер**      | Чат                                           |

### 1.3 Системный промпт

В поле "Системный промпт" введите:

```
Ты — дружелюбный помощник компании. Твоя задача — отвечать на вопросы пользователей.

Правила:
1. Отвечай кратко и по существу
2. Если не знаешь ответ — честно скажи об этом
3. Используй вежливый тон
4. Отвечай на русском языке
```

### 1.4 Сохранение

Нажмите "Записать и закрыть".

## Шаг 2: Синхронизация с Proxy

### 2.1 Выполнение обмена

Выполните синхронизацию агентов с Proxy-сервером:

* Меню "Панель действий" → "Выполнить обмен с Proxy"

### 2.2 Проверка результата

Должно появиться сообщение об успешной загрузке агентов.

{% hint style="info" %}
При каждом изменении агентов, инструментов или моделей необходимо выполнять синхронизацию с Proxy.
{% endhint %}

## Шаг 3: Тестирование в чате

### 3.1 Открытие чата

Откройте чат OneAPA:

* Меню "Панель навигации" → "Чат"

### 3.2 Отправка тестового сообщения

Введите в чат простое сообщение:

```
Привет! Как дела?
```

### 3.3 Получение ответа

Агент должен ответить примерно так:

```
Здравствуйте! У меня всё отлично, спасибо что спросили! 
Чем могу вам помочь?
```

## Шаг 4: Добавление инструмента (опционально)

Для более полезного агента добавим простой инструмент.

### 4.1 Создание инструмента

Откройте справочник "Инструменты" и создайте новый элемент:

| Поле             | Значение                                |
| ---------------- | --------------------------------------- |
| **Наименование** | Текущая дата и время                    |
| **Описание**     | Возвращает текущую дату и время сервера |

В поле "Запрос/Код" введите код на языке 1С:

```bsl
Результат = Строка(ТекущаяДата());
```

### 4.2 Параметры инструмента

Для этого инструмента параметры не требуются. Табличную часть "Параметры" оставьте пустой.

### 4.3 Добавление инструмента к агенту

1. Откройте созданного агента "Помощник"
2. Перейдите на вкладку "Инструменты"
3. Добавьте инструмент "Текущая дата и время"
4. Сохраните агента

### 4.4 Синхронизация

Выполните обмен с Proxy повторно.

### 4.5 Тестирование

В чате спросите:

```
Который сейчас час?
```

Агент должен:

1. Определить, что нужно использовать инструмент
2. Вызвать инструмент "Текущая дата и время"
3. Получить результат
4. Сформировать ответ

Пример ответа:

```
Сейчас 23.01.2026 14:35:00.
```

## Расширенная конфигурация агента

### Пример более сложного промпта

```
Ты — ИИ-ассистент компании "Рога и копыта".

Твои возможности:
- Отвечать на общие вопросы
- Сообщать текущую дату и время
- Помогать с простыми задачами

Твои ограничения:
- Ты не имеешь доступа к персональным данным сотрудников
- Ты не можешь выполнять финансовые операции
- Ты не можешь изменять данные в системе

При каждом ответе:
1. Будь вежлив и профессионален
2. Если запрос выходит за рамки твоих возможностей — 
   вежливо объясни это
3. При необходимости уточняй детали запроса
```

### Добавление пользователей

Если нужно ограничить доступ к агенту:

1. Откройте агента
2. Перейдите на вкладку "Пользователи"
3. Добавьте пользователей, которые могут использовать этого агента

{% hint style="info" %}
Если табличная часть "Пользователи" пуста — агент доступен всем.
{% endhint %}

## Типичные проблемы

### Агент не отвечает

| Причина                   | Решение                           |
| ------------------------- | --------------------------------- |
| Не выполнен обмен с Proxy | Выполните команду "Обмен с Proxy" |
| Proxy не запущен          | Проверьте статус Proxy сервера    |
| Неверный API ключ         | Проверьте настройки модели        |

### Ответ приходит очень долго

| Причина          | Решение                                       |
| ---------------- | --------------------------------------------- |
| Медленная модель | Попробуйте более быструю модель (gpt-4o-mini) |
| Сетевые задержки | Проверьте подключение к LLM провайдеру        |
| Сложный промпт   | Упростите системный промпт                    |

### Агент не использует инструменты

| Причина                  | Решение                         |
| ------------------------ | ------------------------------- |
| Инструменты не добавлены | Добавьте инструменты в агента   |
| Не выполнен обмен        | Повторите синхронизацию с Proxy |
| Неясное описание         | Уточните описание инструмента   |

## Поздравляем!

Вы создали своего первого ИИ агента! Теперь вы можете:

* Создавать более сложных агентов
* Добавлять разнообразные инструменты
* Настраивать триггеры для автоматического запуска

## Далее

Проверьте работоспособность системы:

{% content-ref url="/pages/ktAJhxhoefYp0OGw7jw0" %}
[Проверка работоспособности](/ai-platforma-oneapa/bystryj-start/proverka-rabotosposobnosti)
{% endcontent-ref %}

Изучите примеры агентов:

{% content-ref url="/pages/CJ9yzUSQRFkfvGB4Spfm" %}
[Broken mention](broken://pages/CJ9yzUSQRFkfvGB4Spfm)
{% endcontent-ref %}


# Проверка работоспособности

После установки и создания первого агента выполните проверку работоспособности всех компонентов системы.

## Чек-лист проверки

### 1. Proxy-сервер

* [ ] Proxy-сервер запущен
* [ ] Endpoint /health отвечает
* [ ] Web UI доступен

### 2. 1С конфигурация

* [ ] Справочники доступны
* [ ] Обмен с Proxy выполняется
* [ ] Чат открывается

### 3. Агент

* [ ] Агент создан и активен
* [ ] Агент отвечает на сообщения
* [ ] Инструменты работают (если добавлены)

## Проверка Proxy-сервера

### Проверка статуса

Откройте в браузере или выполните в командной строке:

```bash
curl http://localhost:9000/health
```

**Ожидаемый результат:**

```json
{
  "message": "OK",
  "version": "1.0.1",
  "build_date": "2025-12-03"
}
```

{% hint style="success" %}
Если вы видите такой ответ — Proxy-сервер работает корректно.
{% endhint %}

### Проверка Web UI

Откройте в браузере:

```
http://localhost:9000/ui
```

Должен открыться веб-интерфейс чата Chainlit.

### Проверка логов

**Docker:**

```bash
docker logs oneapa-proxy
```

**Python:**

Логи выводятся в консоль при запуске `python main.py`.

**Что искать в логах:**

```
INFO:     Started server process
INFO:     Waiting for application startup
INFO:     Application startup complete
INFO:     Uvicorn running on http://0.0.0.0:9000
```

## Проверка 1С конфигурации

### Проверка справочников

Убедитесь, что следующие справочники доступны и открываются:

| Справочник  | Проверка                     |
| ----------- | ---------------------------- |
| Агенты      | Создайте и сохраните элемент |
| Инструменты | Создайте и сохраните элемент |
| Модели      | Создайте и сохраните элемент |
| Триггеры    | Откройте список              |
| MCP серверы | Откройте список              |

### Проверка настроек

1. Откройте настройки (команда `APA_Настройки`)
2. Убедитесь, что URL Proxy заполнен
3. Нажмите "Проверить подключение"

**Ожидаемый результат:** Сообщение "Подключение успешно"

### Проверка обмена с Proxy

1. Выполните команду `APA_ВыполнитьОбменСПрокси`
2. Дождитесь завершения

**Ожидаемый результат:** Сообщение об успешной загрузке агентов

## Проверка агента

### Базовая проверка

1. Откройте чат (команда `APA_Чат`)
2. Введите тестовое сообщение:

```
Привет!
```

3. Дождитесь ответа

**Ожидаемый результат:** Агент отвечает приветствием

### Проверка понимания контекста

Отправьте последовательность сообщений:

```
Меня зовут Иван.
```

Дождитесь ответа, затем:

```
Как меня зовут?
```

**Ожидаемый результат:** Агент вспомнит имя "Иван"

### Проверка инструментов

Если вы добавили инструмент "Текущая дата и время":

```
Какое сегодня число?
```

**Ожидаемый результат:**

* Агент использует инструмент
* Возвращает актуальную дату

## Диагностика проблем

### Proxy-сервер не отвечает

**Симптомы:**

* Ошибка "Connection refused" при curl
* Timeout при открытии /health

**Решения:**

1. Проверьте, запущен ли контейнер/процесс:

   ```bash
   # Docker
   docker ps | grep oneapa

   # Python — проверьте процесс python
   ```
2. Проверьте порт:

   ```bash
   # Windows
   netstat -ano | findstr :9000

   # Linux
   netstat -tlnp | grep 9000
   ```
3. Проверьте firewall

### 1С не подключается к Proxy

**Симптомы:**

* Ошибка при проверке подключения
* Ошибка при обмене с Proxy

**Решения:**

1. Проверьте URL в настройках (без завершающего слэша)
2. Проверьте доступность Proxy из 1С:
   * Если 1С на другом сервере — укажите IP вместо localhost
3. Проверьте firewall между серверами

### Агент не отвечает

**Симптомы:**

* Сообщение отправлено, но ответа нет
* Длительное ожидание без результата

**Решения:**

1. Проверьте логи Proxy на ошибки
2. Убедитесь, что выполнен обмен с Proxy после создания агента
3. Проверьте настройки модели (API ключ)

### Ошибка авторизации LLM

**Симптомы:**

* Ошибка 401 или 403 в логах Proxy
* Сообщение "Invalid API key"

**Решения:**

1. Проверьте API ключ в настройках модели
2. Проверьте, не истёк ли ключ
3. Проверьте баланс аккаунта (для платных провайдеров)

### Инструменты не вызываются

**Симптомы:**

* Агент отвечает, но не использует инструменты
* Ответы без данных из инструментов

**Решения:**

1. Убедитесь, что инструменты добавлены в агента
2. Выполните повторный обмен с Proxy
3. Проверьте описание инструмента — оно должно чётко объяснять, когда его использовать
4. Попробуйте явно попросить использовать инструмент:

   ```
   Используй инструмент "Текущая дата и время" чтобы узнать, который сейчас час.
   ```

## Тестовые сценарии

### Сценарий 1: Простой диалог

```
Пользователь: Привет!
Агент: Здравствуйте! Чем могу помочь?

Пользователь: Расскажи анекдот
Агент: [рассказывает анекдот]

Пользователь: Спасибо!
Агент: Пожалуйста! Обращайтесь, если понадобится помощь.
```

**Результат:** ✅ Агент ведёт связный диалог

### Сценарий 2: Использование инструмента

```
Пользователь: Какая сейчас дата?
Агент: [вызывает инструмент]
Агент: Сегодня 23 января 2026 года.
```

**Результат:** ✅ Агент использует инструмент для получения данных

### Сценарий 3: Работа с контекстом

```
Пользователь: Запомни, что мой любимый цвет — синий
Агент: Хорошо, запомнил!

[... несколько сообщений ...]

Пользователь: Какой мой любимый цвет?
Агент: Ваш любимый цвет — синий.
```

**Результат:** ✅ Агент помнит информацию из диалога

## Итоговый чек-лист

После всех проверок отметьте выполненные пункты:

* [ ] Proxy-сервер отвечает на /health
* [ ] Web UI (Chainlit) открывается
* [ ] 1С подключается к Proxy
* [ ] Обмен с Proxy выполняется без ошибок
* [ ] Чат в 1С работает
* [ ] Агент отвечает на сообщения
* [ ] Инструменты вызываются (если настроены)

{% hint style="success" %}
Если все пункты выполнены — система работает корректно! Переходите к созданию полезных агентов.
{% endhint %}

## Далее

* [Установка и развёртывание](broken://pages/Q4ra8Wne8P6Nv47rT3MR) — детальные инструкции
* [Разработка агентов](/ai-platforma-oneapa/razrabotka-agentov) — создание сложных агентов
* [Примеры агентов](broken://pages/CJ9yzUSQRFkfvGB4Spfm) — готовые шаблоны


# Настройки

Раздел описывает все настройки платформы OneAPA.

## Содержание раздела

| Страница                                                              | Описание                              |
| --------------------------------------------------------------------- | ------------------------------------- |
| [Общие настройки](/ai-platforma-oneapa/nastrojki/obshchie-nastrojki)  | Константы и базовые параметры системы |
| [Настройка моделей](/ai-platforma-oneapa/nastrojki/nastrojka-modelej) | Конфигурация LLM провайдеров          |
| [Настройка MCP](/ai-platforma-oneapa/nastrojki/nastrojka-mcp)         | Model Context Protocol                |
| [Настройка безопасности](broken://pages/TiKILijmgz67ITQIyG89)         | Права доступа и защита данных         |

## Доступ к настройкам

### Команда "Настройки"

Для открытия формы настроек используйте:

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

### Форма настроек

```
┌─────────────────────────────────────────────────────────────┐
│                    Настройки OneAPA                          │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│  Подключение к Proxy                                         │
│  ┌─────────────────────────────────────────────────────────┐│
│  │ URL Proxy сервера: [http://localhost:9000            ]  ││
│  │                                      [Проверить связь]  ││
│  └─────────────────────────────────────────────────────────┘│
│                                                              │
│  Таймауты                                                    │
│  ┌─────────────────────────────────────────────────────────┐│
│  │ Таймаут LLM (сек):      [900    ]                       ││
│  │ Таймаут инструментов:   [900    ]                       ││
│  │ Таймаут маршрутизации:  [600    ]                       ││
│  └─────────────────────────────────────────────────────────┘│
│                                                              │
│  Логирование                                                 │
│  ┌─────────────────────────────────────────────────────────┐│
│  │ ☑ Логировать выполнение инструментов                    ││
│  │ ☐ Подробное логирование                                 ││
│  └─────────────────────────────────────────────────────────┘│
│                                                              │
│                              [Сохранить]  [Отмена]          │
└─────────────────────────────────────────────────────────────┘
```

## Иерархия настроек

```
┌─────────────────────────────────────────────────────────────┐
│                      Константы 1С                            │
│         (глобальные настройки системы)                       │
└─────────────────────────────┬───────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────┐
│                   Справочник "Модели"                        │
│         (настройки LLM провайдеров)                          │
└─────────────────────────────┬───────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────┐
│                   Справочник "Агенты"                        │
│         (настройки конкретных агентов)                       │
└─────────────────────────────────────────────────────────────┘
```

## Основные параметры

### Обязательные настройки

| Параметр          | Описание            | Значение по умолчанию   |
| ----------------- | ------------------- | ----------------------- |
| URL Proxy сервера | Адрес Proxy-сервера | `http://localhost:9000` |
| Лицензионный ключ | Ключ активации      | -                       |

### Настройки производительности

| Параметр             | Описание                     | Значение по умолчанию |
| -------------------- | ---------------------------- | --------------------- |
| Таймаут LLM          | Время ожидания ответа LLM    | 900 сек               |
| Таймаут инструментов | Время выполнения инструмента | 900 сек               |
| Макс. итераций       | Лимит циклов агента          | 15                    |

### Настройки логирования

| Параметр               | Описание                 | Значение по умолчанию |
| ---------------------- | ------------------------ | --------------------- |
| Логировать инструменты | Запись в регистр         | Да                    |
| Уровень логирования    | DEBUG/INFO/WARNING/ERROR | INFO                  |

## Применение настроек

{% hint style="warning" %}
После изменения настроек необходимо выполнить синхронизацию с Proxy-сервером командой "Выполнить обмен с Proxy".
{% endhint %}

### Порядок применения

1. Измените настройки в форме
2. Сохраните изменения
3. Выполните команду `APA_ВыполнитьОбменСПрокси`
4. Проверьте работоспособность

## Рекомендации

### Для разработки

* URL Proxy: `http://localhost:9000`
* Подробное логирование: включено
* Таймауты: стандартные

### Для production

* URL Proxy: `https://proxy.company.local`
* Подробное логирование: отключено
* Таймауты: увеличены при необходимости

## Далее

{% content-ref url="/pages/VvERGpSToIplts6KhPRl" %}
[Общие настройки](/ai-platforma-oneapa/nastrojki/obshchie-nastrojki)
{% endcontent-ref %}


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

Описание констант и базовых параметров системы 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)
{% endcontent-ref %}


# Настройка моделей

Руководство по настройке LLM моделей в OneAPA.

## Справочник "Модели"

Модели LLM настраиваются в справочнике `APA_Модели`.

### Реквизиты модели

| Реквизит         | Тип          | Описание                        |
| ---------------- | ------------ | ------------------------------- |
| **Наименование** | Строка       | Название модели для отображения |
| **Провайдер**    | Перечисление | Тип LLM провайдера              |
| **Ключ**         | Строка       | API ключ или токен              |
| **Каталог**      | Строка       | Модель или folder\_id           |
| **URL**          | Строка       | URL для локальных провайдеров   |

### Поддерживаемые провайдеры

| Провайдер  | Значение      | Примечание        |
| ---------- | ------------- | ----------------- |
| Yandex GPT | `Yandex`      | Yandex Cloud      |
| OpenAI     | `OpenAI`      | OpenAI API        |
| OpenRouter | `OpenRouter`  | Множество моделей |
| Ollama     | `LocalOllama` | Локальные модели  |
| Sber       | `Sber`        | GigaChat          |

## Настройка OpenAI

### Получение API ключа

1. Зарегистрируйтесь на [platform.openai.com](https://platform.openai.com/)
2. Перейдите в API Keys
3. Создайте новый ключ
4. Скопируйте ключ (он показывается один раз)

### Создание модели

| Поле         | Значение      |
| ------------ | ------------- |
| Наименование | OpenAI GPT-4o |
| Провайдер    | OpenAI        |
| Ключ         | sk-proj-...   |
| Каталог      | gpt-4o        |
| URL          | (пусто)       |

### Доступные модели OpenAI

| Модель        | Особенности              |
| ------------- | ------------------------ |
| `gpt-4o`      | Мультимодальная, быстрая |
| `gpt-4o-mini` | Экономичная              |
| `gpt-4-turbo` | Большой контекст         |
| `gpt-4`       | Классическая GPT-4       |
| `o1`          | Reasoning модель         |
| `o3`          | Reasoning модель         |

{% hint style="info" %}
Модели o1 и o3 — reasoning модели с улучшенными возможностями рассуждения. Для них автоматически применяется `temperature=1`.
{% endhint %}

## Настройка Yandex GPT

### Получение доступа

1. Создайте аккаунт в [Yandex Cloud](https://cloud.yandex.ru/)
2. Активируйте сервис YandexGPT
3. Получите IAM токен
4. Скопируйте folder\_id каталога

### Получение IAM токена

```bash
# Через CLI
yc iam create-token

# Или через API
curl -X POST \
  -H "Content-Type: application/json" \
  -d '{"yandexPassportOauthToken":"<OAuth_token>"}' \
  https://iam.api.cloud.yandex.net/iam/v1/tokens
```

### Создание модели

| Поле         | Значение     |
| ------------ | ------------ |
| Наименование | Yandex GPT   |
| Провайдер    | Yandex       |
| Ключ         | (IAM токен)  |
| Каталог      | (folder\_id) |
| URL          | (пусто)      |

{% hint style="warning" %}
IAM токен действует ограниченное время (12 часов). Настройте автоматическое обновление токена.
{% endhint %}

## Настройка Ollama

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

```bash
# Linux/Mac
curl -fsSL https://ollama.com/install.sh | sh

# Windows
# Скачайте установщик с https://ollama.com/download
```

### Загрузка модели

```bash
# Загрузка модели
ollama pull llama3

# Проверка
ollama list
```

### Создание модели

| Поле         | Значение                 |
| ------------ | ------------------------ |
| Наименование | Ollama Llama3            |
| Провайдер    | LocalOllama              |
| Ключ         | (пусто)                  |
| Каталог      | llama3                   |
| URL          | <http://localhost:11434> |

### Рекомендуемые модели Ollama

| Модель       | Размер | VRAM  | Качество |
| ------------ | ------ | ----- | -------- |
| `llama3`     | 8B     | 8 ГБ  | ⭐⭐⭐⭐     |
| `llama3:70b` | 70B    | 48 ГБ | ⭐⭐⭐⭐⭐    |
| `mistral`    | 7B     | 8 ГБ  | ⭐⭐⭐⭐     |
| `qwen2.5`    | 7B     | 8 ГБ  | ⭐⭐⭐⭐     |
| `gemma2`     | 9B     | 10 ГБ | ⭐⭐⭐⭐     |

## Настройка OpenRouter

### Получение API ключа

1. Зарегистрируйтесь на [openrouter.ai](https://openrouter.ai/)
2. Пополните баланс
3. Создайте API ключ

### Создание модели

| Поле         | Значение                  |
| ------------ | ------------------------- |
| Наименование | OpenRouter Claude         |
| Провайдер    | OpenRouter                |
| Ключ         | sk-or-...                 |
| Каталог      | anthropic/claude-3-sonnet |
| URL          | (пусто)                   |

### Доступные модели OpenRouter

| Модель          | ID                              |
| --------------- | ------------------------------- |
| Claude 3 Opus   | anthropic/claude-3-opus         |
| Claude 3 Sonnet | anthropic/claude-3-sonnet       |
| Llama 3 70B     | meta-llama/llama-3-70b-instruct |
| Mistral Large   | mistralai/mistral-large         |

## Настройка Sber GigaChat

### Получение доступа

1. Зарегистрируйтесь на [developers.sber.ru](https://developers.sber.ru/)
2. Подключите GigaChat API
3. Получите API ключ

### Создание модели

| Поле         | Значение      |
| ------------ | ------------- |
| Наименование | Sber GigaChat |
| Провайдер    | Sber          |
| Ключ         | (API ключ)    |
| Каталог      | GigaChat      |
| URL          | (пусто)       |

## Выбор модели для агента

### В справочнике "Агенты"

При создании или редактировании агента выберите модель в поле "Модель":

```
┌─────────────────────────────────────────────────────────────┐
│  Модель: [OpenAI GPT-4o                            ▼]      │
└─────────────────────────────────────────────────────────────┘
```

### Критерии выбора

| Критерий                   | Рекомендация          |
| -------------------------- | --------------------- |
| **Качество ответов**       | OpenAI GPT-4o, Claude |
| **Скорость**               | GPT-4o-mini, Mistral  |
| **Конфиденциальность**     | Ollama                |
| **Экономия**               | Ollama, GPT-4o-mini   |
| **Работа с изображениями** | GPT-4o, GPT-4-turbo   |

## Тестирование модели

### Быстрая проверка

1. Создайте тестового агента с моделью
2. Откройте чат
3. Отправьте простое сообщение: "Привет!"
4. Проверьте получение ответа

### Расширенная проверка

```
Тест 1: Простой вопрос
> Какой сегодня день недели?

Тест 2: Логическая задача
> Если у меня 3 яблока и я отдал 1, сколько осталось?

Тест 3: Генерация текста
> Напиши короткое приветствие для пользователя.
```

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

### Ошибка авторизации

| Провайдер | Причина              | Решение                 |
| --------- | -------------------- | ----------------------- |
| OpenAI    | Неверный ключ        | Проверьте API ключ      |
| OpenAI    | Недостаточно средств | Пополните баланс        |
| Yandex    | Истёк IAM токен      | Обновите токен          |
| Ollama    | Сервер недоступен    | Проверьте запуск Ollama |

### Медленные ответы

1. Проверьте скорость сети
2. Попробуйте более лёгкую модель
3. Для Ollama — проверьте использование GPU

### Некачественные ответы

1. Попробуйте более мощную модель
2. Улучшите системный промпт агента
3. Добавьте примеры в промпт

## Далее

{% content-ref url="/pages/j31qDPX9G0TRnnQ8r8NV" %}
[Настройка MCP](/ai-platforma-oneapa/nastrojki/nastrojka-mcp)
{% endcontent-ref %}


# Настройка MCP

Руководство по настройке Model Context Protocol в OneAPA.

<figure><img src="/files/81cNyCJnr5ohT1goZtpD" alt=""><figcaption></figcaption></figure>

## Что такое MCP

**Model Context Protocol (MCP)** — открытый протокол для взаимодействия языковых моделей с внешними инструментами и источниками данных.

### Преимущества MCP

| Преимущество       | Описание                            |
| ------------------ | ----------------------------------- |
| **Стандартизация** | Единый протокол для всех интеграций |
| **Расширяемость**  | Легко добавлять новые инструменты   |
| **Экосистема**     | Множество готовых MCP серверов      |
| **Совместимость**  | Работает с Cursor, Claude и другими |

## OneAPA как MCP сервер

OneAPA автоматически предоставляет все инструменты агентов через MCP протокол.

### Как это работает

```
┌─────────────────┐         ┌─────────────────┐
│   MCP клиент    │         │     OneAPA      │
│   (Cursor,      │────────►│   MCP Server    │
│    Claude)      │◄────────│                 │
└─────────────────┘         └─────────────────┘
       │                           │
       │  tools/list              │
       │─────────────────────────►│
       │                          │
       │  [список инструментов]   │
       │◄─────────────────────────│
       │                          │
       │  tools/call              │
       │─────────────────────────►│
       │                          │
       │  [результат]             │
       │◄─────────────────────────│
```

### Использование в Cursor

Добавьте OneAPA как MCP сервер в настройках Cursor:

```json
{
  "mcpServers": {
    "oneapa": {
      "url": "http://localhost:9000/mcp",
      "transport": "http"
    }
  }
}
```

## OneAPA как MCP клиент

OneAPA может использовать внешние MCP серверы как источники инструментов.

### Справочник "MCP серверы"

Внешние MCP серверы настраиваются в справочнике `APA_MCPСерверы`.

#### Реквизиты

| Реквизит         | Тип    | Описание                           |
| ---------------- | ------ | ---------------------------------- |
| **Наименование** | Строка | Название сервера                   |
| **URL**          | Строка | Адрес MCP сервера                  |
| **Токен**        | Строка | Токен авторизации (если требуется) |
| **Активен**      | Булево | Включён ли сервер                  |

### Добавление MCP сервера

1. Откройте справочник "MCP серверы"
2. Создайте новый элемент
3. Заполните поля:

| Поле         | Пример                      |
| ------------ | --------------------------- |
| Наименование | FileSystem MCP              |
| URL          | <http://localhost:8080/mcp> |
| Токен        | (если требуется)            |
| Активен      | ✓                           |

4. Сохраните

### Подключение к агенту

1. Откройте агента
2. Перейдите на вкладку "MCP серверы"
3. Добавьте нужные серверы
4. Сохраните

```
┌─────────────────────────────────────────────────────────────┐
│  Агент: Помощник                                            │
├─────────────────────────────────────────────────────────────┤
│  [Основное] [Инструменты] [MCP серверы] [Пользователи]     │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│  MCP серверы:                                                │
│  ┌───────────────────────────────────────────────────────┐  │
│  │ ☑ FileSystem MCP                                       │  │
│  │ ☑ GitHub MCP                                           │  │
│  │ ☐ Database MCP                                         │  │
│  └───────────────────────────────────────────────────────┘  │
│                                                              │
│                                [Добавить] [Удалить]          │
└─────────────────────────────────────────────────────────────┘
```

## Примеры MCP серверов

### Файловая система

Позволяет агенту работать с файлами.

```json
{
  "name": "FileSystem MCP",
  "url": "http://localhost:8080",
  "capabilities": ["read_file", "write_file", "list_directory"]
}
```

### GitHub

Работа с репозиториями GitHub.

```json
{
  "name": "GitHub MCP",
  "url": "https://mcp.github.com",
  "token": "ghp_xxxxx"
}
```

### База данных

Выполнение SQL запросов.

```json
{
  "name": "Database MCP",
  "url": "http://localhost:8081",
  "capabilities": ["query", "execute"]
}
```

## Создание MCP инструмента в OneAPA

### В справочнике "Инструменты"

Для создания инструмента, работающего через MCP:

1. Создайте элемент в справочнике "Инструменты"
2. Установите флаг **MCP**
3. Заполните описание

```
┌─────────────────────────────────────────────────────────────┐
│  Инструмент: Поиск в файлах                                 │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│  ☑ MCP (инструмент через MCP протокол)                      │
│                                                              │
│  Описание:                                                   │
│  ┌─────────────────────────────────────────────────────────┐│
│  │ Поиск текста в файлах указанного каталога               ││
│  └─────────────────────────────────────────────────────────┘│
│                                                              │
│  Параметры:                                                  │
│  ┌─────────────────────────────────────────────────────────┐│
│  │ directory | string | Путь к каталогу                    ││
│  │ pattern   | string | Шаблон поиска                      ││
│  └─────────────────────────────────────────────────────────┘│
└─────────────────────────────────────────────────────────────┘
```

### Вызов MCP инструмента

При вызове агент отправляет запрос к MCP серверу:

```json
{
  "method": "tools/call",
  "params": {
    "name": "search_files",
    "arguments": {
      "directory": "/data",
      "pattern": "*.log"
    }
  }
}
```

## Протокол MCP

### Методы

| Метод            | Описание                      |
| ---------------- | ----------------------------- |
| `tools/list`     | Список доступных инструментов |
| `tools/call`     | Вызов инструмента             |
| `resources/list` | Список ресурсов               |
| `resources/read` | Чтение ресурса                |
| `prompts/list`   | Список промптов               |
| `prompts/get`    | Получение промпта             |

### Формат инструмента

```json
{
  "name": "get_weather",
  "description": "Получить погоду в городе",
  "inputSchema": {
    "type": "object",
    "properties": {
      "city": {
        "type": "string",
        "description": "Название города"
      }
    },
    "required": ["city"]
  }
}
```

## Безопасность MCP

### Рекомендации

1. **Ограничьте доступ** — используйте токены авторизации
2. **Шифруйте трафик** — используйте HTTPS для внешних серверов
3. **Логируйте вызовы** — отслеживайте использование инструментов
4. **Проверяйте входные данные** — валидируйте параметры

### Пример с токеном

```
┌─────────────────────────────────────────────────────────────┐
│  MCP сервер: Sensitive Data MCP                             │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│  URL: https://secure-mcp.company.local                       │
│  Токен: [••••••••••••••••••••]                              │
│  ☑ Активен                                                  │
└─────────────────────────────────────────────────────────────┘
```

## Отладка MCP

### Проверка доступности сервера

```bash
# Получение списка инструментов
curl -X POST http://localhost:8080/mcp \
  -H "Content-Type: application/json" \
  -d '{"method": "tools/list"}'
```

### Тестовый вызов инструмента

```bash
curl -X POST http://localhost:8080/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "method": "tools/call",
    "params": {
      "name": "test_tool",
      "arguments": {}
    }
  }'
```

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

### MCP сервер недоступен

1. Проверьте URL сервера
2. Проверьте, что сервер запущен
3. Проверьте firewall

### Ошибка авторизации

1. Проверьте токен
2. Убедитесь, что токен не истёк
3. Проверьте формат токена (Bearer, Basic и т.д.)

### Инструменты не появляются

1. Выполните синхронизацию с Proxy
2. Проверьте, что MCP сервер добавлен в агента
3. Проверьте логи Proxy на ошибки

## Далее

{% content-ref url="/pages/TiKILijmgz67ITQIyG89" %}
[Broken mention](broken://pages/TiKILijmgz67ITQIyG89)
{% endcontent-ref %}


# Справочники

Раздел описывает все справочники конфигурации OneAPA.

## Список справочников

| Справочник                                                    | Назначение                   | Иерархический |
| ------------------------------------------------------------- | ---------------------------- | ------------- |
| [Пользователи](/ai-platforma-oneapa/spravochniki/polzovateli) | Учёт пользователей системы   | Нет           |
| [Агенты](/ai-platforma-oneapa/spravochniki/agenty)            | Основная сущность ИИ агентов | Да            |
| [Инструменты](/ai-platforma-oneapa/spravochniki/instrumenty)  | Инструменты для агентов      | Да            |
| [Модели](/ai-platforma-oneapa/spravochniki/modeli)            | Конфигурация LLM провайдеров | Нет           |
| [Триггеры](/ai-platforma-oneapa/spravochniki/triggery)        | События запуска агентов      | Нет           |
| [Форматы](/ai-platforma-oneapa/spravochniki/formaty)          | Форматы выходных данных      | Нет           |
| [MCP серверы](/ai-platforma-oneapa/spravochniki/mcp-servery)  | Внешние MCP серверы          | Да            |

## Схема взаимосвязей

```
┌─────────────────────────────────────────────────────────────────────────┐
│                        ВЗАИМОСВЯЗИ СПРАВОЧНИКОВ                          │
│                                                                          │
│                         ┌─────────────────┐                             │
│                         │    АГЕНТЫ       │                             │
│                         │                 │                             │
│                         │ • Модель ────────┼──────► Модели              │
│                         │ • Триггер ───────┼──────► Триггеры            │
│                         │ • СледующийАгент│                             │
│                         └────────┬────────┘                             │
│                                  │                                       │
│              ┌───────────────────┼───────────────────┐                  │
│              │                   │                   │                  │
│              ▼                   ▼                   ▼                  │
│     ┌─────────────┐     ┌─────────────┐     ┌─────────────┐            │
│     │ Инструменты │     │ Пользователи│     │ MCP серверы │            │
│     │             │     │             │     │             │            │
│     │ • Формат ───┼────►│ Форматы     │     │             │            │
│     └─────────────┘     └─────────────┘     └─────────────┘            │
│                                                                          │
└─────────────────────────────────────────────────────────────────────────┘
```

## Ключевые справочники

### Агенты

**Центральный справочник системы.** Определяет:

* Какую модель использует агент
* Какой системный промпт применять
* Какие инструменты доступны
* Кто может использовать агента
* При каком событии агент активируется

### Инструменты

**Функциональные возможности агентов.** Определяет:

* Что агент может делать
* Какие параметры принимает инструмент
* Какой код выполняется
* Кто может использовать инструмент

### Модели

**Подключение к LLM.** Определяет:

* Какой провайдер используется
* Параметры подключения (ключи, URL)
* Какая конкретная модель

## Общие принципы работы

### Создание элемента

1. Откройте справочник
2. Нажмите "Создать"
3. Заполните обязательные поля
4. Сохраните

### Иерархические справочники

Справочники Агенты, Инструменты и MCP серверы поддерживают иерархию (группы):

```
📁 Агенты
├── 📁 Финансовые
│   ├── Бухгалтер
│   └── Финансовый аналитик
├── 📁 HR
│   ├── Кадровик
│   └── Рекрутер
└── 📁 Поддержка
    ├── Первая линия
    └── Техническая поддержка
```

### Синхронизация с Proxy

{% hint style="warning" %}
После изменения справочников выполните команду "Выполнить обмен с Proxy" для синхронизации данных.
{% endhint %}

## Далее

Начните с изучения основного справочника:

{% content-ref url="/pages/opynIs0ONncXeDwZZnB6" %}
[Агенты](/ai-platforma-oneapa/spravochniki/agenty)
{% endcontent-ref %}


# Агенты

Справочник `APA_Агенты` — центральный объект системы, определяющий настройки ИИ агентов.

<figure><img src="/files/1KEOr2IWRxMk4tPVjUV7" alt=""><figcaption></figcaption></figure>

## Назначение

Агент — это автономная сущность, которая:

* Получает запросы от пользователей
* Анализирует их с помощью LLM
* Использует инструменты для получения данных
* Формирует и возвращает ответы

## Характеристики справочника

| Параметр      | Значение    |
| ------------- | ----------- |
| Имя           | APA\_Агенты |
| Иерархический | Да          |
| Владельцы     | Нет         |

## Реквизиты

### Основные реквизиты

| Реквизит                   | Тип                      | Обязательный | Описание                   |
| -------------------------- | ------------------------ | ------------ | -------------------------- |
| **Код**                    | Строка(9)                | Да           | Уникальный код             |
| **Наименование**           | Строка(150)              | Да           | Название агента            |
| **Активен**                | Булево                   | Нет          | Включён ли агент           |
| **Описание**               | Строка(0)                | Нет          | Описание для выбора агента |
| **Модель**                 | Справочник.APA\_Модели   | Да           | LLM модель                 |
| **Триггер**                | Справочник.APA\_Триггеры | Нет          | Событие запуска            |
| **СистемныйПромпт**        | Строка(0)                | Нет          | Инструкция для LLM         |
| **ПользовательскийПромпт** | Строка(0)                | Нет          | Шаблон обработки           |
| **СледующийАгент**         | Справочник.APA\_Агенты   | Нет          | Передача управления        |

### Табличные части

#### Инструменты

| Колонка    | Тип                         | Описание             |
| ---------- | --------------------------- | -------------------- |
| Инструмент | Справочник.APA\_Инструменты | Ссылка на инструмент |

#### Пользователи

| Колонка      | Тип                          | Описание                      |
| ------------ | ---------------------------- | ----------------------------- |
| Пользователь | Справочник.APA\_Пользователи | Кто может использовать агента |

#### MCPСерверы

| Колонка   | Тип                        | Описание           |
| --------- | -------------------------- | ------------------ |
| MCPСервер | Справочник.APA\_MCPСерверы | Внешний MCP сервер |

## Форма элемента

```
┌─────────────────────────────────────────────────────────────────────────┐
│  Агент: Кадровый специалист                          [Записать] [Закрыть]│
├─────────────────────────────────────────────────────────────────────────┤
│  [Основное]  [Инструменты]  [MCP серверы]  [Пользователи]              │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│  ☑ Активен                                                              │
│                                                                          │
│  Код: [000000001]                                                        │
│  Наименование: [Кадровый специалист                              ]      │
│                                                                          │
│  Описание:                                                               │
│  ┌────────────────────────────────────────────────────────────────────┐ │
│  │ Помогает сотрудникам с кадровыми вопросами: отпуска, командировки, │ │
│  │ справки, информация о зарплате.                                    │ │
│  └────────────────────────────────────────────────────────────────────┘ │
│                                                                          │
│  Модель:   [OpenAI GPT-4o                                         ▼]   │
│  Триггер:  [Чат                                                   ▼]   │
│                                                                          │
│  Системный промпт:                                                       │
│  ┌────────────────────────────────────────────────────────────────────┐ │
│  │ Ты — кадровый специалист компании.                                 │ │
│  │                                                                     │ │
│  │ Твои задачи:                                                        │ │
│  │ - Отвечать на вопросы об отпусках                                  │ │
│  │ - Помогать с оформлением командировок                              │ │
│  │ - Предоставлять информацию о зарплате                              │ │
│  │                                                                     │ │
│  │ Правила:                                                            │ │
│  │ - Будь вежлив и профессионален                                     │ │
│  │ - Используй инструменты для получения данных                       │ │
│  │ - Не разглашай данные других сотрудников                           │ │
│  └────────────────────────────────────────────────────────────────────┘ │
│                                                                          │
│  Следующий агент: [                                               ▼]   │
│                                                                          │
└─────────────────────────────────────────────────────────────────────────┘
```

## Создание агента

### Шаг 1: Базовые настройки

1. Откройте справочник "Агенты"
2. Нажмите "Создать"
3. Введите **Наименование** — понятное название
4. Введите **Описание** — краткое описание задач агента
5. Установите флаг **Активен**

### Шаг 2: Выбор модели

Выберите модель LLM в поле **Модель**:

* Для сложных задач: GPT-4o, Claude 3
* Для простых: GPT-4o-mini, Llama 3
* Для конфиденциальных: Ollama

### Шаг 3: Системный промпт

Напишите **Системный промпт** — инструкцию для агента:

```
Ты — [роль агента].

Твои задачи:
- [Задача 1]
- [Задача 2]
- [Задача 3]

Правила:
- [Правило 1]
- [Правило 2]

При ответе:
- [Формат ответа]
```

### Шаг 4: Добавление инструментов

1. Перейдите на вкладку "Инструменты"
2. Нажмите "Добавить"
3. Выберите инструменты из справочника

### Шаг 5: Ограничение доступа (опционально)

1. Перейдите на вкладку "Пользователи"
2. Добавьте пользователей, которым разрешён доступ
3. Если список пуст — доступ для всех

### Шаг 6: Сохранение

1. Нажмите "Записать"
2. Выполните синхронизацию с Proxy

## Примеры конфигурации

### Информационный агент

```
Наименование: Справочный бот
Описание: Отвечает на общие вопросы о компании
Модель: GPT-4o-mini
Триггер: Чат

Системный промпт:
Ты — справочный бот компании "Рога и копыта".
Отвечай на вопросы о компании, её продуктах и услугах.
Если не знаешь ответ — предложи обратиться к менеджеру.

Инструменты:
- Поиск в базе знаний
```

### Агент с действиями

```
Наименование: Бухгалтер
Описание: Помогает с финансовыми операциями
Модель: GPT-4o
Триггер: Чат

Системный промпт:
Ты — бухгалтер компании.
Можешь проверять остатки на счетах и создавать заявки на оплату.
Всегда запрашивай подтверждение перед созданием документов.

Инструменты:
- Остаток на счёте
- Создать заявку на оплату
- Список неоплаченных счетов

Пользователи:
- Главный бухгалтер
- Финансовый директор
```

### Цепочка агентов

```
Агент 1: Классификатор
Описание: Определяет тип обращения
Следующий агент: (зависит от классификации)

Агент 2: Кадровый агент
Описание: Обрабатывает кадровые вопросы

Агент 3: Технический агент
Описание: Обрабатывает технические вопросы
```

## Поле "Описание"

Поле **Описание** используется для автоматического выбора агента:

1. Пользователь отправляет сообщение
2. LLM анализирует описания всех агентов
3. Выбирается наиболее подходящий

**Пример хорошего описания:**

```
Помогает сотрудникам с вопросами об отпусках, командировках, 
больничных, справках 2-НДФЛ, информации о зарплате и премиях.
```

**Пример плохого описания:**

```
Кадровый агент
```

## Поле "Следующий агент"

Позволяет передать управление другому агенту после завершения работы:

```
Агент "Приёмщик обращений"
    ↓ (после классификации)
Агент "Техническая поддержка"
```

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

### Агент не отвечает

1. Проверьте флаг "Активен"
2. Проверьте настройки модели
3. Выполните синхронизацию с Proxy

### Агент не использует инструменты

1. Убедитесь, что инструменты добавлены на вкладке "Инструменты"
2. Проверьте описания инструментов
3. Укажите в промпте, когда использовать инструменты

### Агент недоступен пользователю

1. Проверьте вкладку "Пользователи"
2. Добавьте пользователя или очистите список (доступ для всех)

## Далее

{% content-ref url="/pages/8dJrIdmLGPYsEfymvTE5" %}
[Инструменты](/ai-platforma-oneapa/spravochniki/instrumenty)
{% endcontent-ref %}


# Инструменты

Справочник `APA_Инструменты` определяет функции, которые агенты могут вызывать для получения данных или выполнения действий.

<figure><img src="/files/Nh2vBSQfuI9a1It5CivD" alt=""><figcaption></figcaption></figure>

## Назначение

Инструмент — это функция, которую агент может вызвать:

* Запрос данных из 1С
* Вызов внешнего API
* Запуск робота OneRPA
* Взаимодействие через MCP

## Характеристики справочника

| Параметр      | Значение         |
| ------------- | ---------------- |
| Имя           | APA\_Инструменты |
| Иерархический | Да               |
| Владельцы     | Нет              |

## Реквизиты

### Основные реквизиты

| Реквизит             | Тип                        | Описание             |
| -------------------- | -------------------------- | -------------------- |
| **Код**              | Строка(9)                  | Уникальный код       |
| **Наименование**     | Строка(150)                | Название инструмента |
| **Описание**         | Строка(0)                  | Описание для LLM     |
| **ЗапросКод**        | Строка(0)                  | Код на языке 1С      |
| **MCP**              | Булево                     | Инструмент через MCP |
| **OneRPA**           | Булево                     | Инструмент OneRPA    |
| **Формат**           | Справочник.APA\_Форматы    | Формат ответа        |
| **ВариантОтчета**    | Справочник.ВариантыОтчетов | Вариант отчёта       |
| **КодЗаданияOneRPA** | Строка                     | Код задания OneRPA   |

### Табличные части

#### Параметры

| Колонка  | Тип    | Описание                              |
| -------- | ------ | ------------------------------------- |
| Имя      | Строка | Имя параметра (на русском)            |
| ИмяEn    | Строка | Имя параметра (на английском)         |
| Описание | Строка | Описание параметра для LLM            |
| Тип      | Строка | Тип: string, number, integer, boolean |

#### Доступность

| Колонка      | Тип                          | Описание               |
| ------------ | ---------------------------- | ---------------------- |
| Пользователь | Справочник.APA\_Пользователи | Кто может использовать |

## Типы инструментов

### HTTP инструмент (код 1С)

Выполняет код на языке 1С и возвращает результат.

```
┌─────────────────────────────────────────────────────────────────────────┐
│  Инструмент: Получить остаток отпуска                                   │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│  ☐ MCP    ☐ OneRPA                                                      │
│                                                                          │
│  Описание:                                                               │
│  ┌────────────────────────────────────────────────────────────────────┐ │
│  │ Возвращает количество оставшихся дней отпуска для сотрудника.      │ │
│  │ Используй этот инструмент, когда пользователь спрашивает           │ │
│  │ об остатке отпуска.                                                │ │
│  └────────────────────────────────────────────────────────────────────┘ │
│                                                                          │
│  Код:                                                                    │
│  ┌────────────────────────────────────────────────────────────────────┐ │
│  │ Сотрудник = Параметры.Сотрудник;                                   │ │
│  │                                                                     │ │
│  │ Запрос = Новый Запрос;                                             │ │
│  │ Запрос.Текст = "ВЫБРАТЬ ОстатокДней ИЗ ...";                       │ │
│  │ Запрос.УстановитьПараметр("Сотрудник", Сотрудник);                 │ │
│  │ Результат = Запрос.Выполнить().Выгрузить();                        │ │
│  │                                                                     │ │
│  │ Возврат = Новый Структура("Дней", Результат[0].ОстатокДней);       │ │
│  └────────────────────────────────────────────────────────────────────┘ │
│                                                                          │
│  Параметры:                                                              │
│  ┌────────────────────────────────────────────────────────────────────┐ │
│  │ Сотрудник | employee | string | ФИО или табельный номер сотрудника│ │
│  └────────────────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────────┘
```

### MCP инструмент

Вызывает внешний MCP сервер.

```
┌─────────────────────────────────────────────────────────────────────────┐
│  Инструмент: Поиск в файлах                                             │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│  ☑ MCP    ☐ OneRPA                                                      │
│                                                                          │
│  Описание:                                                               │
│  ┌────────────────────────────────────────────────────────────────────┐ │
│  │ Ищет текст в файлах на сервере. Используй для поиска               │ │
│  │ информации в документах.                                           │ │
│  └────────────────────────────────────────────────────────────────────┘ │
│                                                                          │
│  Параметры:                                                              │
│  ┌────────────────────────────────────────────────────────────────────┐ │
│  │ query | query | string | Поисковый запрос                          │ │
│  │ path  | path  | string | Путь для поиска                           │ │
│  └────────────────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────────┘
```

### OneRPA инструмент

Запускает робота OneRPA.

```
┌─────────────────────────────────────────────────────────────────────────┐
│  Инструмент: Выгрузка отчёта в Excel                                    │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│  ☐ MCP    ☑ OneRPA                                                      │
│                                                                          │
│  Код задания OneRPA: [EXPORT_EXCEL_001                            ]     │
│                                                                          │
│  Описание:                                                               │
│  ┌────────────────────────────────────────────────────────────────────┐ │
│  │ Выгружает указанный отчёт в Excel файл. Используй, когда           │ │
│  │ пользователь просит сформировать отчёт в Excel.                    │ │
│  └────────────────────────────────────────────────────────────────────┘ │
│                                                                          │
│  Параметры:                                                              │
│  ┌────────────────────────────────────────────────────────────────────┐ │
│  │ report_name | report_name | string | Название отчёта               │ │
│  │ period_from | period_from | string | Дата начала периода           │ │
│  │ period_to   | period_to   | string | Дата конца периода            │ │
│  └────────────────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────────┘
```

## Создание инструмента

### Шаг 1: Базовые настройки

1. Откройте справочник "Инструменты"
2. Нажмите "Создать"
3. Введите **Наименование**
4. Выберите тип (обычный/MCP/OneRPA)

### Шаг 2: Описание

Напишите понятное **Описание** для LLM:

**Хорошее описание:**

```
Возвращает текущий остаток денежных средств на расчётном счёте компании.
Используй этот инструмент, когда пользователь спрашивает о балансе,
остатке на счёте или доступных средствах.
```

**Плохое описание:**

```
Остаток на счёте
```

### Шаг 3: Параметры

Добавьте параметры на вкладке "Параметры":

| Имя  | ИмяEn   | Тип    | Описание                   |
| ---- | ------- | ------ | -------------------------- |
| Счёт | account | string | Номер расчётного счёта     |
| Дата | date    | string | Дата для получения остатка |

### Шаг 4: Код (для HTTP инструментов)

Напишите код на языке 1С:

```bsl
// Получение параметров
НомерСчёта = Параметры.Счёт;
Дата = Параметры.Дата;

// Выполнение запроса
Запрос = Новый Запрос;
Запрос.Текст = 
"ВЫБРАТЬ
|    Остатки.СуммаОстаток КАК Остаток
|ИЗ
|    РегистрНакопления.ДенежныеСредства.Остатки(&Дата) КАК Остатки
|ГДЕ
|    Остатки.Счёт.Номер = &НомерСчёта";

Запрос.УстановитьПараметр("Дата", Дата);
Запрос.УстановитьПараметр("НомерСчёта", НомерСчёта);

Выборка = Запрос.Выполнить().Выбрать();

Если Выборка.Следующий() Тогда
    Результат = Новый Структура("Остаток", Выборка.Остаток);
Иначе
    Результат = Новый Структура("Остаток", 0);
КонецЕсли;
```

### Шаг 5: Сохранение

1. Нажмите "Записать"
2. Добавьте инструмент к агенту
3. Выполните синхронизацию с Proxy

## Типы параметров

| Тип       | Описание        | Пример значения |
| --------- | --------------- | --------------- |
| `string`  | Строка          | "Иванов И.И."   |
| `number`  | Число (дробное) | 123.45          |
| `integer` | Целое число     | 42              |
| `boolean` | Логическое      | true/false      |

## Формат ответа

Для структурированного ответа используйте справочник "Форматы":

```json
{
  "остаток": 1500000.50,
  "валюта": "RUB",
  "дата": "2026-01-23"
}
```

## Примеры инструментов

### Получение данных

```bsl
// Инструмент: Список неоплаченных счетов
// Параметры: Контрагент (string)

Контрагент = Параметры.Контрагент;

Запрос = Новый Запрос;
Запрос.Текст = 
"ВЫБРАТЬ
|    Счета.Номер,
|    Счета.Сумма,
|    Счета.ДатаОплаты
|ИЗ
|    Документ.СчётНаОплату КАК Счета
|ГДЕ
|    Счета.Контрагент.Наименование ПОДОБНО &Контрагент
|    И НЕ Счета.Оплачен";

Запрос.УстановитьПараметр("Контрагент", "%" + Контрагент + "%");
Таблица = Запрос.Выполнить().Выгрузить();

Результат = Новый Массив;
Для Каждого Строка Из Таблица Цикл
    Результат.Добавить(Новый Структура(
        "Номер, Сумма, ДатаОплаты",
        Строка.Номер, Строка.Сумма, Строка.ДатаОплаты
    ));
КонецЦикла;
```

### Создание документа

```bsl
// Инструмент: Создать заявку на отпуск
// Параметры: Сотрудник (string), ДатаС (string), ДатаПо (string)

Сотрудник = Параметры.Сотрудник;
ДатаС = Дата(Параметры.ДатаС);
ДатаПо = Дата(Параметры.ДатаПо);

Заявка = Документы.ЗаявкаНаОтпуск.СоздатьДокумент();
Заявка.Дата = ТекущаяДата();
Заявка.Сотрудник = НайтиСотрудника(Сотрудник);
Заявка.ДатаНачала = ДатаС;
Заявка.ДатаОкончания = ДатаПо;
Заявка.Записать();

Результат = Новый Структура(
    "Успех, НомерЗаявки",
    Истина, Заявка.Номер
);
```

## Доступность инструментов

### Ограничение по пользователям

На вкладке "Доступность" укажите, кто может использовать инструмент:

* Если список пуст — доступен всем
* Если есть пользователи — только им

### Контекстная доступность

Агент видит только те инструменты, которые:

1. Добавлены в агента
2. Доступны текущему пользователю

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

### Инструмент не вызывается

1. Проверьте, добавлен ли инструмент в агента
2. Проверьте описание — LLM должен понимать, когда использовать
3. Укажите в промпте агента про инструмент

### Ошибка выполнения кода

1. Проверьте синтаксис кода 1С
2. Проверьте наличие объектов в базе
3. Смотрите регистр APA\_ЛогИнструментов

### Неверные параметры

1. Проверьте имена параметров (ИмяEn)
2. Проверьте типы параметров
3. Проверьте описания параметров

## Далее

{% content-ref url="/pages/Ow1QsUULaU4zVYdanIpA" %}
[Модели](/ai-platforma-oneapa/spravochniki/modeli)
{% endcontent-ref %}


# Модели

Справочник `APA_Модели` предназначен для настройки подключения к LLM провайдерам.

<figure><img src="/files/LkIJ9ubX7g6QoDWl4xqP" alt=""><figcaption></figcaption></figure>

## Назначение

Справочник хранит конфигурацию LLM моделей:

* Провайдер (OpenAI, Yandex, Ollama и др.)
* Параметры подключения (ключи, URL)
* Название модели

## Характеристики справочника

| Параметр      | Значение    |
| ------------- | ----------- |
| Имя           | APA\_Модели |
| Иерархический | Нет         |
| Владельцы     | Нет         |

## Реквизиты

| Реквизит         | Тип          | Обязательный | Описание                       |
| ---------------- | ------------ | ------------ | ------------------------------ |
| **Код**          | Строка(9)    | Да           | Уникальный код                 |
| **Наименование** | Строка(150)  | Да           | Название модели                |
| **Провайдер**    | Перечисление | Да           | Тип LLM провайдера             |
| **Ключ**         | Строка       | Зависит      | API ключ или токен             |
| **Каталог**      | Строка       | Да           | Название модели или folder\_id |
| **URL**          | Строка       | Зависит      | URL для локальных провайдеров  |

## Перечисление "Провайдеры моделей"

| Значение        | Описание                       |
| --------------- | ------------------------------ |
| **Yandex**      | Yandex GPT                     |
| **OpenAI**      | OpenAI (GPT-4, GPT-4o и др.)   |
| **LocalOllama** | Локальные модели Ollama        |
| **Sber**        | Sber GigaChat                  |
| **OpenRouter**  | OpenRouter (множество моделей) |

## Форма элемента

```
┌─────────────────────────────────────────────────────────────────────────┐
│  Модель                                              [Записать] [Закрыть]│
├─────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│  Код:         [000000001]                                               │
│  Наименование:[OpenAI GPT-4o                                      ]    │
│                                                                          │
│  Провайдер:   [OpenAI                                             ▼]   │
│                                                                          │
│  Параметры подключения:                                                  │
│  ┌────────────────────────────────────────────────────────────────────┐ │
│  │ Ключ:     [sk-proj-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx              ]   │ │
│  │ Каталог:  [gpt-4o                                              ]   │ │
│  │ URL:      [                                                    ]   │ │
│  └────────────────────────────────────────────────────────────────────┘ │
│                                                                          │
└─────────────────────────────────────────────────────────────────────────┘
```

## Настройка по провайдерам

### OpenAI

| Поле      | Значение        | Пример         |
| --------- | --------------- | -------------- |
| Провайдер | OpenAI          | OpenAI         |
| Ключ      | API ключ        | sk-proj-xxx... |
| Каталог   | Название модели | gpt-4o         |
| URL       | Пусто           | -              |

**Доступные модели:**

* `gpt-4o` — мультимодальная, рекомендуется
* `gpt-4o-mini` — экономичная
* `gpt-4-turbo` — большой контекст
* `o1`, `o3` — reasoning модели

### Yandex GPT

| Поле      | Значение   | Пример    |
| --------- | ---------- | --------- |
| Провайдер | Yandex     | Yandex    |
| Ключ      | IAM токен  | t1.xxx... |
| Каталог   | folder\_id | b1gxxxxxx |
| URL       | Пусто      | -         |

{% hint style="warning" %}
IAM токен действует 12 часов. Настройте автоматическое обновление.
{% endhint %}

### Ollama

| Поле      | Значение        | Пример                   |
| --------- | --------------- | ------------------------ |
| Провайдер | LocalOllama     | LocalOllama              |
| Ключ      | Пусто           | -                        |
| Каталог   | Название модели | llama3                   |
| URL       | URL сервера     | <http://localhost:11434> |

**Рекомендуемые модели:**

* `llama3` — универсальная
* `mistral` — быстрая
* `qwen2.5` — хорошее качество

### OpenRouter

| Поле      | Значение   | Пример                    |
| --------- | ---------- | ------------------------- |
| Провайдер | OpenRouter | OpenRouter                |
| Ключ      | API ключ   | sk-or-xxx...              |
| Каталог   | ID модели  | anthropic/claude-3-sonnet |
| URL       | Пусто      | -                         |

### Sber GigaChat

| Поле      | Значение        | Пример   |
| --------- | --------------- | -------- |
| Провайдер | Sber            | Sber     |
| Ключ      | API ключ        | xxx...   |
| Каталог   | Название модели | GigaChat |
| URL       | Пусто           | -        |

## Создание модели

### Шаг 1: Получение доступа

В зависимости от провайдера:

| Провайдер  | Действие                                                    |
| ---------- | ----------------------------------------------------------- |
| OpenAI     | Зарегистрируйтесь на platform.openai.com, создайте API ключ |
| Yandex     | Создайте аккаунт Yandex Cloud, получите IAM токен           |
| Ollama     | Установите Ollama, скачайте модель                          |
| OpenRouter | Зарегистрируйтесь на openrouter.ai                          |
| Sber       | Подключите GigaChat API                                     |

### Шаг 2: Создание в справочнике

1. Откройте справочник "Модели"
2. Нажмите "Создать"
3. Заполните поля согласно таблицам выше
4. Сохраните

### Шаг 3: Проверка

1. Создайте тестового агента с этой моделью
2. Выполните синхронизацию с Proxy
3. Отправьте тестовое сообщение в чат

## Выбор модели

### Критерии выбора

| Критерий           | Рекомендация         |
| ------------------ | -------------------- |
| Качество ответов   | GPT-4o, Claude 3     |
| Скорость           | GPT-4o-mini, Mistral |
| Конфиденциальность | Ollama               |
| Экономия           | Ollama, GPT-4o-mini  |
| Изображения        | GPT-4o, GPT-4-turbo  |
| Рассуждения        | o1, o3               |

### Сравнение провайдеров

| Провайдер  | Качество | Скорость | Цена      | Конфиденциальность |
| ---------- | -------- | -------- | --------- | ------------------ |
| OpenAI     | ⭐⭐⭐⭐⭐    | ⭐⭐⭐⭐     | $$$       | ⭐⭐                 |
| Yandex     | ⭐⭐⭐⭐     | ⭐⭐⭐⭐     | $$        | ⭐⭐⭐                |
| Ollama     | ⭐⭐⭐      | ⭐⭐⭐      | Бесплатно | ⭐⭐⭐⭐⭐              |
| OpenRouter | ⭐⭐⭐⭐⭐    | ⭐⭐⭐⭐     | Зависит   | ⭐⭐                 |

## Особенности моделей

### Vision модели

Модели с поддержкой изображений (GPT-4o, GPT-4-turbo):

* Автоматически активируются при наличии изображений
* Анализируют скриншоты, документы, графики

### Reasoning модели

Модели o1, o3:

* Улучшенные способности к рассуждению
* Автоматически применяется `temperature=1`
* Подходят для сложных аналитических задач

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

### Ошибка авторизации

| Провайдер | Причина           | Решение            |
| --------- | ----------------- | ------------------ |
| OpenAI    | Неверный ключ     | Проверьте API ключ |
| OpenAI    | Нет баланса       | Пополните счёт     |
| Yandex    | Истёк IAM токен   | Обновите токен     |
| Ollama    | Сервер недоступен | Проверьте URL      |

### Медленные ответы

1. Проверьте сетевое соединение
2. Попробуйте более быструю модель
3. Для Ollama — проверьте GPU

### Некачественные ответы

1. Используйте более мощную модель
2. Улучшите системный промпт агента
3. Добавьте примеры в промпт

## Далее

{% content-ref url="/pages/XAZJwBMfs5FLcBNe11ZE" %}
[Триггеры](/ai-platforma-oneapa/spravochniki/triggery)
{% endcontent-ref %}


# Триггеры

Справочник `APA_Триггеры` определяет события, которые запускают работу агентов.

## Назначение

Триггер определяет, при каком событии агент начинает работу:

* Сообщение в чате
* Входящий email
* API запрос
* Изменение буфера обмена
* Запись объекта в 1С

## Характеристики справочника

| Параметр      | Значение      |
| ------------- | ------------- |
| Имя           | APA\_Триггеры |
| Иерархический | Нет           |
| Владельцы     | Нет           |

## Реквизиты

| Реквизит         | Тип          | Обязательный | Описание               |
| ---------------- | ------------ | ------------ | ---------------------- |
| **Код**          | Строка(9)    | Да           | Уникальный код         |
| **Наименование** | Строка(150)  | Да           | Название триггера      |
| **ТипТригера**   | Перечисление | Да           | Тип события            |
| **ТекстУсловия** | Строка(0)    | Нет          | Дополнительное условие |

## Типы триггеров

### Перечисление "Типы триггеров"

| Значение          | Описание         | Использование          |
| ----------------- | ---------------- | ---------------------- |
| **Чат**           | Сообщение в чате | Основной способ        |
| **EMail**         | Входящее письмо  | Автоматизация по email |
| **API**           | HTTP запрос      | Внешние системы        |
| **БуферОбмена**   | Изменение буфера | Быстрые действия       |
| **ЗаписьОбъекта** | Событие в 1С     | Автоматизация 1С       |

## Триггер "Чат"

### Описание

Агент запускается, когда пользователь отправляет сообщение в чат.

### Настройка

```
┌─────────────────────────────────────────────────────────────────────────┐
│  Триггер: Чат по умолчанию                                              │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│  Тип триггера: [Чат                                              ▼]    │
│                                                                          │
│  Условие: (не требуется для чата)                                       │
│                                                                          │
└─────────────────────────────────────────────────────────────────────────┘
```

### Пример использования

```
Агент: Помощник
Триггер: Чат

Пользователь отправляет сообщение → Агент получает и обрабатывает
```

## Триггер "EMail"

### Описание

Агент запускается при получении email на определённый адрес.

### Настройка

```
┌─────────────────────────────────────────────────────────────────────────┐
│  Триггер: Обращения на support@                                         │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│  Тип триггера: [EMail                                            ▼]    │
│                                                                          │
│  Условие:                                                                │
│  ┌────────────────────────────────────────────────────────────────────┐ │
│  │ {                                                                  │ │
│  │   "to": "support@company.ru",                                      │ │
│  │   "subject_contains": "Заявка"                                     │ │
│  │ }                                                                  │ │
│  └────────────────────────────────────────────────────────────────────┘ │
│                                                                          │
└─────────────────────────────────────────────────────────────────────────┘
```

### Пример использования

```
Агент: Обработчик обращений
Триггер: EMail на support@company.ru

Входящее письмо → Агент читает и классифицирует → Отправляет ответ
```

### Условия для EMail

| Параметр           | Описание            |
| ------------------ | ------------------- |
| `to`               | Адрес получателя    |
| `from`             | Адрес отправителя   |
| `subject_contains` | Текст в теме        |
| `body_contains`    | Текст в теле письма |

## Триггер "API"

### Описание

Агент запускается при получении HTTP запроса на специальный endpoint.

### Настройка

```
┌─────────────────────────────────────────────────────────────────────────┐
│  Триггер: API для внешних систем                                        │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│  Тип триггера: [API                                              ▼]    │
│                                                                          │
│  Условие:                                                                │
│  ┌────────────────────────────────────────────────────────────────────┐ │
│  │ {                                                                  │ │
│  │   "endpoint": "/api/process",                                      │ │
│  │   "method": "POST"                                                 │ │
│  │ }                                                                  │ │
│  └────────────────────────────────────────────────────────────────────┘ │
│                                                                          │
└─────────────────────────────────────────────────────────────────────────┘
```

### Пример вызова

```bash
curl -X POST http://proxy:9000/api/process \
  -H "Content-Type: application/json" \
  -d '{"message": "Обработай заказ #123"}'
```

## Триггер "Буфер обмена"

### Описание

Агент запускается при изменении содержимого буфера обмена.

### Настройка

```
┌─────────────────────────────────────────────────────────────────────────┐
│  Триггер: Буфер обмена                                                  │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│  Тип триггера: [БуферОбмена                                      ▼]    │
│                                                                          │
│  Условие:                                                                │
│  ┌────────────────────────────────────────────────────────────────────┐ │
│  │ {                                                                  │ │
│  │   "pattern": "^ИНН:\\s*\\d{10,12}$"                                │ │
│  │ }                                                                  │ │
│  └────────────────────────────────────────────────────────────────────┘ │
│                                                                          │
└─────────────────────────────────────────────────────────────────────────┘
```

### Пример использования

```
Пользователь копирует ИНН → Агент автоматически ищет контрагента
```

## Триггер "Запись объекта"

### Описание

Агент запускается при записи объекта в 1С (документа, справочника).

### Настройка

```
┌─────────────────────────────────────────────────────────────────────────┐
│  Триггер: При создании заявки на отпуск                                 │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│  Тип триггера: [ЗаписьОбъекта                                    ▼]    │
│                                                                          │
│  Условие:                                                                │
│  ┌────────────────────────────────────────────────────────────────────┐ │
│  │ {                                                                  │ │
│  │   "object_type": "Документ.ЗаявкаНаОтпуск",                        │ │
│  │   "event": "ПриЗаписи",                                            │ │
│  │   "new_only": true                                                 │ │
│  │ }                                                                  │ │
│  └────────────────────────────────────────────────────────────────────┘ │
│                                                                          │
└─────────────────────────────────────────────────────────────────────────┘
```

### Пример использования

```
Создаётся заявка на отпуск → Агент проверяет корректность → Отправляет уведомление
```

### Параметры условия

| Параметр              | Описание                                   |
| --------------------- | ------------------------------------------ |
| `object_type`         | Тип объекта (Документ.XXX, Справочник.XXX) |
| `event`               | Событие (ПриЗаписи, ПередЗаписью)          |
| `new_only`            | Только для новых объектов                  |
| `modified_attributes` | Изменённые реквизиты                       |

## Создание триггера

### Шаг 1: Определение события

Определите, при каком событии должен запускаться агент:

| Сценарий                       | Триггер       |
| ------------------------------ | ------------- |
| Ответы на вопросы в чате       | Чат           |
| Обработка входящих писем       | EMail         |
| Интеграция с внешней системой  | API           |
| Быстрые действия с данными     | БуферОбмена   |
| Автоматизация бизнес-процессов | ЗаписьОбъекта |

### Шаг 2: Создание

1. Откройте справочник "Триггеры"
2. Нажмите "Создать"
3. Выберите тип триггера
4. При необходимости укажите условие
5. Сохраните

### Шаг 3: Привязка к агенту

1. Откройте агента
2. Выберите триггер в поле "Триггер"
3. Сохраните

## Условия триггеров

### Формат условий

Условия задаются в формате JSON:

```json
{
  "параметр1": "значение1",
  "параметр2": "значение2"
}
```

### Примеры условий

**EMail с определённой темой:**

```json
{
  "to": "hr@company.ru",
  "subject_contains": "Отпуск"
}
```

**API с определённым endpoint:**

```json
{
  "endpoint": "/agent/invoke",
  "method": "POST",
  "required_headers": ["Authorization"]
}
```

**Буфер обмена с шаблоном:**

```json
{
  "pattern": "^\\d{10}$",
  "description": "10-значный номер"
}
```

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

### Триггер не срабатывает

1. Проверьте тип триггера
2. Проверьте условия
3. Убедитесь, что триггер привязан к активному агенту

### EMail триггер не работает

1. Проверьте настройки почтового сервера
2. Проверьте адрес получателя в условии
3. Проверьте логи обработки писем

### API триггер не отвечает

1. Проверьте endpoint в условии
2. Проверьте метод HTTP
3. Проверьте логи Proxy

## Далее

{% content-ref url="/pages/a84enPzGmQjkGVxH6NL6" %}
[Форматы](/ai-platforma-oneapa/spravochniki/formaty)
{% endcontent-ref %}


# Форматы

Справочник `APA_Форматы` определяет форматы выходных данных для инструментов.

## Назначение

Форматы используются для:

* Структурирования ответов инструментов
* Указания LLM ожидаемого формата данных
* Валидации результатов

## Характеристики справочника

| Параметр      | Значение     |
| ------------- | ------------ |
| Имя           | APA\_Форматы |
| Иерархический | Нет          |
| Владельцы     | Нет          |

## Реквизиты

| Реквизит         | Тип         | Обязательный | Описание           |
| ---------------- | ----------- | ------------ | ------------------ |
| **Код**          | Строка(9)   | Да           | Уникальный код     |
| **Наименование** | Строка(150) | Да           | Название формата   |
| **ТекстJSON**    | Строка(0)   | Да           | JSON схема формата |

## Форма элемента

```
┌─────────────────────────────────────────────────────────────────────────┐
│  Формат                                              [Записать] [Закрыть]│
├─────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│  Код:         [000000001]                                               │
│  Наименование:[Формат остатка на счёте                            ]    │
│                                                                          │
│  JSON схема:                                                             │
│  ┌────────────────────────────────────────────────────────────────────┐ │
│  │ {                                                                  │ │
│  │   "остаток": 1500000.50,                                          │ │
│  │   "валюта": "RUB",                                                │ │
│  │   "счёт": "40702810100000000001",                                 │ │
│  │   "дата": "2026-01-23"                                            │ │
│  │ }                                                                  │ │
│  └────────────────────────────────────────────────────────────────────┘ │
│                                                                          │
└─────────────────────────────────────────────────────────────────────────┘
```

## Примеры форматов

### Простой формат

```json
{
  "результат": "значение"
}
```

### Формат с числовыми данными

```json
{
  "остаток_дней": 14,
  "использовано_дней": 10,
  "всего_дней": 24
}
```

### Формат со списком

```json
{
  "счета": [
    {
      "номер": "001",
      "сумма": 50000,
      "дата": "2026-01-15"
    },
    {
      "номер": "002",
      "сумма": 75000,
      "дата": "2026-01-20"
    }
  ],
  "итого": 125000
}
```

### Формат с вложенными объектами

```json
{
  "сотрудник": {
    "фио": "Иванов И.И.",
    "должность": "Менеджер",
    "отдел": "Продажи"
  },
  "отпуск": {
    "дата_начала": "2026-02-01",
    "дата_окончания": "2026-02-14",
    "дней": 14
  }
}
```

## Использование формата

### В инструменте

1. Откройте инструмент
2. Выберите формат в поле "Формат"
3. Убедитесь, что код инструмента возвращает данные в этом формате

```
┌─────────────────────────────────────────────────────────────────────────┐
│  Инструмент: Получить остаток на счёте                                  │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│  Формат: [Формат остатка на счёте                                 ▼]   │
│                                                                          │
└─────────────────────────────────────────────────────────────────────────┘
```

### В коде инструмента

```bsl
// Код инструмента должен возвращать структуру, соответствующую формату

Результат = Новый Структура;
Результат.Вставить("остаток", ОстатокНаСчёте);
Результат.Вставить("валюта", "RUB");
Результат.Вставить("счёт", НомерСчёта);
Результат.Вставить("дата", Формат(ТекущаяДата(), "ДФ=yyyy-MM-dd"));
```

## Создание формата

### Шаг 1: Определение структуры

Определите, какие данные возвращает инструмент:

| Поле    | Тип    | Описание           |
| ------- | ------ | ------------------ |
| остаток | number | Сумма остатка      |
| валюта  | string | Код валюты         |
| дата    | string | Дата в формате ISO |

### Шаг 2: Создание JSON

Создайте пример JSON:

```json
{
  "остаток": 0,
  "валюта": "",
  "дата": ""
}
```

### Шаг 3: Сохранение

1. Откройте справочник "Форматы"
2. Создайте новый элемент
3. Введите наименование
4. Вставьте JSON схему
5. Сохраните

## Типы данных в JSON

| Тип       | Пример           | Описание        |
| --------- | ---------------- | --------------- |
| `string`  | `"текст"`        | Строка          |
| `number`  | `123.45`         | Число           |
| `integer` | `42`             | Целое число     |
| `boolean` | `true` / `false` | Логическое      |
| `array`   | `[1, 2, 3]`      | Массив          |
| `object`  | `{"a": 1}`       | Объект          |
| `null`    | `null`           | Пустое значение |

## Рекомендации

### Именование полей

* Используйте понятные имена
* Используйте snake\_case или кириллицу
* Будьте последовательны

**Хорошо:**

```json
{
  "остаток_дней": 14,
  "дата_начала": "2026-02-01"
}
```

**Плохо:**

```json
{
  "d": 14,
  "dt1": "2026-02-01"
}
```

### Структура данных

* Группируйте связанные поля
* Используйте массивы для списков
* Избегайте слишком глубокой вложенности

### Документирование

Добавляйте комментарии в наименование формата:

```
Наименование: Формат списка счетов (массив объектов с номером, суммой, датой)
```

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

### Инструмент возвращает неверный формат

1. Проверьте код инструмента
2. Убедитесь, что возвращается структура, а не строка
3. Проверьте типы данных

### LLM неправильно интерпретирует данные

1. Упростите формат
2. Добавьте описания полей в описание инструмента
3. Используйте понятные имена полей

## Далее

{% content-ref url="/pages/axcAjQLvtdkQ1bPfMSRB" %}
[MCP серверы](/ai-platforma-oneapa/spravochniki/mcp-servery)
{% endcontent-ref %}


# MCP серверы

Справочник `APA_MCPСерверы` предназначен для настройки внешних MCP серверов.

## Назначение

Справочник хранит информацию о внешних MCP (Model Context Protocol) серверах, которые могут использоваться агентами как источники инструментов.

## Характеристики справочника

| Параметр      | Значение        |
| ------------- | --------------- |
| Имя           | APA\_MCPСерверы |
| Иерархический | Да              |
| Владельцы     | Нет             |

## Реквизиты

| Реквизит         | Тип         | Обязательный | Описание          |
| ---------------- | ----------- | ------------ | ----------------- |
| **Код**          | Строка(9)   | Да           | Уникальный код    |
| **Наименование** | Строка(150) | Да           | Название сервера  |
| **URL**          | Строка      | Да           | Адрес MCP сервера |
| **Токен**        | Строка      | Нет          | Токен авторизации |
| **Активен**      | Булево      | Нет          | Включён ли сервер |

## Форма элемента

```
┌─────────────────────────────────────────────────────────────────────────┐
│  MCP сервер                                          [Записать] [Закрыть]│
├─────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│  Код:         [000000001]                                               │
│  Наименование:[FileSystem MCP                                     ]    │
│                                                                          │
│  ☑ Активен                                                              │
│                                                                          │
│  Подключение:                                                            │
│  ┌────────────────────────────────────────────────────────────────────┐ │
│  │ URL:   [http://localhost:8080                                  ]   │ │
│  │ Токен: [                                                       ]   │ │
│  └────────────────────────────────────────────────────────────────────┘ │
│                                                                          │
└─────────────────────────────────────────────────────────────────────────┘
```

## Примеры MCP серверов

### Файловая система

```
Наименование: FileSystem MCP
URL: http://localhost:8080
Токен: (пусто)
Активен: ✓

Возможности:
- Чтение файлов
- Запись файлов
- Список каталогов
```

### GitHub

```
Наименование: GitHub MCP
URL: https://api.github.com/mcp
Токен: ghp_xxxxxxxxxxxxx
Активен: ✓

Возможности:
- Поиск репозиториев
- Чтение файлов
- Создание issues
```

### База данных

```
Наименование: PostgreSQL MCP
URL: http://db-server:8081
Токен: db_token_xxx
Активен: ✓

Возможности:
- Выполнение SQL запросов
- Просмотр схемы
```

### Веб-поиск

```
Наименование: Web Search MCP
URL: http://search-server:8082
Токен: search_api_key
Активен: ✓

Возможности:
- Поиск в интернете
- Получение содержимого страниц
```

## Создание MCP сервера

### Шаг 1: Получение информации

Узнайте параметры MCP сервера:

* URL для подключения
* Требуется ли авторизация
* Какие инструменты предоставляет

### Шаг 2: Создание в справочнике

1. Откройте справочник "MCP серверы"
2. Нажмите "Создать"
3. Заполните поля:

| Поле         | Значение                   |
| ------------ | -------------------------- |
| Наименование | Понятное название          |
| URL          | Адрес сервера              |
| Токен        | Если требуется авторизация |
| Активен      | ✓                          |

4. Сохраните

### Шаг 3: Привязка к агенту

1. Откройте агента
2. Перейдите на вкладку "MCP серверы"
3. Добавьте нужный сервер
4. Сохраните

```
┌─────────────────────────────────────────────────────────────────────────┐
│  Агент: Аналитик                                                        │
├─────────────────────────────────────────────────────────────────────────┤
│  [Основное] [Инструменты] [MCP серверы] [Пользователи]                 │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│  MCP серверы:                                                            │
│  ┌───────────────────────────────────────────────────────────────────┐  │
│  │ ☑ FileSystem MCP                                                   │  │
│  │ ☑ PostgreSQL MCP                                                   │  │
│  │ ☐ GitHub MCP                                                       │  │
│  └───────────────────────────────────────────────────────────────────┘  │
│                                                                          │
└─────────────────────────────────────────────────────────────────────────┘
```

### Шаг 4: Синхронизация

Выполните команду "Выполнить обмен с Proxy"

## Иерархия

Справочник поддерживает группировку:

```
📁 MCP серверы
├── 📁 Внутренние
│   ├── FileSystem MCP
│   └── Database MCP
└── 📁 Внешние
    ├── GitHub MCP
    └── Web Search MCP
```

## Авторизация

### Без авторизации

```
URL: http://localhost:8080
Токен: (пусто)
```

### Bearer токен

```
URL: https://api.service.com/mcp
Токен: Bearer sk-xxx...
```

### API ключ

```
URL: https://api.service.com/mcp
Токен: api-key-xxx...
```

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

### Через curl

```bash
# Проверка доступности
curl http://localhost:8080/health

# Получение списка инструментов
curl -X POST http://localhost:8080 \
  -H "Content-Type: application/json" \
  -d '{"method": "tools/list"}'
```

### Через агента

1. Создайте агента с MCP сервером
2. В чате попросите использовать инструмент MCP
3. Проверьте результат

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

### Сервер недоступен

1. Проверьте URL
2. Проверьте, что сервер запущен
3. Проверьте firewall

### Ошибка авторизации

1. Проверьте токен
2. Убедитесь, что токен не истёк
3. Проверьте формат токена

### Инструменты не появляются

1. Проверьте флаг "Активен"
2. Убедитесь, что сервер добавлен в агента
3. Выполните синхронизацию с Proxy

### Ошибки при вызове

1. Проверьте логи MCP сервера
2. Проверьте параметры вызова
3. Проверьте логи Proxy

## Безопасность

### Рекомендации

1. **Используйте HTTPS** для внешних серверов
2. **Храните токены безопасно** — не в коде
3. **Ограничивайте доступ** — используйте firewall
4. **Логируйте вызовы** — для аудита

### Ограничение доступа

Добавляйте MCP серверы только к тем агентам, которым они действительно нужны.

## Далее

* [Обработки](/ai-platforma-oneapa/obrabotki) — работа с чатом и данными
* [Интеграции](/ai-platforma-oneapa/integratsii/mcp-protokol) — подробнее о MCP


# Пользователи

Справочник `APA_Пользователи` предназначен для учёта пользователей системы OneAPA.

## Назначение

Справочник используется для:

* Идентификации пользователей в системе
* Разграничения доступа к агентам
* Разграничения доступа к инструментам
* Авторизации через OAuth

## Характеристики справочника

| Параметр      | Значение          |
| ------------- | ----------------- |
| Имя           | APA\_Пользователи |
| Иерархический | Нет               |
| Владельцы     | Нет               |

## Реквизиты

| Реквизит               | Тип         | Обязательный | Описание                               |
| ---------------------- | ----------- | ------------ | -------------------------------------- |
| **Код**                | Строка(9)   | Да           | Уникальный код                         |
| **Наименование**       | Строка(150) | Да           | Имя пользователя                       |
| **Логин**              | Строка      | Нет          | Логин для входа                        |
| **Пароль**             | Строка      | Нет          | Пароль (хранится в зашифрованном виде) |
| **ИдентификаторOAuth** | Строка      | Нет          | ID для OAuth авторизации               |

## Форма элемента

```
┌─────────────────────────────────────────────────────────────────────────┐
│  Пользователь                                        [Записать] [Закрыть]│
├─────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│  Код:         [000000001]                                               │
│  Наименование:[Иванов Иван Иванович                               ]    │
│                                                                          │
│  Учётные данные:                                                         │
│  ┌────────────────────────────────────────────────────────────────────┐ │
│  │ Логин:    [ivanov                                              ]   │ │
│  │ Пароль:   [••••••••                                            ]   │ │
│  └────────────────────────────────────────────────────────────────────┘ │
│                                                                          │
│  OAuth:                                                                  │
│  ┌────────────────────────────────────────────────────────────────────┐ │
│  │ Идентификатор OAuth: [                                         ]   │ │
│  └────────────────────────────────────────────────────────────────────┘ │
│                                                                          │
└─────────────────────────────────────────────────────────────────────────┘
```

## Создание пользователя

### Шаг 1: Открытие справочника

1. Откройте справочник "Пользователи" (APA\_Пользователи)
2. Нажмите "Создать"

### Шаг 2: Заполнение данных

| Поле         | Пример               |
| ------------ | -------------------- |
| Наименование | Иванов Иван Иванович |
| Логин        | ivanov               |
| Пароль       | \*\*\*\*\*\*\*\*     |

### Шаг 3: Сохранение

Нажмите "Записать и закрыть"

## Использование

### В агентах

Для ограничения доступа к агенту:

1. Откройте агента
2. Перейдите на вкладку "Пользователи"
3. Добавьте пользователей из справочника

```
┌─────────────────────────────────────────────────────────────┐
│  Агент: Финансовый консультант                              │
├─────────────────────────────────────────────────────────────┤
│  Пользователи:                                               │
│  ┌───────────────────────────────────────────────────────┐  │
│  │ Иванов Иван Иванович                                   │  │
│  │ Петрова Анна Сергеевна                                 │  │
│  └───────────────────────────────────────────────────────┘  │
└─────────────────────────────────────────────────────────────┘
```

### В инструментах

Для ограничения доступа к инструменту:

1. Откройте инструмент
2. Перейдите на вкладку "Доступность"
3. Добавьте пользователей

## OAuth авторизация

### Назначение

Поле `ИдентификаторOAuth` используется для авторизации через внешние системы (например, при работе через Web UI).

### Настройка

1. Получите OAuth ID пользователя из внешней системы
2. Укажите его в поле "Идентификатор OAuth"

{% content-ref url="/pages/opynIs0ONncXeDwZZnB6" %}
[Агенты](/ai-platforma-oneapa/spravochniki/agenty)
{% endcontent-ref %}


# Обработки

Раздел описывает обработки конфигурации OneAPA.

## Список обработок

| Обработка                                                                          | Назначение                       |
| ---------------------------------------------------------------------------------- | -------------------------------- |
| [Чат](broken://pages/gjl9ixDQ0vx6IaiFNOtr)                                         | Интерфейс для общения с агентами |
| [Выгрузка в векторную БД](/ai-platforma-oneapa/obrabotki/vygruzka-v-vektornuyu-bd) | Выгрузка данных для RAG          |
| [Экспорт/импорт агентов](/ai-platforma-oneapa/obrabotki/eksport-import-agentov)    | Перенос агентов между базами     |

## Назначение обработок

### APA\_Chat — Чат

Основной пользовательский интерфейс для взаимодействия с ИИ агентами.

* Отправка сообщений агенту
* Просмотр истории диалога
* Прикрепление файлов
* Выбор агента

### APA\_ВыгрузкаВВекторнуюБД — Выгрузка в векторную БД

Инструмент для работы с RAG (Retrieval-Augmented Generation).

* Выгрузка данных 1С в векторную базу
* Настройка коллекций
* Управление индексами

### APA\_ВыгрузкаЗагрузкаАгентов — Экспорт/импорт

Перенос конфигураций агентов между информационными базами.

* Экспорт агентов в файл
* Импорт агентов из файла
* Сохранение настроек, инструментов, промптов

## Доступ к обработкам

### Через команды

| Обработка | Команда         |
| --------- | --------------- |
| Чат       | `APA_Чат`       |
| Настройки | `APA_Настройки` |

### Через меню

* Панель навигации → Чат
* Панель действий → Настройки

## Далее

{% content-ref url="/pages/gjl9ixDQ0vx6IaiFNOtr" %}
[Broken mention](broken://pages/gjl9ixDQ0vx6IaiFNOtr)
{% endcontent-ref %}


# Выгрузка в векторную БД

Обработка `APA_ВыгрузкаВВекторнуюБД` предназначена для выгрузки данных в векторную базу данных для использования в RAG.

<figure><img src="/files/DjxVLOCbjKGfgLcX8IW9" alt=""><figcaption></figcaption></figure>

## Назначение

RAG (Retrieval-Augmented Generation) позволяет агентам использовать внутренние базы знаний:

* Документация компании
* Регламенты и инструкции
* Базы знаний
* Справочные данные

## Принцип работы RAG

```
┌─────────────────┐         ┌─────────────────┐
│  Вопрос         │         │  Векторная БД   │
│  пользователя   │────────►│  (знания)       │
└─────────────────┘         └────────┬────────┘
                                     │
                            релевантные документы
                                     │
                                     ▼
                            ┌─────────────────┐
                            │      LLM        │
                            │  (генерация     │
                            │   ответа)       │
                            └─────────────────┘
```

## Интерфейс обработки

```
┌─────────────────────────────────────────────────────────────────────────┐
│  Выгрузка в векторную БД                               [—][□][×]        │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│  Параметры подключения:                                                  │
│  ┌────────────────────────────────────────────────────────────────────┐ │
│  │ Адрес БД:    [http://localhost:8000                            ]   │ │
│  │ Коллекция:   [company_docs                                     ]   │ │
│  └────────────────────────────────────────────────────────────────────┘ │
│                                                                          │
│  Источник данных:                                                        │
│  ┌────────────────────────────────────────────────────────────────────┐ │
│  │ ○ Справочник                                                       │ │
│  │ ○ Документ                                                         │ │
│  │ ● Произвольный запрос                                              │ │
│  │                                                                     │ │
│  │ Код запроса:                                                        │ │
│  │ ┌────────────────────────────────────────────────────────────────┐ │ │
│  │ │ ВЫБРАТЬ Наименование, Содержимое                               │ │ │
│  │ │ ИЗ Справочник.БазаЗнаний                                       │ │ │
│  │ └────────────────────────────────────────────────────────────────┘ │ │
│  └────────────────────────────────────────────────────────────────────┘ │
│                                                                          │
│  Опции:                                                                  │
│  ┌────────────────────────────────────────────────────────────────────┐ │
│  │ ☐ Очистить коллекцию перед загрузкой                               │ │
│  │ ☑ Показывать прогресс                                              │ │
│  └────────────────────────────────────────────────────────────────────┘ │
│                                                                          │
│                                              [Выгрузить]  [Закрыть]     │
└─────────────────────────────────────────────────────────────────────────┘
```

## Реквизиты обработки

| Реквизит              | Тип    | Описание                      |
| --------------------- | ------ | ----------------------------- |
| **АдресБД**           | Строка | URL векторной базы данных     |
| **Коллекция**         | Строка | Имя коллекции в БД            |
| **СвойКод**           | Строка | Код запроса для выбора данных |
| **ОчиститьКоллекцию** | Булево | Удалить существующие данные   |

## Выгрузка данных

### Шаг 1: Настройка подключения

Укажите адрес векторной БД:

| БД       | Пример адреса             |
| -------- | ------------------------- |
| Chroma   | <http://localhost:8000>   |
| Milvus   | <http://localhost:19530>  |
| Pinecone | <https://xxx.pinecone.io> |
| Qdrant   | <http://localhost:6333>   |

### Шаг 2: Выбор коллекции

Укажите имя коллекции:

* `company_docs` — документация компании
* `regulations` — регламенты
* `faq` — часто задаваемые вопросы

### Шаг 3: Определение источника данных

Напишите запрос для выбора данных:

```sql
ВЫБРАТЬ
    Наименование КАК Заголовок,
    Содержимое КАК Текст,
    Код КАК ID
ИЗ
    Справочник.БазаЗнаний
ГДЕ
    НЕ ПометкаУдаления
```

### Шаг 4: Выгрузка

Нажмите "Выгрузить" и дождитесь завершения.

## Примеры запросов

### Выгрузка справочника

```sql
ВЫБРАТЬ
    Наименование,
    Описание
ИЗ
    Справочник.Номенклатура
ГДЕ
    НЕ ПометкаУдаления
```

### Выгрузка документов

```sql
ВЫБРАТЬ
    Номер,
    Дата,
    Комментарий
ИЗ
    Документ.ЗаказКлиента
ГДЕ
    Дата >= &НачалоПериода
```

### Выгрузка регистра

```sql
ВЫБРАТЬ
    Вопрос,
    Ответ,
    Категория.Наименование КАК Категория
ИЗ
    РегистрСведений.ЧастыеВопросы
```

## Использование в агентах

### Создание инструмента RAG

1. Создайте инструмент "Поиск в базе знаний"
2. В коде инструмента вызовите модуль `APA_RAG`:

```bsl
// Инструмент: Поиск в базе знаний
// Параметр: Запрос (string)

ЗапросПользователя = Параметры.Запрос;

// Поиск в векторной БД
Результаты = APA_RAG.НайтиДокументы(
    "http://localhost:8000",
    "company_docs",
    ЗапросПользователя,
    5  // количество результатов
);

Возврат Результаты;
```

### Пример диалога с RAG

```
Пользователь: Какова процедура оформления командировки?

Агент:
📊 Поиск в базе знаний...

Согласно внутреннему регламенту компании (документ "Положение о 
командировках" от 01.01.2025), процедура оформления включает:

1. Заполнение заявки на командировку в системе
2. Согласование с непосредственным руководителем
3. Утверждение в отделе кадров
4. Оформление приказа и командировочного удостоверения
5. Получение аванса в бухгалтерии

Срок оформления: не позднее 3 рабочих дней до даты выезда.
```

## Поддерживаемые векторные БД

| База данных  | Описание               | URL          |
| ------------ | ---------------------- | ------------ |
| **Chroma**   | Простая, open-source   | chromadb.com |
| **Milvus**   | Масштабируемая         | milvus.io    |
| **Pinecone** | Облачная               | pinecone.io  |
| **Qdrant**   | Высокопроизводительная | qdrant.tech  |
| **Weaviate** | С AI-интеграциями      | weaviate.io  |

## Рекомендации

### Подготовка данных

* Очищайте текст от HTML-тегов и спецсимволов
* Разбивайте длинные документы на фрагменты
* Добавляйте метаданные (категория, дата, автор)

### Размер фрагментов

| Тип документа | Рекомендуемый размер |
| ------------- | -------------------- |
| FAQ           | 200-500 символов     |
| Инструкции    | 500-1000 символов    |
| Регламенты    | 1000-2000 символов   |

### Обновление данных

* Настройте регулярную выгрузку
* Используйте инкрементальное обновление
* Очищайте устаревшие данные

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

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

1. Проверьте URL базы данных
2. Убедитесь, что БД запущена
3. Проверьте firewall

### Медленная выгрузка

1. Уменьшите объём данных
2. Оптимизируйте запрос
3. Увеличьте ресурсы сервера БД

### Плохое качество поиска

1. Улучшите качество текстов
2. Настройте параметры эмбеддингов
3. Увеличьте количество возвращаемых результатов

## Далее

{% content-ref url="/pages/Vzntrhm2qhWmu91muHGP" %}
[Экспорт/импорт агентов](/ai-platforma-oneapa/obrabotki/eksport-import-agentov)
{% endcontent-ref %}


# Экспорт/импорт агентов

Обработка `APA_ВыгрузкаЗагрузкаАгентов` предназначена для переноса агентов между информационными базами.

<figure><img src="/files/2Qim7xOst0tvz9Uapkjk" alt=""><figcaption></figcaption></figure>

## Назначение

Обработка позволяет:

* Экспортировать агентов в файл
* Импортировать агентов из файла
* Переносить конфигурации между средами

## Сценарии использования

| Сценарий                  | Описание                              |
| ------------------------- | ------------------------------------- |
| **Перенос в production**  | Из тестовой базы в рабочую            |
| **Резервное копирование** | Сохранение конфигураций               |
| **Обмен шаблонами**       | Передача агентов другим пользователям |
| **Версионирование**       | Сохранение версий агентов             |

## Интерфейс обработки

```
┌─────────────────────────────────────────────────────────────────────────┐
│  Выгрузка/загрузка агентов                             [—][□][×]        │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│  Режим: ○ Выгрузка   ● Загрузка                                         │
│                                                                          │
│  Файл: [C:\export\agents.json                          ] [Обзор...]     │
│                                                                          │
│  Агенты для выгрузки/загрузки:                                          │
│  ┌────────────────────────────────────────────────────────────────────┐ │
│  │ ☑ | Наименование              | Описание                          │ │
│  │───┼───────────────────────────┼───────────────────────────────────│ │
│  │ ☑ | Кадровый агент            | Отпуска, командировки             │ │
│  │ ☑ | Бухгалтерский агент       | Финансы, оплаты                   │ │
│  │ ☐ | Тестовый агент            | Для тестирования                  │ │
│  └────────────────────────────────────────────────────────────────────┘ │
│                                                                          │
│  Опции:                                                                  │
│  ┌────────────────────────────────────────────────────────────────────┐ │
│  │ ☑ Включить инструменты                                             │ │
│  │ ☑ Включить модели                                                  │ │
│  │ ☐ Перезаписать существующие при загрузке                           │ │
│  └────────────────────────────────────────────────────────────────────┘ │
│                                                                          │
│                                              [Выполнить]  [Закрыть]     │
└─────────────────────────────────────────────────────────────────────────┘
```

## Экспорт агентов

### Шаг 1: Выбор режима

Установите переключатель "Выгрузка"

### Шаг 2: Выбор агентов

1. В таблице отметьте агентов для экспорта
2. Используйте "Выбрать все" / "Снять все" при необходимости

### Шаг 3: Настройка опций

| Опция                    | Описание                               |
| ------------------------ | -------------------------------------- |
| **Включить инструменты** | Экспорт связанных инструментов         |
| **Включить модели**      | Экспорт настроек моделей (без ключей!) |

### Шаг 4: Указание файла

1. Нажмите "Обзор"
2. Выберите путь для сохранения
3. Укажите имя файла (расширение .json)

### Шаг 5: Экспорт

Нажмите "Выполнить"

## Формат экспорта

Агенты экспортируются в формате JSON:

```json
{
  "version": "1.0",
  "export_date": "2026-01-23T14:30:00",
  "agents": [
    {
      "id": "agent-001",
      "name": "Кадровый агент",
      "description": "Помощь с кадровыми вопросами",
      "active": true,
      "model": {
        "provider": "OpenAI",
        "model_name": "gpt-4o"
      },
      "system_prompt": "Ты — кадровый специалист...",
      "user_prompt": "",
      "tools": [
        {
          "name": "Получить остаток отпуска",
          "description": "...",
          "code": "...",
          "parameters": [...]
        }
      ],
      "users": [],
      "mcp_servers": []
    }
  ]
}
```

## Импорт агентов

### Шаг 1: Выбор режима

Установите переключатель "Загрузка"

### Шаг 2: Выбор файла

1. Нажмите "Обзор"
2. Выберите файл экспорта (.json)

### Шаг 3: Просмотр агентов

После выбора файла в таблице отобразятся агенты из файла.

### Шаг 4: Выбор агентов

Отметьте агентов для импорта.

### Шаг 5: Настройка опций

| Опция                         | Описание                                |
| ----------------------------- | --------------------------------------- |
| **Перезаписать существующие** | Заменить агентов с совпадающими именами |

### Шаг 6: Импорт

Нажмите "Выполнить"

## Что экспортируется

### Всегда экспортируется

* Наименование агента
* Описание
* Флаг "Активен"
* Системный промпт
* Пользовательский промпт
* Триггер (тип)

### При включённых опциях

**Инструменты:**

* Наименование
* Описание
* Код
* Параметры
* Формат

**Модели:**

* Провайдер
* Название модели
* URL (для Ollama)

{% hint style="warning" %}
API ключи моделей **не экспортируются** из соображений безопасности. После импорта необходимо заново указать ключи.
{% endhint %}

## Что НЕ экспортируется

* API ключи и токены
* Пароли пользователей
* Логи выполнения
* Ссылки на объекты 1С (документы, справочники)

## Рекомендации

### Именование файлов

Используйте понятные имена с датой:

```
agents_production_2026-01-23.json
hr_agents_v2.json
test_agents_backup.json
```

### Версионирование

Храните версии файлов:

```
/agents_export/
├── 2026-01-01_v1.json
├── 2026-01-15_v2.json
└── 2026-01-23_v3.json
```

### Проверка после импорта

После импорта:

1. Проверьте наличие всех агентов
2. Укажите API ключи для моделей
3. Выполните синхронизацию с Proxy
4. Протестируйте работу агентов

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

### Ошибка чтения файла

1. Проверьте формат файла (JSON)
2. Убедитесь, что файл не повреждён
3. Проверьте кодировку (UTF-8)

### Конфликт имён

При импорте агента с существующим именем:

* Если опция "Перезаписать" включена — агент заменится
* Если выключена — появится ошибка

### Отсутствуют инструменты

1. Убедитесь, что при экспорте была включена опция "Включить инструменты"
2. Импортируйте заново с правильными опциями

### Модель не работает после импорта

После импорта необходимо:

1. Открыть модель в справочнике
2. Ввести API ключ
3. Сохранить

## Далее

* [Провайдеры LLM](/ai-platforma-oneapa/provajdery-llm) — настройка моделей
* [Разработка агентов](/ai-platforma-oneapa/razrabotka-agentov) — создание своих агентов


# Провайдеры LLM

Раздел описывает настройку различных провайдеров языковых моделей (LLM) в OneAPA.

## Поддерживаемые провайдеры

| Провайдер                                                    | Описание                      | Страница      |
| ------------------------------------------------------------ | ----------------------------- | ------------- |
| [Yandex GPT](/ai-platforma-oneapa/provajdery-llm/yandex-gpt) | Российский облачный провайдер | yandex-gpt.md |
| [OpenAI](/ai-platforma-oneapa/provajdery-llm/openai)         | GPT-4o, o1, o3 и другие       | openai.md     |
| [OpenRouter](/ai-platforma-oneapa/provajdery-llm/openrouter) | Доступ к множеству моделей    | openrouter.md |
| [Ollama](/ai-platforma-oneapa/provajdery-llm/ollama)         | Локальные модели              | ollama.md     |
| [Sber](/ai-platforma-oneapa/provajdery-llm/sber)             | GigaChat                      | sber.md       |

## Сравнение провайдеров

| Критерий               | Yandex | OpenAI | OpenRouter | Ollama    | Sber  |
| ---------------------- | ------ | ------ | ---------- | --------- | ----- |
| **Качество**           | ⭐⭐⭐⭐   | ⭐⭐⭐⭐⭐  | ⭐⭐⭐⭐⭐      | ⭐⭐⭐       | ⭐⭐⭐⭐  |
| **Скорость**           | ⭐⭐⭐⭐   | ⭐⭐⭐⭐   | ⭐⭐⭐⭐       | ⭐⭐⭐       | ⭐⭐⭐⭐  |
| **Цена**               | $$     | $$$    | $-$$$      | Бесплатно | $$    |
| **Конфиденциальность** | ⭐⭐⭐    | ⭐⭐     | ⭐⭐         | ⭐⭐⭐⭐⭐     | ⭐⭐⭐   |
| **Vision**             | ❌      | ✅      | Зависит    | Зависит   | ❌     |
| **Русский язык**       | ⭐⭐⭐⭐⭐  | ⭐⭐⭐⭐   | Зависит    | Зависит   | ⭐⭐⭐⭐⭐ |

## Выбор провайдера

### Для максимального качества

**Рекомендация:** OpenAI GPT-4o или OpenRouter с Claude 3

* Лучшие результаты для сложных задач
* Поддержка изображений (Vision)
* Reasoning модели (o1, o3)

### Для конфиденциальности

**Рекомендация:** Ollama

* Данные не покидают вашу сеть
* Полный контроль над моделью
* Соответствие ФЗ-152

### Для экономии

**Рекомендация:** Ollama или OpenAI GPT-4o-mini

* Ollama: бесплатно (только оборудование)
* GPT-4o-mini: низкая стоимость за токен

### Для российских требований

**Рекомендация:** Yandex GPT или Sber GigaChat

* Российские провайдеры
* Хранение данных в РФ
* Соответствие законодательству

## Схема выбора

```
                    ┌─────────────────────────────────────┐
                    │     Какой провайдер выбрать?        │
                    └─────────────────┬───────────────────┘
                                      │
                    ┌─────────────────┼─────────────────┐
                    ▼                 ▼                 ▼
            ┌───────────────┐ ┌───────────────┐ ┌───────────────┐
            │ Важно качество│ │ Важна         │ │ Важна         │
            │ ответов?      │ │ конфиденц.?   │ │ экономия?     │
            └───────┬───────┘ └───────┬───────┘ └───────┬───────┘
                    │                 │                 │
                    ▼                 ▼                 ▼
            ┌───────────────┐ ┌───────────────┐ ┌───────────────┐
            │   OpenAI      │ │    Ollama     │ │    Ollama     │
            │   GPT-4o      │ │   (локально)  │ │ или GPT-4o-   │
            │               │ │               │ │    mini       │
            └───────────────┘ └───────────────┘ └───────────────┘
```

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

### Общий порядок

1. Получите доступ к провайдеру (регистрация, API ключ)
2. Создайте модель в справочнике `APA_Модели`
3. Заполните параметры подключения
4. Протестируйте модель

### Параметры модели

| Поле             | Описание                  |
| ---------------- | ------------------------- |
| **Наименование** | Понятное название         |
| **Провайдер**    | Выбор из перечисления     |
| **Ключ**         | API ключ или токен        |
| **Каталог**      | Название модели           |
| **URL**          | Для локальных провайдеров |

## Особенности моделей

### Vision модели

Модели с поддержкой изображений:

* OpenAI: GPT-4o, GPT-4-turbo
* Ollama: llava, bakllava

```
Пользователь: [прикрепляет скриншот]
              "Что на этом изображении?"

Агент: "На изображении показана ошибка подключения..."
```

### Reasoning модели

Модели с улучшенными способностями к рассуждению:

* OpenAI: o1, o3

```
Пользователь: "Проанализируй финансовые показатели за квартал"

Агент: [использует цепочку рассуждений]
       "1. Анализирую выручку...
        2. Сравниваю с предыдущим периодом...
        3. Вывод: ..."
```

## Стоимость использования

### OpenAI

| Модель      | Вход (1M токенов) | Выход (1M токенов) |
| ----------- | ----------------- | ------------------ |
| GPT-4o      | $2.50             | $10.00             |
| GPT-4o-mini | $0.15             | $0.60              |
| o1          | $15.00            | $60.00             |

### Yandex GPT

| Модель         | Примерная стоимость      |
| -------------- | ------------------------ |
| YandexGPT Pro  | \~0.12₽ за 1000 символов |
| YandexGPT Lite | \~0.02₽ за 1000 символов |

### Ollama

**Бесплатно** — только затраты на оборудование.

| Модель | Рекомендуемое оборудование  |
| ------ | --------------------------- |
| 7B     | GPU 8 ГБ или CPU 16 ГБ RAM  |
| 13B    | GPU 16 ГБ или CPU 32 ГБ RAM |
| 70B    | GPU 48 ГБ или CPU 64 ГБ RAM |

## Далее

{% content-ref url="/pages/8ndNyyvI9hUnztca2mev" %}
[Yandex GPT](/ai-platforma-oneapa/provajdery-llm/yandex-gpt)
{% endcontent-ref %}


# Yandex GPT

Настройка Yandex GPT в качестве LLM провайдера для OneAPA.

## Обзор

**Yandex GPT** — российский облачный сервис языковых моделей от Яндекса.

### Преимущества

| Преимущество              | Описание                           |
| ------------------------- | ---------------------------------- |
| Русский язык              | Отличное качество работы с русским |
| Российский провайдер      | Хранение данных в РФ               |
| Интеграция с Yandex Cloud | Единая экосистема                  |
| Доступная цена            | Ниже чем у OpenAI                  |

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

| Ограничение | Описание                           |
| ----------- | ---------------------------------- |
| Нет Vision  | Не поддерживает изображения        |
| IAM токен   | Требует обновления каждые 12 часов |

## Получение доступа

### Шаг 1: Создание аккаунта

1. Зарегистрируйтесь в [Yandex Cloud](https://cloud.yandex.ru/)
2. Привяжите платёжный аккаунт
3. Активируйте грант (если доступен)

### Шаг 2: Создание каталога

1. Перейдите в консоль Yandex Cloud
2. Создайте каталог для OneAPA
3. Запомните `folder_id` — он понадобится для настройки

### Шаг 3: Включение сервиса

1. В каталоге перейдите в "Yandex Foundation Models"
2. Активируйте сервис
3. Примите условия использования

### Шаг 4: Получение IAM токена

**Через CLI:**

```bash
# Установка CLI
curl -sSL https://storage.yandexcloud.net/yandexcloud-yc/install.sh | bash

# Авторизация
yc init

# Получение токена
yc iam create-token
```

**Через API:**

```bash
curl -X POST \
  -H "Content-Type: application/json" \
  -d '{"yandexPassportOauthToken":"<OAuth_token>"}' \
  https://iam.api.cloud.yandex.net/iam/v1/tokens
```

## Настройка в OneAPA

### Создание модели

1. Откройте справочник "Модели"
2. Создайте новый элемент
3. Заполните поля:

| Поле         | Значение       |
| ------------ | -------------- |
| Наименование | Yandex GPT Pro |
| Провайдер    | Yandex         |
| Ключ         | (IAM токен)    |
| Каталог      | (folder\_id)   |
| URL          | (пусто)        |

### Пример

```
Наименование: Yandex GPT Pro
Провайдер: Yandex
Ключ: t1.9euelZqYjpqLz5aSj5mQmJONm5GQju3rnp...
Каталог: b1g9hv2loqpvuqmcm8e1
URL: 
```

## Доступные модели

| Модель               | ID                    | Описание          |
| -------------------- | --------------------- | ----------------- |
| **YandexGPT Pro**    | yandexgpt/latest      | Полная версия     |
| **YandexGPT Lite**   | yandexgpt-lite/latest | Быстрая версия    |
| **YandexGPT Pro RC** | yandexgpt/rc          | Release Candidate |

## Параметры

| Параметр    | Значение | Описание                  |
| ----------- | -------- | ------------------------- |
| temperature | 1        | Фиксировано               |
| max\_tokens | 1500     | Максимум токенов в ответе |

## Обновление IAM токена

### Проблема

IAM токен действует **12 часов**. После истечения агент перестанет работать.

### Решения

**1. Ручное обновление**

Периодически обновляйте токен в справочнике "Модели".

**2. Автоматизация через регламентное задание**

```bsl
Процедура ОбновитьIAMТокен() Экспорт
    
    // Получение нового токена
    НовыйТокен = ПолучитьIAMТокен();
    
    // Обновление в справочнике
    Модель = Справочники.APA_Модели.НайтиПоНаименованию("Yandex GPT Pro");
    Если НЕ Модель.Пустая() Тогда
        МодельОбъект = Модель.ПолучитьОбъект();
        МодельОбъект.Ключ = НовыйТокен;
        МодельОбъект.Записать();
    КонецЕсли;
    
КонецПроцедуры
```

**3. Использование сервисного аккаунта**

Создайте сервисный аккаунт с ролью `ai.languageModels.user` для более стабильной авторизации.

## Стоимость

| Модель         | Примерная стоимость      |
| -------------- | ------------------------ |
| YandexGPT Pro  | \~0.12 ₽ / 1000 символов |
| YandexGPT Lite | \~0.02 ₽ / 1000 символов |

{% hint style="info" %}
Актуальные цены смотрите на [cloud.yandex.ru/docs/yandexgpt/pricing](https://cloud.yandex.ru/docs/yandexgpt/pricing)
{% endhint %}

## Примеры использования

### Простой вопрос

```
Пользователь: Что такое ИИ?

Агент (Yandex GPT): Искусственный интеллект (ИИ) — это область 
информатики, занимающаяся созданием интеллектуальных систем, 
способных выполнять задачи, требующие человеческого интеллекта...
```

### Работа с данными 1С

```
Пользователь: Подготовь отчёт о продажах за январь

Агент (Yandex GPT): 
📊 Использую инструмент: Отчёт по продажам

Отчёт о продажах за январь 2026:

Общая выручка: 15 420 000 ₽
Количество заказов: 234
Средний чек: 65 897 ₽

Топ-3 товара:
1. Товар А — 3 200 000 ₽
2. Товар Б — 2 800 000 ₽
3. Товар В — 1 900 000 ₽
```

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

### Ошибка авторизации (401)

| Причина               | Решение                          |
| --------------------- | -------------------------------- |
| Истёк IAM токен       | Обновите токен                   |
| Неверный folder\_id   | Проверьте ID каталога            |
| Сервис не активирован | Активируйте YandexGPT в каталоге |

### Ошибка квоты (429)

| Причина                 | Решение                       |
| ----------------------- | ----------------------------- |
| Превышен лимит запросов | Подождите или увеличьте квоту |
| Недостаточно средств    | Пополните баланс              |

### Медленные ответы

| Причина            | Решение                        |
| ------------------ | ------------------------------ |
| Перегрузка сервиса | Подождите или используйте Lite |
| Сетевые задержки   | Проверьте сеть                 |

## Далее

{% content-ref url="/pages/TRsFlXYWwpokhPEVyACO" %}
[OpenAI](/ai-platforma-oneapa/provajdery-llm/openai)
{% endcontent-ref %}


# OpenAI

Настройка OpenAI в качестве LLM провайдера для OneAPA.

## Обзор

**OpenAI** — ведущий провайдер языковых моделей, создатель GPT-4.

### Преимущества

| Преимущество | Описание                        |
| ------------ | ------------------------------- |
| Качество     | Лучшие модели на рынке          |
| Vision       | Поддержка изображений           |
| Reasoning    | Модели o1, o3 для сложных задач |
| web\_search  | Встроенный поиск в интернете    |

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

| Ограничение        | Описание                       |
| ------------------ | ------------------------------ |
| Цена               | Дороже большинства альтернатив |
| Конфиденциальность | Данные обрабатываются в облаке |

## Получение доступа

### Шаг 1: Создание аккаунта

1. Зарегистрируйтесь на [platform.openai.com](https://platform.openai.com/)
2. Подтвердите email
3. Добавьте способ оплаты

### Шаг 2: Создание API ключа

1. Перейдите в [API Keys](https://platform.openai.com/api-keys)
2. Нажмите "Create new secret key"
3. Дайте ключу понятное имя (например, "OneAPA Production")
4. Скопируйте ключ — он показывается **только один раз**

{% hint style="danger" %}
Храните API ключ в безопасном месте. Не публикуйте его в коде или репозиториях.
{% endhint %}

### Шаг 3: Пополнение баланса

1. Перейдите в Billing
2. Пополните баланс или настройте автоплатежи

## Настройка в OneAPA

### Создание модели

1. Откройте справочник "Модели"
2. Создайте новый элемент
3. Заполните поля:

| Поле         | Значение      |
| ------------ | ------------- |
| Наименование | OpenAI GPT-4o |
| Провайдер    | OpenAI        |
| Ключ         | sk-proj-...   |
| Каталог      | gpt-4o        |
| URL          | (пусто)       |

### Примеры настройки

**GPT-4o (рекомендуется):**

```
Наименование: OpenAI GPT-4o
Провайдер: OpenAI
Ключ: sk-proj-xxxxxxxxxxxxxxxxxxxxxxxxxx
Каталог: gpt-4o
```

**GPT-4o-mini (экономичная):**

```
Наименование: OpenAI GPT-4o-mini
Провайдер: OpenAI
Ключ: sk-proj-xxxxxxxxxxxxxxxxxxxxxxxxxx
Каталог: gpt-4o-mini
```

**o1 (reasoning):**

```
Наименование: OpenAI o1
Провайдер: OpenAI
Ключ: sk-proj-xxxxxxxxxxxxxxxxxxxxxxxxxx
Каталог: o1
```

## Доступные модели

### Основные модели

| Модель          | ID          | Описание                            |
| --------------- | ----------- | ----------------------------------- |
| **GPT-4o**      | gpt-4o      | Мультимодальная, оптимальный баланс |
| **GPT-4o-mini** | gpt-4o-mini | Быстрая и экономичная               |
| **GPT-4 Turbo** | gpt-4-turbo | Большой контекст (128K)             |
| **GPT-4**       | gpt-4       | Классическая версия                 |

### Reasoning модели

| Модель | ID | Описание                  |
| ------ | -- | ------------------------- |
| **o1** | o1 | Улучшенное рассуждение    |
| **o3** | o3 | Новейшая reasoning модель |

{% hint style="info" %}
Для reasoning моделей автоматически применяется `temperature=1`. Эти модели специально оптимизированы для сложных логических задач.
{% endhint %}

## Особенности

### Vision (изображения)

Модели GPT-4o, GPT-4-turbo поддерживают анализ изображений:

```
Пользователь: [прикрепляет скриншот Excel]
              "Какие данные на этом скриншоте?"

Агент: "На скриншоте показана таблица Excel с данными о продажах:
       - Столбец A: Наименование товара
       - Столбец B: Количество
       - Столбец C: Сумма
       Всего 15 строк данных, итоговая сумма 150 000 ₽"
```

### web\_search (поиск в интернете)

Модели OpenAI могут искать актуальную информацию:

```
Пользователь: "Какой курс доллара сегодня?"

Агент: 🔍 Использую web_search...
       "По данным ЦБ РФ на 23.01.2026, курс доллара составляет 92.50 ₽"
```

### Reasoning (рассуждение)

Модели o1, o3 показывают процесс рассуждения:

```
Пользователь: "Проанализируй, стоит ли открывать филиал в Казани"

Агент (o1): 
<thinking>
1. Анализирую текущие показатели компании...
2. Изучаю рынок Казани...
3. Оцениваю конкурентов...
4. Рассчитываю потенциальную окупаемость...
</thinking>

"На основе анализа, открытие филиала в Казани целесообразно по 
следующим причинам:..."
```

## Стоимость

| Модель      | Вход (1M токенов) | Выход (1M токенов) |
| ----------- | ----------------- | ------------------ |
| gpt-4o      | $2.50             | $10.00             |
| gpt-4o-mini | $0.15             | $0.60              |
| gpt-4-turbo | $10.00            | $30.00             |
| o1          | $15.00            | $60.00             |
| o3          | \~$20.00          | \~$80.00           |

{% hint style="info" %}
Актуальные цены на [openai.com/pricing](https://openai.com/pricing)
{% endhint %}

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

### Ошибка авторизации (401)

| Причина            | Решение                        |
| ------------------ | ------------------------------ |
| Неверный API ключ  | Проверьте ключ, создайте новый |
| Ключ деактивирован | Создайте новый ключ            |
| Неверный формат    | Ключ должен начинаться с `sk-` |

### Недостаточно средств (402)

| Причина        | Решение                      |
| -------------- | ---------------------------- |
| Пустой баланс  | Пополните счёт               |
| Превышен лимит | Увеличьте лимит в настройках |

### Превышен rate limit (429)

| Причина                | Решение                           |
| ---------------------- | --------------------------------- |
| Слишком много запросов | Подождите и повторите             |
| Низкий tier            | Пополните счёт для повышения tier |

### Модель недоступна

| Причина              | Решение                            |
| -------------------- | ---------------------------------- |
| Неверное имя модели  | Проверьте ID модели                |
| Нет доступа к модели | Некоторые модели требуют одобрения |

## Рекомендации

### Для большинства задач

Используйте **GPT-4o** — оптимальный баланс качества и цены.

### Для экономии

Используйте **GPT-4o-mini** — значительно дешевле, достаточно для простых задач.

### Для сложной аналитики

Используйте **o1** или **o3** — улучшенные способности к рассуждению.

### Для работы с изображениями

Используйте **GPT-4o** — лучшая поддержка Vision.

## Далее

{% content-ref url="/pages/IHUScfFp4sVHXOTDmzYa" %}
[OpenRouter](/ai-platforma-oneapa/provajdery-llm/openrouter)
{% endcontent-ref %}


# OpenRouter

Настройка OpenRouter в качестве LLM провайдера для OneAPA.

## Обзор

**OpenRouter** — агрегатор языковых моделей, предоставляющий единый API к множеству провайдеров.

### Преимущества

| Преимущество          | Описание                               |
| --------------------- | -------------------------------------- |
| Множество моделей     | Доступ к OpenAI, Anthropic, Meta и др. |
| Единый API            | Одинаковый интерфейс для всех моделей  |
| Гибкость              | Легко переключаться между моделями     |
| Альтернативные модели | Claude, Llama и другие                 |

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

| Ограничение | Описание                                        |
| ----------- | ----------------------------------------------- |
| Посредник   | Дополнительный уровень между вами и провайдером |
| Наценка     | Небольшая наценка к базовой цене                |

## Получение доступа

### Шаг 1: Регистрация

1. Перейдите на [openrouter.ai](https://openrouter.ai/)
2. Зарегистрируйтесь (можно через GitHub, Google)
3. Подтвердите email

### Шаг 2: Пополнение баланса

1. Перейдите в раздел Credits
2. Пополните баланс

### Шаг 3: Создание API ключа

1. Перейдите в [Keys](https://openrouter.ai/keys)
2. Создайте новый ключ
3. Скопируйте ключ

## Настройка в OneAPA

### Создание модели

| Поле         | Значение                  |
| ------------ | ------------------------- |
| Наименование | OpenRouter Claude 3       |
| Провайдер    | OpenRouter                |
| Ключ         | sk-or-...                 |
| Каталог      | anthropic/claude-3-sonnet |
| URL          | (пусто)                   |

### Примеры настройки

**Claude 3 Sonnet:**

```
Наименование: Claude 3 Sonnet
Провайдер: OpenRouter
Ключ: sk-or-v1-xxxxxxxxxxxxxxxxxx
Каталог: anthropic/claude-3-sonnet
```

**Llama 3 70B:**

```
Наименование: Llama 3 70B
Провайдер: OpenRouter
Ключ: sk-or-v1-xxxxxxxxxxxxxxxxxx
Каталог: meta-llama/llama-3-70b-instruct
```

**Mixtral:**

```
Наименование: Mixtral 8x7B
Провайдер: OpenRouter
Ключ: sk-or-v1-xxxxxxxxxxxxxxxxxx
Каталог: mistralai/mixtral-8x7b-instruct
```

## Доступные модели

### Топовые модели

| Провайдер | Модель          | ID                              |
| --------- | --------------- | ------------------------------- |
| Anthropic | Claude 3 Opus   | anthropic/claude-3-opus         |
| Anthropic | Claude 3 Sonnet | anthropic/claude-3-sonnet       |
| Anthropic | Claude 3 Haiku  | anthropic/claude-3-haiku        |
| Meta      | Llama 3 70B     | meta-llama/llama-3-70b-instruct |
| Meta      | Llama 3 8B      | meta-llama/llama-3-8b-instruct  |
| Mistral   | Mixtral 8x7B    | mistralai/mixtral-8x7b-instruct |
| Mistral   | Mistral Large   | mistralai/mistral-large         |

### Экономичные модели

| Модель     | ID                                 | Примечание |
| ---------- | ---------------------------------- | ---------- |
| Llama 3 8B | meta-llama/llama-3-8b-instruct     | Бесплатная |
| Gemma 7B   | google/gemma-7b-it                 | Бесплатная |
| Phi-3      | microsoft/phi-3-mini-128k-instruct | Бесплатная |

{% hint style="info" %}
Список всех моделей и цены: [openrouter.ai/models](https://openrouter.ai/models)
{% endhint %}

## Выбор модели

### Для качества

**Claude 3 Opus** — один из лучших по качеству:

* Отличная работа с русским языком
* Большой контекст
* Высокое качество рассуждений

### Для баланса цена/качество

**Claude 3 Sonnet** или **Llama 3 70B**:

* Хорошее качество
* Разумная цена
* Быстрые ответы

### Для экономии

**Llama 3 8B** или **Gemma 7B**:

* Бесплатные или очень дешёвые
* Достаточно для простых задач

## Параметры

| Параметр    | Значение | Описание                  |
| ----------- | -------- | ------------------------- |
| temperature | 1        | Креативность              |
| max\_tokens | 1500     | Максимум токенов в ответе |

## Стоимость

Цены зависят от модели. Примеры:

| Модель          | Вход (1M токенов) | Выход (1M токенов) |
| --------------- | ----------------- | ------------------ |
| Claude 3 Opus   | $15.00            | $75.00             |
| Claude 3 Sonnet | $3.00             | $15.00             |
| Claude 3 Haiku  | $0.25             | $1.25              |
| Llama 3 70B     | $0.59             | $0.79              |
| Llama 3 8B      | Бесплатно         | Бесплатно          |

## Использование

### Пример с Claude

```
Пользователь: Напиши деловое письмо партнёру о переносе встречи

Агент (Claude 3 Sonnet):
"Уважаемый [Имя],

В связи с изменением графика работы вынуждены обратиться к Вам 
с просьбой о переносе нашей встречи, запланированной на [дата].

Предлагаем рассмотреть следующие альтернативные даты:
- [дата 1] в [время]
- [дата 2] в [время]

Приносим извинения за возможные неудобства и надеемся на Ваше понимание.

С уважением,
[Подпись]"
```

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

### Ошибка авторизации

| Причина          | Решение             |
| ---------------- | ------------------- |
| Неверный ключ    | Проверьте API ключ  |
| Истёк срок ключа | Создайте новый ключ |

### Модель недоступна

| Причина          | Решение                              |
| ---------------- | ------------------------------------ |
| Неверный ID      | Проверьте ID на openrouter.ai/models |
| Модель отключена | Выберите другую модель               |

### Недостаточно средств

| Причина        | Решение                      |
| -------------- | ---------------------------- |
| Пустой баланс  | Пополните счёт               |
| Превышен лимит | Увеличьте лимит в настройках |

## Далее

{% content-ref url="/pages/Id60fLFAMWeHjl4bEjkQ" %}
[Ollama](/ai-platforma-oneapa/provajdery-llm/ollama)
{% endcontent-ref %}


# Ollama

Настройка Ollama для локального запуска LLM в OneAPA.

## Обзор

**Ollama** — инструмент для локального запуска языковых моделей.

### Преимущества

| Преимущество       | Описание                     |
| ------------------ | ---------------------------- |
| Конфиденциальность | Данные не покидают вашу сеть |
| Бесплатно          | Нет платы за токены          |
| Автономность       | Работает без интернета       |
| Контроль           | Полный контроль над моделью  |

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

| Ограничение  | Описание                           |
| ------------ | ---------------------------------- |
| Оборудование | Требуется мощный GPU или много RAM |
| Качество     | Уступает топовым облачным моделям  |
| Настройка    | Требует установки и настройки      |

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

### Windows

1. Скачайте установщик с [ollama.com/download](https://ollama.com/download)
2. Запустите установщик
3. Следуйте инструкциям

### Linux

```bash
curl -fsSL https://ollama.com/install.sh | sh
```

### macOS

```bash
brew install ollama
```

### Docker

```bash
docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
```

## Загрузка моделей

### Команда pull

```bash
# Загрузка модели
ollama pull llama3

# Загрузка конкретной версии
ollama pull llama3:8b
ollama pull llama3:70b
```

### Проверка моделей

```bash
# Список загруженных моделей
ollama list
```

### Тестирование

```bash
# Запуск в режиме чата
ollama run llama3
```

## Рекомендуемые модели

### Для GPU 8 ГБ

| Модель  | Размер | Качество |
| ------- | ------ | -------- |
| llama3  | 8B     | ⭐⭐⭐⭐     |
| mistral | 7B     | ⭐⭐⭐⭐     |
| qwen2.5 | 7B     | ⭐⭐⭐⭐     |
| gemma2  | 9B     | ⭐⭐⭐⭐     |

### Для GPU 16-24 ГБ

| Модель      | Размер | Качество |
| ----------- | ------ | -------- |
| llama3:13b  | 13B    | ⭐⭐⭐⭐     |
| mixtral     | 8x7B   | ⭐⭐⭐⭐⭐    |
| qwen2.5:14b | 14B    | ⭐⭐⭐⭐⭐    |

### Для GPU 48+ ГБ или CPU

| Модель      | Размер | Качество |
| ----------- | ------ | -------- |
| llama3:70b  | 70B    | ⭐⭐⭐⭐⭐    |
| qwen2.5:72b | 72B    | ⭐⭐⭐⭐⭐    |

### Для Vision (изображения)

| Модель   | Размер | Описание           |
| -------- | ------ | ------------------ |
| llava    | 7B     | Анализ изображений |
| bakllava | 7B     | Улучшенная llava   |

## Настройка в OneAPA

### Создание модели

| Поле         | Значение                 |
| ------------ | ------------------------ |
| Наименование | Ollama Llama3            |
| Провайдер    | LocalOllama              |
| Ключ         | (пусто)                  |
| Каталог      | llama3                   |
| URL          | <http://localhost:11434> |

### Примеры

**Llama 3 8B:**

```
Наименование: Ollama Llama3
Провайдер: LocalOllama
Ключ: 
Каталог: llama3
URL: http://localhost:11434
```

**Mistral 7B:**

```
Наименование: Ollama Mistral
Провайдер: LocalOllama
Ключ: 
Каталог: mistral
URL: http://localhost:11434
```

**На удалённом сервере:**

```
Наименование: Ollama Remote
Провайдер: LocalOllama
Ключ: 
Каталог: llama3
URL: http://192.168.1.100:11434
```

## Требования к оборудованию

### Минимальные

| Параметр | Значение |
| -------- | -------- |
| CPU      | 4 ядра   |
| RAM      | 8 ГБ     |
| Модели   | До 3B    |

### Рекомендуемые (7-8B модели)

| Параметр | Значение          |
| -------- | ----------------- |
| GPU      | NVIDIA 8+ ГБ VRAM |
| RAM      | 16 ГБ             |
| Диск     | SSD 50 ГБ         |

### Для больших моделей (70B)

| Параметр | Значение           |
| -------- | ------------------ |
| GPU      | NVIDIA 48+ ГБ VRAM |
| или RAM  | 64+ ГБ (CPU режим) |
| Диск     | SSD 100+ ГБ        |

## Оптимизация производительности

### Использование GPU

Убедитесь, что установлены драйверы NVIDIA и CUDA:

```bash
# Проверка
nvidia-smi
```

### Количество потоков (CPU)

```bash
# Установка количества потоков
OLLAMA_NUM_THREAD=8 ollama serve
```

### Количество GPU слоёв

```bash
# Использование GPU для части модели
OLLAMA_NUM_GPU=35 ollama serve
```

## Запуск как сервис

### Linux (systemd)

```bash
# Ollama автоматически устанавливается как сервис
sudo systemctl status ollama
sudo systemctl start ollama
sudo systemctl enable ollama
```

### Windows

Ollama запускается автоматически после установки.

### Docker

```bash
docker run -d \
  --name ollama \
  -p 11434:11434 \
  -v ollama:/root/.ollama \
  --gpus all \
  --restart unless-stopped \
  ollama/ollama
```

## Сетевой доступ

### Разрешение внешних подключений

По умолчанию Ollama слушает только localhost. Для доступа с других машин:

```bash
# Linux
OLLAMA_HOST=0.0.0.0:11434 ollama serve

# Или в /etc/systemd/system/ollama.service
Environment="OLLAMA_HOST=0.0.0.0:11434"
```

### Проверка доступности

```bash
# С локальной машины
curl http://localhost:11434/api/version

# С удалённой машины
curl http://ollama-server:11434/api/version
```

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

### Ollama не запускается

| Причина    | Решение                                     |
| ---------- | ------------------------------------------- |
| Порт занят | Измените порт или остановите другой процесс |
| Нет прав   | Запустите с правами администратора          |

### Модель не загружается

| Причина            | Решение            |
| ------------------ | ------------------ |
| Нет места на диске | Освободите место   |
| Сетевая ошибка     | Проверьте интернет |

### Медленная работа

| Причина    | Решение                               |
| ---------- | ------------------------------------- |
| Нет GPU    | Модель работает на CPU — это медленно |
| Мало VRAM  | Часть модели загружается в RAM        |
| Слабый CPU | Используйте меньшую модель            |

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

| Причина           | Решение                  |
| ----------------- | ------------------------ |
| Ollama не запущен | Запустите `ollama serve` |
| Неверный URL      | Проверьте адрес и порт   |
| Firewall          | Откройте порт 11434      |

## Далее

{% content-ref url="/pages/Vk0UAtlAjkEhS95SLdrB" %}
[Sber GigaChat](/ai-platforma-oneapa/provajdery-llm/sber)
{% endcontent-ref %}


# Sber GigaChat

Настройка Sber GigaChat в качестве LLM провайдера для OneAPA.

## Обзор

**GigaChat** — языковая модель от Сбера для работы с русским языком.

### Преимущества

| Преимущество         | Описание                   |
| -------------------- | -------------------------- |
| Русский язык         | Оптимизирован для русского |
| Российский провайдер | Хранение данных в РФ       |
| Интеграция           | Экосистема Сбера           |

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

| Ограничение | Описание                    |
| ----------- | --------------------------- |
| Нет Vision  | Не поддерживает изображения |
| Доступность | Ограниченный доступ         |

## Получение доступа

### Шаг 1: Регистрация

1. Перейдите на [developers.sber.ru](https://developers.sber.ru/)
2. Зарегистрируйтесь или войдите через Сбер ID
3. Подтвердите данные

### Шаг 2: Подключение API

1. Создайте проект
2. Подключите GigaChat API
3. Примите условия использования

### Шаг 3: Получение API ключа

1. Перейдите в раздел "Ключи API"
2. Создайте новый ключ
3. Скопируйте ключ

## Настройка в OneAPA

### Создание модели

| Поле         | Значение      |
| ------------ | ------------- |
| Наименование | Sber GigaChat |
| Провайдер    | Sber          |
| Ключ         | (API ключ)    |
| Каталог      | GigaChat      |
| URL          | (пусто)       |

### Пример

```
Наименование: Sber GigaChat
Провайдер: Sber
Ключ: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Каталог: GigaChat
URL: 
```

## Доступные модели

| Модель            | ID            | Описание          |
| ----------------- | ------------- | ----------------- |
| **GigaChat**      | GigaChat      | Базовая модель    |
| **GigaChat Plus** | GigaChat-Plus | Улучшенная версия |
| **GigaChat Pro**  | GigaChat-Pro  | Профессиональная  |

## Параметры

| Параметр    | Значение | Описание         |
| ----------- | -------- | ---------------- |
| temperature | 1        | Креативность     |
| max\_tokens | 1500     | Максимум токенов |

## Стоимость

{% hint style="info" %}
Актуальные цены уточняйте на [developers.sber.ru](https://developers.sber.ru/)
{% endhint %}

## Примеры использования

### Работа с русским текстом

```
Пользователь: Напиши краткое описание компании для сайта

Агент (GigaChat): 
"Компания «Технологии будущего» — ведущий разработчик программного 
обеспечения для автоматизации бизнес-процессов. 

Мы специализируемся на:
• Разработке корпоративных систем
• Внедрении решений на базе 1С
• Интеграции с внешними сервисами

Более 10 лет мы помогаем предприятиям повышать эффективность работы 
с помощью современных технологий."
```

### Анализ документов

```
Пользователь: Проанализируй этот договор на наличие рисков

Агент (GigaChat):
"Анализ договора выявил следующие потенциальные риски:

1. Пункт 3.2 — размытые сроки выполнения работ
2. Пункт 5.1 — неограниченная ответственность исполнителя
3. Пункт 7.4 — односторонний порядок расторжения заказчиком

Рекомендации:
• Уточнить сроки в пункте 3.2
• Ограничить ответственность суммой договора
• Добавить симметричные условия расторжения"
```

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

### Ошибка авторизации

| Причина            | Решение                                   |
| ------------------ | ----------------------------------------- |
| Неверный ключ      | Проверьте API ключ                        |
| Ключ деактивирован | Создайте новый ключ                       |
| Нет доступа        | Подключите GigaChat API в личном кабинете |

### Ошибка квоты

| Причина              | Решение                       |
| -------------------- | ----------------------------- |
| Превышен лимит       | Подождите или увеличьте квоту |
| Недостаточно средств | Пополните баланс              |

### Медленные ответы

| Причина            | Решение                    |
| ------------------ | -------------------------- |
| Перегрузка сервиса | Повторите позже            |
| Большой запрос     | Уменьшите размер контекста |

## Сравнение с другими провайдерами

| Критерий       | GigaChat | Yandex GPT | OpenAI |
| -------------- | -------- | ---------- | ------ |
| Русский язык   | ⭐⭐⭐⭐⭐    | ⭐⭐⭐⭐⭐      | ⭐⭐⭐⭐   |
| Общее качество | ⭐⭐⭐⭐     | ⭐⭐⭐⭐       | ⭐⭐⭐⭐⭐  |
| Vision         | ❌        | ❌          | ✅      |
| Цена           | $$       | $$         | $$$    |

## Далее

* [Интеграции](/ai-platforma-oneapa/integratsii) — MCP, OneRPA, RAG
* [Разработка агентов](/ai-platforma-oneapa/razrabotka-agentov) — создание своих агентов


# Интеграции

Раздел описывает возможности интеграции OneAPA с внешними системами.

## Возможности интеграции

| Интеграция                                                      | Описание               | Страница         |
| --------------------------------------------------------------- | ---------------------- | ---------------- |
| [MCP протокол](/ai-platforma-oneapa/integratsii/mcp-protokol)   | Model Context Protocol | mcp-protokol.md  |
| [OneRPA](/ai-platforma-oneapa/integratsii/onerpa)               | Запуск роботов         | onerpa.md        |
| [API Reference](/ai-platforma-oneapa/integratsii/api-reference) | REST API Proxy         | api-reference.md |

## Архитектура интеграций

```
┌─────────────────────────────────────────────────────────────────────────┐
│                            OneAPA                                        │
│                                                                          │
│  ┌─────────────┐    ┌─────────────┐    ┌─────────────────────────────┐  │
│  │   Агенты    │    │ Инструменты │    │       LLM Провайдеры        │  │
│  └──────┬──────┘    └──────┬──────┘    └──────────────┬──────────────┘  │
│         │                  │                          │                  │
└─────────┼──────────────────┼──────────────────────────┼──────────────────┘
          │                  │                          │
          ▼                  ▼                          ▼
┌─────────────────┐  ┌─────────────────┐  ┌─────────────────────────────┐
│   MCP серверы   │  │     OneRPA      │  │   OpenAI, Yandex, Ollama    │
│                 │  │                 │  │                             │
│  • FileSystem   │  │  • Роботы       │  │  • GPT-4o                   │
│  • GitHub       │  │  • UI авто-     │  │  • YandexGPT                │
│  • Database     │  │    матизация    │  │  • Llama 3                  │
└─────────────────┘  └─────────────────┘  └─────────────────────────────┘
          │                  │
          ▼                  ▼
┌─────────────────────────────────────────┐
│            Векторные БД (RAG)            │
│                                          │
│  • Chroma    • Milvus    • Pinecone     │
└─────────────────────────────────────────┘
```

## Типы интеграций

### MCP (Model Context Protocol)

Стандартный протокол для расширения возможностей LLM:

* OneAPA как MCP сервер — предоставляет инструменты
* OneAPA как MCP клиент — использует внешние инструменты

### OneRPA

Интеграция с платформой роботизации:

* Запуск роботов как инструментов агента
* Передача параметров
* Получение результатов

### RAG (Retrieval-Augmented Generation)

Использование внутренних баз знаний:

* Выгрузка данных 1С в векторную БД
* Поиск релевантной информации
* Обогащение ответов агента

### REST API

Взаимодействие через HTTP:

* Загрузка агентов
* Отправка сообщений
* Интеграция с внешними системами

## Сценарии интеграции

### Сценарий 1: Внешняя CRM

```
CRM система → API → OneAPA → Агент → Ответ → CRM
```

### Сценарий 2: Автоматизация процессов

```
Событие в 1С → Агент → Инструмент → Робот OneRPA → Результат
```

### Сценарий 3: База знаний

```
Документы → Векторная БД → RAG → Агент → Ответ с контекстом
```

### Сценарий 4: IDE интеграция

```
Cursor IDE → MCP → OneAPA → Инструменты 1С → Результат
```

## Далее

{% content-ref url="/pages/Sbpi7dD0CjrACn7wSck4" %}
[MCP протокол](/ai-platforma-oneapa/integratsii/mcp-protokol)
{% endcontent-ref %}


# MCP протокол

Подробное описание интеграции OneAPA с Model Context Protocol.

## Что такое MCP

**Model Context Protocol (MCP)** — открытый стандарт для взаимодействия языковых моделей с внешними инструментами и данными.

### Ключевые концепции

| Концепция    | Описание                            |
| ------------ | ----------------------------------- |
| **Server**   | Предоставляет инструменты и ресурсы |
| **Client**   | Использует инструменты сервера      |
| **Tool**     | Функция, которую может вызвать LLM  |
| **Resource** | Данные, доступные для чтения        |
| **Prompt**   | Шаблоны для LLM                     |

## OneAPA как MCP сервер

OneAPA автоматически экспортирует все инструменты агентов через MCP.

### Архитектура

```
┌─────────────────────────────────────────────────────────────────────────┐
│                        MCP Клиенты                                       │
│                                                                          │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐     │
│  │   Cursor    │  │   Claude    │  │   VS Code   │  │   Custom    │     │
│  │    IDE      │  │   Desktop   │  │   + Ext     │  │   Client    │     │
│  └──────┬──────┘  └──────┬──────┘  └──────┬──────┘  └──────┬──────┘     │
│         │                │                │                │             │
└─────────┼────────────────┼────────────────┼────────────────┼─────────────┘
          │                │                │                │
          └────────────────┴────────────────┴────────────────┘
                                    │
                                    ▼ MCP Protocol
                           ┌─────────────────┐
                           │     OneAPA      │
                           │   MCP Server    │
                           │                 │
                           │  • tools/list   │
                           │  • tools/call   │
                           └─────────────────┘
                                    │
                                    ▼
                           ┌─────────────────┐
                           │   Инструменты   │
                           │      1С         │
                           └─────────────────┘
```

### Настройка в Cursor

Добавьте в настройки MCP:

```json
{
  "mcpServers": {
    "oneapa": {
      "url": "http://localhost:9000/mcp",
      "transport": "http"
    }
  }
}
```

### Пример использования

После настройки в Cursor доступны инструменты 1С:

```
User: Покажи остаток на счёте 40702810100000000001

Cursor → MCP → OneAPA → Инструмент "Остаток на счёте" → 1С
```


# OneRPA

Руководство по интеграции OneAPA с платформой OneRPA.

## Обзор

Интеграция позволяет агентам запускать роботов OneRPA как инструменты.

```
┌─────────────────┐         ┌─────────────────┐         ┌─────────────────┐
│     Агент       │────────►│   Инструмент    │────────►│     Робот       │
│    OneAPA       │         │    OneRPA       │         │    OneRPA       │
└─────────────────┘         └─────────────────┘         └─────────────────┘
```

## Настройка инструмента OneRPA

### Создание инструмента

1. Откройте справочник "Инструменты"
2. Создайте новый элемент
3. Установите флаг **OneRPA**
4. Укажите **Код задания OneRPA**

```
┌─────────────────────────────────────────────────────────────────────────┐
│  Инструмент: Выгрузка в Excel                                           │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│  ☐ MCP    ☑ OneRPA                                                      │
│                                                                          │
│  Код задания OneRPA: [EXPORT_TO_EXCEL                             ]     │
│                                                                          │
│  Описание:                                                               │
│  Выгружает данные в файл Excel. Используй, когда пользователь          │
│  просит создать отчёт в Excel формате.                                  │
│                                                                          │
│  Параметры:                                                              │
│  ┌────────────────────────────────────────────────────────────────────┐ │
│  │ report_type | string | Тип отчёта (sales, inventory, finance)     │ │
│  │ period      | string | Период (YYYY-MM)                           │ │
│  │ output_path | string | Путь для сохранения файла                  │ │
│  └────────────────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────────┘
```

## Модуль APA\_OneRPA

### Назначение

Серверный модуль для взаимодействия с OneRPA.

### Основные функции

```bsl
// Запуск робота
Результат = APA_OneRPA.ЗапуститьРобота(
    КодЗадания,
    ПараметрыЗапуска
);

// Проверка статуса
Статус = APA_OneRPA.ПолучитьСтатусВыполнения(ИдентификаторЗадания);

// Получение результата
Результат = APA_OneRPA.ПолучитьРезультат(ИдентификаторЗадания);
```

## Пример сценария

### Запрос пользователя

```
Пользователь: Выгрузи отчёт по продажам за январь 2026 в Excel
```

### Обработка агентом

```
Агент:
1. Анализирует запрос
2. Определяет, что нужен инструмент "Выгрузка в Excel"
3. Формирует параметры:
   - report_type: "sales"
   - period: "2026-01"
   - output_path: "D:\Reports\sales_2026-01.xlsx"
4. Вызывает инструмент
```

### Выполнение

```
OneAPA → OneRPA:
{
  "task_code": "EXPORT_TO_EXCEL",
  "parameters": {
    "report_type": "sales",
    "period": "2026-01",
    "output_path": "D:\\Reports\\sales_2026-01.xlsx"
  }
}

OneRPA:
1. Запускает робота
2. Робот формирует отчёт
3. Сохраняет файл
4. Возвращает результат
```

### Ответ агента

```
Агент: Отчёт по продажам за январь 2026 успешно сформирован 
       и сохранён в файл D:\Reports\sales_2026-01.xlsx
```

## Типы роботов для интеграции

| Тип                  | Описание                       | Пример         |
| -------------------- | ------------------------------ | -------------- |
| **Отчёты**           | Формирование и выгрузка        | Excel, PDF     |
| **Импорт данных**    | Загрузка из внешних источников | CSV, XML       |
| **UI автоматизация** | Работа с интерфейсами          | SAP, веб-формы |
| **Интеграция**       | Обмен с внешними системами     | API, файлы     |

## Обработка ошибок

### Таймаут выполнения

```bsl
// В инструменте можно настроить таймаут
Если APA_OneRPA.ЖдатьЗавершения(ИдентификаторЗадания, 300) Тогда
    // Успешно
Иначе
    // Таймаут
    ВызватьИсключение "Робот не завершился за отведённое время";
КонецЕсли;
```

### Ошибка робота

```bsl
Результат = APA_OneRPA.ПолучитьРезультат(ИдентификаторЗадания);
Если Результат.Ошибка Тогда
    Возврат Новый Структура("Успех, Ошибка", Ложь, Результат.ОписаниеОшибки);
КонецЕсли;
```

## Рекомендации

### Проектирование роботов

* Роботы должны быть атомарными (одна задача)
* Чёткие входные и выходные параметры
* Обработка ошибок внутри робота

### Описание инструментов

* Понятное описание для LLM
* Чёткое указание, когда использовать
* Примеры в описании

## Далее

{% content-ref url="/pages/e2qVV1fTa35qnUP4Jkfh" %}
[Broken mention](broken://pages/e2qVV1fTa35qnUP4Jkfh)
{% endcontent-ref %}


# API Reference

Справочник по REST API Proxy-сервера OneAPA.

## Базовый URL

```
http://<proxy-server>:9000
```

## Аутентификация

API не требует аутентификации для внутреннего использования. Для production рекомендуется настроить reverse proxy с авторизацией.

## Endpoints

### GET /health

Проверка работоспособности сервера.

**Запрос:**

```bash
curl http://localhost:9000/health
```

**Ответ:**

```json
{
  "message": "OK",
  "version": "1.0.1",
  "build_date": "2025-12-03"
}
```

**Коды ответа:**

| Код | Описание          |
| --- | ----------------- |
| 200 | Сервер работает   |
| 500 | Внутренняя ошибка |

***

### POST /load

Загрузка агентов и инструментов из 1С.

**Запрос:**

```bash
curl -X POST http://localhost:9000/load \
  -H "Content-Type: application/json" \
  -d '{
    "agents": [...],
    "toolsendpoint": "http://1c-server/hs/oneapa/tools"
  }'
```

**Тело запроса (LoadRequest):**

```json
{
  "agents": [
    {
      "agent": {
        "id": "agent-001",
        "name": "Помощник",
        "model": {
          "service": "OpenAI",
          "token": "sk-...",
          "folder": "gpt-4o",
          "url": ""
        },
        "infobase": "my_base",
        "description": "Универсальный помощник",
        "systemprompt": "Ты — помощник...",
        "userprompt": "",
        "tools": [
          {
            "name": "get_date",
            "type": "http",
            "description": "Возвращает текущую дату",
            "format": "",
            "parameters": []
          }
        ],
        "mcps": []
      }
    }
  ],
  "toolsendpoint": "http://1c-server/hs/oneapa/tools"
}
```

**Ответ:**

```json
{
  "status": "success",
  "agents_loaded": ["agent-001"],
  "message": "Loaded 1 agents"
}
```

***

### POST /chat

Отправка сообщения агенту.

**Запрос:**

```bash
curl -X POST http://localhost:9000/chat \
  -H "Content-Type: application/json" \
  -d '{
    "message": "Привет!",
    "files": []
  }'
```

**Тело запроса (ChatRequest):**

```json
{
  "message": "Сколько у меня отпускных дней?",
  "files": [
    {
      "content": "base64_encoded_content",
      "name": "document.pdf"
    }
  ]
}
```

| Поле    | Тип    | Обязательный | Описание            |
| ------- | ------ | ------------ | ------------------- |
| message | string | Да           | Текст сообщения     |
| files   | array  | Нет          | Прикреплённые файлы |

**Формат файла:**

| Поле    | Тип    | Описание                  |
| ------- | ------ | ------------------------- |
| content | string | Base64-encoded содержимое |
| name    | string | Имя файла с расширением   |

**Ответ (ChatResponse):**

```json
{
  "response": "У вас осталось 14 дней отпуска.",
  "tool_results": [
    {
      "tool": "get_vacation_days",
      "result": {
        "days": 14
      }
    }
  ]
}
```

| Поле          | Тип    | Описание                          |
| ------------- | ------ | --------------------------------- |
| response      | string | Ответ агента                      |
| tool\_results | array  | Результаты вызванных инструментов |

**Коды ответа:**

| Код | Описание          |
| --- | ----------------- |
| 200 | Успех             |
| 400 | Неверный запрос   |
| 500 | Внутренняя ошибка |
| 504 | Таймаут           |

***

## Модели данных

### Model

```json
{
  "service": "OpenAI",
  "token": "sk-...",
  "folder": "gpt-4o",
  "url": ""
}
```

| Поле    | Тип    | Описание                                                 |
| ------- | ------ | -------------------------------------------------------- |
| service | string | Провайдер: OpenAI, Yandex, LocalOllama, Sber, OpenRouter |
| token   | string | API ключ                                                 |
| folder  | string | Название модели                                          |
| url     | string | URL для локальных провайдеров                            |

### Tool

```json
{
  "name": "get_balance",
  "type": "http",
  "description": "Получить остаток на счёте",
  "format": "",
  "parameters": [
    {
      "name": "account",
      "type": "string",
      "description": "Номер счёта"
    }
  ]
}
```

### Parameter

```json
{
  "name": "account",
  "type": "string",
  "description": "Номер расчётного счёта"
}
```

| Поле        | Тип    | Описание                              |
| ----------- | ------ | ------------------------------------- |
| name        | string | Имя параметра                         |
| type        | string | Тип: string, number, integer, boolean |
| description | string | Описание для LLM                      |

### Agent

```json
{
  "id": "agent-001",
  "name": "Помощник",
  "model": {...},
  "infobase": "my_base",
  "description": "Описание агента",
  "systemprompt": "Системный промпт",
  "userprompt": "Пользовательский промпт",
  "tools": [...],
  "mcps": [...]
}
```

## Примеры

### Python

```python
import requests

# Проверка здоровья
response = requests.get("http://localhost:9000/health")
print(response.json())

# Отправка сообщения
response = requests.post(
    "http://localhost:9000/chat",
    json={"message": "Привет!"}
)
print(response.json()["response"])
```

### JavaScript

```javascript
// Проверка здоровья
const health = await fetch('http://localhost:9000/health');
console.log(await health.json());

// Отправка сообщения
const response = await fetch('http://localhost:9000/chat', {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: JSON.stringify({message: 'Привет!'})
});
const data = await response.json();
console.log(data.response);
```

### 1С

```bsl
// Проверка здоровья
HTTPСоединение = Новый HTTPСоединение("localhost", 9000);
Запрос = Новый HTTPЗапрос("/health");
Ответ = HTTPСоединение.Получить(Запрос);
Результат = Ответ.ПолучитьТелоКакСтроку();

// Отправка сообщения
Запрос = Новый HTTPЗапрос("/chat");
Запрос.Заголовки.Вставить("Content-Type", "application/json");
ТелоЗапроса = Новый Структура("message", "Привет!");
Запрос.УстановитьТелоИзСтроки(СериализоватьJSON(ТелоЗапроса));
Ответ = HTTPСоединение.ОтправитьДляОбработки(Запрос);
```

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

| Параметр          | Значение          |
| ----------------- | ----------------- |
| Таймаут запроса   | 900 секунд        |
| Максимум итераций | 15                |
| Размер файла      | Зависит от модели |

## Далее

* [Разработка агентов](/ai-platforma-oneapa/razrabotka-agentov) — создание своих агентов
* [Администрирование](/ai-platforma-oneapa/administrirovanie) — управление системой


# Разработка агентов

Руководство по созданию ИИ агентов в OneAPA.

## Содержание раздела

| Страница                                                                               | Описание                |
| -------------------------------------------------------------------------------------- | ----------------------- |
| [Основы разработки](/ai-platforma-oneapa/razrabotka-agentov/osnovy-razrabotki)         | Базовые принципы        |
| [Создание инструментов](/ai-platforma-oneapa/razrabotka-agentov/sozdanie-instrumentov) | Разработка инструментов |
| [Работа с промптами](/ai-platforma-oneapa/razrabotka-agentov/rabota-s-promptami)       | Эффективные промпты     |
| [Настройка триггеров](/ai-platforma-oneapa/razrabotka-agentov/nastrojka-triggerov)     | События запуска         |
| [Лучшие практики](/ai-platforma-oneapa/razrabotka-agentov/luchshie-praktiki)           | Рекомендации            |
| [Примеры агентов](broken://pages/CJ9yzUSQRFkfvGB4Spfm)                                 | Готовые шаблоны         |

## Жизненный цикл агента

```
┌─────────────────────────────────────────────────────────────────────────┐
│                     ЖИЗНЕННЫЙ ЦИКЛ АГЕНТА                                │
│                                                                          │
│  1. ПЛАНИРОВАНИЕ                                                         │
│     └── Определение задач                                               │
│     └── Выбор модели                                                    │
│     └── Проектирование инструментов                                     │
│                           │                                              │
│                           ▼                                              │
│  2. РАЗРАБОТКА                                                           │
│     └── Написание промптов                                              │
│     └── Создание инструментов                                           │
│     └── Настройка триггеров                                             │
│                           │                                              │
│                           ▼                                              │
│  3. ТЕСТИРОВАНИЕ                                                         │
│     └── Проверка в чате                                                 │
│     └── Тестовые сценарии                                               │
│     └── Оценка качества                                                 │
│                           │                                              │
│                           ▼                                              │
│  4. РАЗВЁРТЫВАНИЕ                                                        │
│     └── Синхронизация с Proxy                                           │
│     └── Настройка доступа                                               │
│     └── Обучение пользователей                                          │
│                           │                                              │
│                           ▼                                              │
│  5. ЭКСПЛУАТАЦИЯ                                                         │
│     └── Мониторинг                                                      │
│     └── Сбор обратной связи                                             │
│     └── Улучшение                                                       │
└─────────────────────────────────────────────────────────────────────────┘
```

## Компоненты агента

| Компонент            | Описание              | Обязательный      |
| -------------------- | --------------------- | ----------------- |
| **Модель**           | LLM для обработки     | Да                |
| **Системный промпт** | Инструкция для агента | Да                |
| **Описание**         | Для автовыбора агента | Рекомендуется     |
| **Инструменты**      | Доступные функции     | Зависит от задачи |
| **Триггер**          | Событие запуска       | Рекомендуется     |
| **Пользователи**     | Ограничение доступа   | Опционально       |

## Быстрый старт

### Минимальный агент

```
1. Создайте модель (OpenAI GPT-4o)
2. Создайте агента:
   - Наименование: Помощник
   - Модель: OpenAI GPT-4o
   - Системный промпт: "Ты — помощник. Отвечай кратко."
3. Синхронизируйте с Proxy
4. Тестируйте в чате
```

### Агент с инструментом

```
1. Создайте инструмент:
   - Наименование: Текущая дата
   - Код: Результат = Строка(ТекущаяДата());
   
2. Добавьте инструмент в агента
3. Синхронизируйте
4. Спросите: "Какое сегодня число?"
```

## Рекомендации

### Начните просто

1. Один агент — одна задача
2. Минимум инструментов
3. Чёткий промпт

### Тестируйте итеративно

1. Проверяйте каждое изменение
2. Собирайте обратную связь
3. Улучшайте постепенно

### Документируйте

1. Описывайте назначение
2. Фиксируйте изменения
3. Обучайте пользователей

## Далее

{% content-ref url="/pages/i5MMRENRTtDJp0PTee2F" %}
[Основы разработки](/ai-platforma-oneapa/razrabotka-agentov/osnovy-razrabotki)
{% endcontent-ref %}


# Основы разработки

Базовые принципы разработки ИИ агентов в OneAPA.

## Планирование агента

### 1. Определение задач

Ответьте на вопросы:

* Какие задачи будет решать агент?
* Кто будет его использовать?
* Какие данные ему нужны?

**Пример:**

```
Агент: Кадровый помощник
Задачи:
- Информирование об остатке отпуска
- Помощь с оформлением командировок
- Ответы на вопросы о зарплате

Пользователи: Все сотрудники
Данные: Кадровые данные из 1С
```

### 2. Выбор модели

| Задача                  | Рекомендуемая модель |
| ----------------------- | -------------------- |
| Простые ответы          | GPT-4o-mini, Llama 3 |
| Сложный анализ          | GPT-4o, Claude 3     |
| Работа с изображениями  | GPT-4o               |
| Конфиденциальные данные | Ollama               |

### 3. Проектирование инструментов

Определите, какие инструменты нужны:

```
Агент: Кадровый помощник
Инструменты:
1. Получить остаток отпуска
   - Вход: ФИО сотрудника
   - Выход: Количество дней

2. Получить информацию о зарплате
   - Вход: ФИО, период
   - Выход: Начисления, удержания

3. Создать заявку на отпуск
   - Вход: ФИО, даты
   - Выход: Номер заявки
```

## Создание агента

### Шаг 1: Создание модели

1. Справочник "Модели" → Создать
2. Выберите провайдер
3. Укажите API ключ
4. Укажите название модели

### Шаг 2: Создание агента

1. Справочник "Агенты" → Создать
2. Заполните:
   * Наименование
   * Описание
   * Модель
   * Системный промпт
3. Установите флаг "Активен"

### Шаг 3: Добавление инструментов

1. Создайте инструменты в справочнике
2. Добавьте их на вкладку "Инструменты" агента

### Шаг 4: Настройка доступа

1. Если нужно ограничить — добавьте пользователей
2. Если для всех — оставьте список пустым

### Шаг 5: Синхронизация

Выполните "Обмен с Proxy"

## Типы агентов

### Информационный агент

Только отвечает на вопросы, не изменяет данные.

```
Системный промпт:
Ты — информационный помощник.
Отвечай на вопросы пользователей.
Ты НЕ можешь изменять данные или создавать документы.
```

### Агент-исполнитель

Может выполнять действия в системе.

```
Системный промпт:
Ты — помощник для работы с документами.
Ты можешь:
- Отвечать на вопросы
- Создавать заявки
- Формировать отчёты

ВСЕГДА запрашивай подтверждение перед созданием документов.
```

### Агент-маршрутизатор

Определяет тип запроса и передаёт другому агенту.

```
Системный промпт:
Ты — диспетчер обращений.
Определи тип запроса:
- Кадровый вопрос → передай кадровому агенту
- Финансовый вопрос → передай бухгалтерскому агенту
- Технический вопрос → передай в техподдержку
```

## Тестирование

### Тестовые сценарии

```
1. Базовый тест
   Вход: "Привет"
   Ожидание: Приветствие

2. Тест инструмента
   Вход: "Сколько у меня отпуска?"
   Ожидание: Вызов инструмента, ответ с числом

3. Тест ограничений
   Вход: "Удали все данные"
   Ожидание: Отказ с объяснением
```

### Оценка качества

| Критерий   | Как оценить            |
| ---------- | ---------------------- |
| Точность   | Сравнение с эталоном   |
| Полнота    | Все ли данные включены |
| Понятность | Ясен ли ответ          |
| Скорость   | Время ответа           |

## Далее

{% content-ref url="/pages/lvbMqYWzJAAHZeJPOayo" %}
[Создание инструментов](/ai-platforma-oneapa/razrabotka-agentov/sozdanie-instrumentov)
{% endcontent-ref %}


# Создание инструментов

Руководство по разработке инструментов для агентов.

## Типы инструментов

| Тип           | Описание           | Когда использовать  |
| ------------- | ------------------ | ------------------- |
| HTTP (код 1С) | Выполняет код в 1С | Работа с данными 1С |
| MCP           | Внешний MCP сервер | Внешние системы     |
| OneRPA        | Робот OneRPA       | UI автоматизация    |

## Создание HTTP инструмента

### Шаг 1: Планирование

```
Инструмент: Получить остаток товара
Назначение: Возвращает остаток товара на складе
Вход: Наименование товара
Выход: Количество, единица измерения
```

### Шаг 2: Создание

1. Справочник "Инструменты" → Создать
2. Наименование: `Получить остаток товара`
3. Описание:

```
Возвращает текущий остаток товара на складе.
Используй, когда пользователь спрашивает:
- Сколько товара на складе
- Есть ли товар в наличии
- Какой остаток по товару
```

### Шаг 3: Код

```bsl
// Получение параметра
НаименованиеТовара = Параметры.Товар;

// Поиск товара
Запрос = Новый Запрос;
Запрос.Текст = 
"ВЫБРАТЬ
|    Остатки.Номенклатура.Наименование КАК Товар,
|    Остатки.КоличествоОстаток КАК Количество,
|    Остатки.Номенклатура.ЕдиницаИзмерения.Наименование КАК Единица
|ИЗ
|    РегистрНакопления.ТоварыНаСкладах.Остатки КАК Остатки
|ГДЕ
|    Остатки.Номенклатура.Наименование ПОДОБНО &Наименование";

Запрос.УстановитьПараметр("Наименование", "%" + НаименованиеТовара + "%");
Выборка = Запрос.Выполнить().Выбрать();

// Формирование результата
Результаты = Новый Массив;
Пока Выборка.Следующий() Цикл
    Результаты.Добавить(Новый Структура(
        "Товар, Количество, Единица",
        Выборка.Товар,
        Выборка.Количество,
        Выборка.Единица
    ));
КонецЦикла;

Результат = Новый Структура("Товары", Результаты);
```

### Шаг 4: Параметры

| Имя   | ИмяEn   | Тип    | Описание                       |
| ----- | ------- | ------ | ------------------------------ |
| Товар | product | string | Наименование товара для поиска |

## Описание инструмента

### Важность описания

LLM использует описание чтобы понять:

* Что делает инструмент
* Когда его вызывать
* Какие параметры передать

### Структура описания

```
1. Что делает инструмент (одно предложение)
2. Когда использовать (примеры запросов)
3. Важные ограничения (если есть)
```

### Хороший пример

```
Возвращает текущий остаток товара на складе по наименованию.

Используй этот инструмент, когда пользователь:
- Спрашивает о наличии товара
- Хочет узнать количество на складе
- Интересуется запасами

Ограничение: поиск по частичному совпадению названия,
может вернуть несколько товаров.
```

### Плохой пример

```
Остатки товаров
```

## Параметры инструмента

### Типы

| Тип        | JSON    | Пример    |
| ---------- | ------- | --------- |
| Строка     | string  | "Товар А" |
| Число      | number  | 123.45    |
| Целое      | integer | 42        |
| Логическое | boolean | true      |

### Описание параметров

Описание помогает LLM понять, что передавать:

```
Параметр: period
Описание: Период отчёта в формате YYYY-MM (например, 2026-01)
```

## Формат ответа

### Простой результат

```bsl
Результат = Новый Структура("Остаток", 150);
```

### Структурированный результат

```bsl
Результат = Новый Структура;
Результат.Вставить("Товар", "Товар А");
Результат.Вставить("Остаток", 150);
Результат.Вставить("Единица", "шт");
Результат.Вставить("Склад", "Основной");
```

### Список результатов

```bsl
Результаты = Новый Массив;
Для Каждого Строка Из Таблица Цикл
    Результаты.Добавить(Новый Структура(
        "Поле1, Поле2",
        Строка.Поле1,
        Строка.Поле2
    ));
КонецЦикла;
Результат = Новый Структура("Данные", Результаты);
```

## Обработка ошибок

```bsl
Попытка
    // Основной код
    ...
    Результат = Новый Структура("Успех, Данные", Истина, Данные);
Исключение
    Результат = Новый Структура(
        "Успех, Ошибка",
        Ложь,
        ОписаниеОшибки()
    );
КонецПопытки;
```

## Тестирование инструмента

1. Создайте тестового агента только с этим инструментом
2. Синхронизируйте с Proxy
3. В чате попросите использовать инструмент:

   ```
   Используй инструмент "Получить остаток товара" 
   для товара "Ноутбук"
   ```
4. Проверьте результат

## Далее

{% content-ref url="/pages/2eJAsRmkyJBpg56rIHoY" %}
[Работа с промптами](/ai-platforma-oneapa/razrabotka-agentov/rabota-s-promptami)
{% endcontent-ref %}


# Работа с промптами

Руководство по созданию эффективных промптов для агентов.

## Типы промптов

| Тип                  | Назначение                       |
| -------------------- | -------------------------------- |
| **Системный**        | Определяет роль и правила агента |
| **Пользовательский** | Шаблон для обработки запросов    |

## Системный промпт

### Структура

```
1. РОЛЬ
   Кто такой агент

2. ЗАДАЧИ
   Что агент должен делать

3. ПРАВИЛА
   Как агент должен себя вести

4. ОГРАНИЧЕНИЯ
   Чего агент НЕ должен делать

5. ФОРМАТ
   Как форматировать ответы
```

### Пример

```
Ты — кадровый специалист компании "Технологии".

ТВОИ ЗАДАЧИ:
- Отвечать на вопросы сотрудников об отпусках
- Помогать с оформлением командировок
- Предоставлять информацию о зарплате

ПРАВИЛА:
- Отвечай вежливо и профессионально
- Используй инструменты для получения данных
- Если не знаешь ответ — предложи обратиться в отдел кадров
- Всегда проверяй, о каком сотруднике идёт речь

ОГРАНИЧЕНИЯ:
- НЕ разглашай данные других сотрудников
- НЕ принимай решения за руководителей
- НЕ изменяй данные без подтверждения

ФОРМАТ ОТВЕТА:
- Отвечай кратко и по существу
- Используй списки для перечислений
- Указывай источник данных
```

## Техники улучшения

### 1. Чёткая роль

```
❌ Плохо: "Помогай пользователям"
✅ Хорошо: "Ты — бухгалтер компании, специализируешься на расчётах с поставщиками"
```

### 2. Конкретные задачи

```
❌ Плохо: "Работай с документами"
✅ Хорошо: "Твои задачи:
   - Проверять счета на оплату
   - Создавать заявки на оплату
   - Информировать о статусе платежей"
```

### 3. Примеры

```
ПРИМЕР ДИАЛОГА:

Пользователь: Сколько у меня отпуска?
Агент: Проверяю ваш остаток отпуска...
       [использует инструмент]
       У вас осталось 14 дней отпуска.
       Хотите оформить заявление?
```

### 4. Обработка ошибок

```
ЕСЛИ НЕ МОЖЕШЬ ВЫПОЛНИТЬ ЗАПРОС:
1. Объясни причину
2. Предложи альтернативу
3. Укажи, куда обратиться

Пример: "К сожалению, я не могу изменить данные 
в закрытом периоде. Обратитесь в бухгалтерию 
для ручной корректировки."
```

## Шаблоны промптов

### Информационный агент

```
Ты — информационный помощник компании.

Твоя задача — отвечать на вопросы сотрудников, 
используя доступные инструменты для получения данных.

Правила:
- Отвечай точно и по существу
- Всегда используй инструменты для проверки данных
- Если данных нет — честно сообщи об этом
- Предлагай уточняющие вопросы при неясности

Формат ответа: краткий, структурированный.
```

### Агент-исполнитель

```
Ты — помощник для работы с документами компании.

Ты можешь:
- Создавать заявки и документы
- Изменять существующие документы
- Отменять операции

ВАЖНО: Перед любым изменением данных:
1. Уточни все параметры
2. Покажи, что будет сделано
3. Запроси подтверждение: "Подтвердите создание документа (да/нет)"

Никогда не выполняй действия без явного подтверждения.
```

### Агент поддержки

```
Ты — специалист первой линии поддержки.

Твои задачи:
1. Принять обращение
2. Классифицировать (техническое/организационное/финансовое)
3. Попытаться решить самостоятельно, используя базу знаний
4. Если не можешь решить — направить специалисту

При общении:
- Проявляй эмпатию
- Уточняй детали проблемы
- Предлагай конкретные решения
- Фиксируй результат
```

## Отладка промптов

### Проблема: Агент не использует инструменты

```
Добавьте в промпт:
"ВСЕГДА используй инструменты для получения данных.
НЕ придумывай информацию."
```

### Проблема: Слишком длинные ответы

```
Добавьте в промпт:
"Отвечай КРАТКО — не более 3-4 предложений.
Используй списки вместо абзацев."
```

### Проблема: Агент выходит за рамки роли

```
Добавьте в промпт:
"Ты ТОЛЬКО кадровый специалист.
На вопросы не по теме отвечай:
'Это не входит в мою компетенцию. 
Обратитесь к соответствующему специалисту.'"
```

## Тестирование промптов

### Чек-лист

* [ ] Агент правильно понимает свою роль
* [ ] Агент использует инструменты
* [ ] Агент соблюдает ограничения
* [ ] Ответы понятны пользователям
* [ ] Агент корректно обрабатывает ошибки

## Далее

{% content-ref url="/pages/jVFJXja2lGTIUeyNCObZ" %}
[Настройка триггеров](/ai-platforma-oneapa/razrabotka-agentov/nastrojka-triggerov)
{% endcontent-ref %}


# Настройка триггеров

Руководство по настройке триггеров запуска агентов.

## Обзор триггеров

| Триггер       | Событие          | Пример                    |
| ------------- | ---------------- | ------------------------- |
| Чат           | Сообщение в чате | Пользователь пишет вопрос |
| EMail         | Входящее письмо  | Письмо на support@        |
| API           | HTTP запрос      | POST /api/invoke          |
| БуферОбмена   | Копирование      | Копирование ИНН           |
| ЗаписьОбъекта | Событие 1С       | Создание документа        |

## Триггер "Чат"

### Описание

Самый распространённый триггер — агент запускается при сообщении в чате.

### Настройка

1. Создайте триггер с типом "Чат"
2. Условие не требуется
3. Привяжите к агенту

### Автоматический выбор агента

При нескольких агентах с триггером "Чат":

1. LLM анализирует сообщение
2. Сравнивает с описаниями агентов
3. Выбирает наиболее подходящего

## Триггер "EMail"

### Описание

Агент запускается при получении email.

### Настройка

```json
{
  "to": "support@company.ru",
  "subject_contains": "Заявка"
}
```

### Параметры

| Параметр          | Описание          |
| ----------------- | ----------------- |
| to                | Адрес получателя  |
| from              | Адрес отправителя |
| subject\_contains | Текст в теме      |

### Пример использования

```
Триггер: Обращения в HR
Условие: {"to": "hr@company.ru"}

Агент автоматически:
1. Читает входящее письмо
2. Классифицирует запрос
3. Формирует ответ
4. Отправляет email
```

## Триггер "API"

### Описание

Агент запускается при HTTP запросе.

### Настройка

```json
{
  "endpoint": "/api/agent/hr",
  "method": "POST"
}
```

### Пример вызова

```bash
curl -X POST http://server/api/agent/hr \
  -H "Content-Type: application/json" \
  -d '{"message": "Сколько отпуска у Иванова?"}'
```

## Триггер "Буфер обмена"

### Описание

Агент запускается при копировании текста.

### Настройка

```json
{
  "pattern": "^\\d{10}$"
}
```

### Пример использования

```
Пользователь копирует: 7707083893 (ИНН)
Агент автоматически:
1. Распознаёт ИНН
2. Ищет контрагента
3. Показывает информацию
```

## Триггер "Запись объекта"

### Описание

Агент запускается при записи объекта в 1С.

### Настройка

```json
{
  "object_type": "Документ.ЗаявкаНаОтпуск",
  "event": "ПриЗаписи",
  "new_only": true
}
```

### Параметры

| Параметр     | Описание                          |
| ------------ | --------------------------------- |
| object\_type | Тип объекта                       |
| event        | Событие (ПриЗаписи, ПередЗаписью) |
| new\_only    | Только новые объекты              |

### Пример использования

```
Триггер: Проверка заявки на отпуск
Условие: {
  "object_type": "Документ.ЗаявкаНаОтпуск",
  "event": "ПриЗаписи"
}

При создании заявки агент:
1. Проверяет корректность дат
2. Проверяет остаток отпуска
3. Проверяет пересечения
4. Отправляет уведомление руководителю
```

## Комбинирование триггеров

Агент может иметь несколько триггеров:

```
Агент: Универсальный помощник

Триггеры:
- Чат (основной)
- API (для интеграций)
- EMail (для внешних запросов)
```

## Далее

{% content-ref url="/pages/fasceG3H4bqEEEJ7jWKb" %}
[Лучшие практики](/ai-platforma-oneapa/razrabotka-agentov/luchshie-praktiki)
{% endcontent-ref %}


# Лучшие практики

Рекомендации по разработке качественных агентов.

## Проектирование

### Один агент — одна область

```
✅ Хорошо:
- Кадровый агент (отпуска, командировки)
- Бухгалтерский агент (счета, оплаты)

❌ Плохо:
- Универсальный агент (всё сразу)
```

### Чёткие границы ответственности

```
Кадровый агент:
✅ Отпуска, командировки, справки
❌ Оплата счетов (это бухгалтерия)
❌ Техническая поддержка
```

## Промпты

### Структурируйте промпт

```
1. Роль (кто ты)
2. Задачи (что делаешь)
3. Правила (как делаешь)
4. Ограничения (чего не делаешь)
5. Формат (как отвечаешь)
```

### Используйте примеры

```
ПРИМЕР:
Пользователь: Сколько отпуска?
Ты: [вызываешь инструмент] У вас 14 дней.
```

### Обрабатывайте краевые случаи

```
ЕСЛИ ДАННЫХ НЕТ:
"К сожалению, не нашёл информацию по вашему запросу.
Уточните параметры или обратитесь к специалисту."
```

## Инструменты

### Атомарность

```
✅ Хорошо:
- Получить остаток отпуска
- Создать заявку на отпуск

❌ Плохо:
- Работа с отпусками (слишком общо)
```

### Понятные описания

```
✅ Хорошо:
"Возвращает остаток дней отпуска для сотрудника.
Используй, когда спрашивают об отпуске."

❌ Плохо:
"Отпуск"
```

### Обработка ошибок

```bsl
Попытка
    // Основной код
Исключение
    Возврат Новый Структура("Ошибка", ОписаниеОшибки());
КонецПопытки;
```

## Безопасность

### Подтверждение действий

```
Перед созданием документа:
1. Покажи параметры
2. Запроси подтверждение
3. Только потом создавай
```

### Ограничение доступа

* Добавляйте пользователей к агентам
* Ограничивайте доступность инструментов
* Логируйте все действия

### Валидация данных

```bsl
// Проверяйте входные параметры
Если ПустаяСтрока(Параметры.Сотрудник) Тогда
    Возврат Новый Структура("Ошибка", "Не указан сотрудник");
КонецЕсли;
```

## Производительность

### Оптимизируйте запросы

```bsl
// Используйте индексы
// Ограничивайте выборку
Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 100 ...";
```

### Кэшируйте где возможно

```bsl
// Для редко меняющихся данных
Если ЗначениеЗаполнено(КэшированноеЗначение) Тогда
    Возврат КэшированноеЗначение;
КонецЕсли;
```

### Используйте подходящую модель

| Задача          | Модель      |
| --------------- | ----------- |
| Простые ответы  | GPT-4o-mini |
| Сложный анализ  | GPT-4o      |
| Конфиденциально | Ollama      |

## Тестирование

### Регрессионные тесты

```
Тест 1: Базовый запрос
Тест 2: Запрос с инструментом
Тест 3: Некорректный запрос
Тест 4: Граничные случаи
```

### Тестирование на пользователях

1. Запустите в тестовом режиме
2. Соберите обратную связь
3. Улучшите на основе фидбека

## Мониторинг

### Отслеживайте метрики

* Количество запросов
* Время ответа
* Частота ошибок
* Использование инструментов

### Анализируйте логи

* Неудачные запросы
* Частые ошибки
* Паттерны использования

## Далее

{% content-ref url="/pages/CJ9yzUSQRFkfvGB4Spfm" %}
[Broken mention](broken://pages/CJ9yzUSQRFkfvGB4Spfm)
{% endcontent-ref %}


# Администрирование

Руководство по администрированию платформы OneAPA.

## Содержание раздела

| Страница                                                          | Описание                       |
| ----------------------------------------------------------------- | ------------------------------ |
| [Мониторинг](/ai-platforma-oneapa/administrirovanie/monitoring)   | Отслеживание состояния системы |
| [Логирование](/ai-platforma-oneapa/administrirovanie/logirovanie) | Настройка и анализ логов       |
| [Резервное копирование](broken://pages/7J5EMTq78GIyDeaRESlQ)      | Бэкапы и восстановление        |
| [Обновление](broken://pages/ixUout9lOJKPYCeMJK1q)                 | Процедура обновления           |
| [Масштабирование](broken://pages/bTVGEEqINoV8HswXwGEw)            | Увеличение производительности  |

## Задачи администратора

| Задача                | Периодичность    |
| --------------------- | ---------------- |
| Мониторинг состояния  | Постоянно        |
| Проверка логов        | Ежедневно        |
| Резервное копирование | Ежедневно        |
| Обновление            | По необходимости |
| Оптимизация           | Ежемесячно       |

## Инструменты администрирования

### 1С

* Настройки OneAPA
* Регистр логов инструментов
* Экспорт/импорт агентов

### Proxy-сервер

* Endpoint /health
* Логи контейнера/процесса
* Метрики (при настройке)

### Внешние инструменты

* Docker Dashboard
* Prometheus + Grafana
* ELK Stack

## Далее

{% content-ref url="/pages/lVf66952MPzQogeIx2k3" %}
[Мониторинг](/ai-platforma-oneapa/administrirovanie/monitoring)
{% endcontent-ref %}


# Мониторинг

Руководство по мониторингу системы OneAPA.

## Точки мониторинга

| Компонент      | Что мониторить            |
| -------------- | ------------------------- |
| Proxy-сервер   | Доступность, время ответа |
| LLM провайдеры | Ошибки, лимиты            |
| 1С сервер      | Производительность        |
| Агенты         | Использование, ошибки     |

## Мониторинг Proxy

### Health Check

```bash
# Проверка доступности
curl http://proxy:9000/health

# Ожидаемый ответ
{
  "message": "OK",
  "version": "1.0.1"
}
```

### Автоматическая проверка

```bash
#!/bin/bash
# Скрипт мониторинга

PROXY_URL="http://proxy:9000/health"
ALERT_EMAIL="admin@company.ru"

response=$(curl -s -o /dev/null -w "%{http_code}" $PROXY_URL)

if [ "$response" != "200" ]; then
    echo "OneAPA Proxy недоступен" | mail -s "ALERT: OneAPA" $ALERT_EMAIL
fi
```

### Docker мониторинг

```bash
# Статус контейнера
docker ps --filter "name=oneapa"

# Использование ресурсов
docker stats oneapa-proxy

# Логи
docker logs --tail 100 oneapa-proxy
```

## Метрики

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

| Метрика             | Описание                    | Порог               |
| ------------------- | --------------------------- | ------------------- |
| Время ответа        | Среднее время ответа агента | < 30 сек            |
| Ошибки LLM          | Количество ошибок в час     | < 10                |
| Вызовы инструментов | Количество вызовов          | -                   |
| Активные сессии     | Параллельные диалоги        | Зависит от ресурсов |

### Prometheus

```yaml
# prometheus.yml
scrape_configs:
  - job_name: 'oneapa'
    static_configs:
      - targets: ['proxy:9000']
    metrics_path: /metrics
```

## Мониторинг LLM

### OpenAI

* Проверяйте баланс
* Следите за rate limits
* Мониторьте ошибки 429

### Yandex GPT

* Проверяйте IAM токен (истекает через 12ч)
* Следите за квотами

### Ollama

* Мониторьте использование GPU
* Проверяйте загрузку RAM

## Алерты

### Критические

* Proxy недоступен
* 100% ошибок LLM
* Нет места на диске

### Предупреждения

* Время ответа > 60 сек
* Ошибки > 10% запросов
* Низкий баланс LLM провайдера

## Dashboard

### Grafana пример

```
┌─────────────────────────────────────────────────────────────┐
│                    OneAPA Dashboard                          │
├─────────────────────────────────────────────────────────────┤
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────────┐ │
│ │ Status: ✅  │ │ Requests/h  │ │ Avg Response Time       │ │
│ │   ONLINE    │ │    1,234    │ │      12.5 sec           │ │
│ └─────────────┘ └─────────────┘ └─────────────────────────┘ │
│                                                              │
│ [График запросов за сутки]                                  │
│                                                              │
│ [График ошибок]                                             │
└─────────────────────────────────────────────────────────────┘
```


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

Руководство по настройке и анализу логов OneAPA.

## Источники логов

| Компонент | Логи                         |
| --------- | ---------------------------- |
| 1С        | Регистр APA\_ЛогИнструментов |
| Proxy     | Консоль/файлы                |
| Docker    | docker logs                  |

## Регистр APA\_ЛогИнструментов

### Структура

| Измерение  | Тип          | Описание         |
| ---------- | ------------ | ---------------- |
| Инструмент | Справочник   | Какой инструмент |
| Дата       | ДатаВремя    | Когда вызван     |
| Состояние  | Перечисление | Успешно/Ошибка   |
| Результат  | Строка       | Результат/ошибка |

### Просмотр

```bsl
Запрос = Новый Запрос;
Запрос.Текст = 
"ВЫБРАТЬ
|    Лог.Дата,
|    Лог.Инструмент.Наименование,
|    Лог.Состояние,
|    Лог.Результат
|ИЗ
|    РегистрСведений.APA_ЛогИнструментов КАК Лог
|ГДЕ
|    Лог.Дата >= &Дата
|УПОРЯДОЧИТЬ ПО
|    Лог.Дата УБЫВ";
Запрос.УстановитьПараметр("Дата", НачалоДня(ТекущаяДата()));
```

## Логи Proxy

### Уровни логирования

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

### Настройка

```python
# logging_config.py
import logging

logging.basicConfig(
    level=logging.INFO,
    format='%(asctime)s - %(name)s - %(levelname)s - %(message)s'
)
```

### Просмотр

```bash
# Docker
docker logs oneapa-proxy

# Следить в реальном времени
docker logs -f oneapa-proxy

# Последние 100 строк
docker logs --tail 100 oneapa-proxy
```

## Анализ логов

### Поиск ошибок

```bash
# Поиск ошибок
docker logs oneapa-proxy 2>&1 | grep -i error

# Ошибки за период
docker logs --since 1h oneapa-proxy 2>&1 | grep -i error
```

### Анализ производительности

```bash
# Медленные запросы (если логируется время)
docker logs oneapa-proxy | grep "duration" | awk '$NF > 30'
```

## Централизованное логирование

### ELK Stack

```yaml
# docker-compose.yml
services:
  proxy:
    logging:
      driver: "fluentd"
      options:
        fluentd-address: "fluentd:24224"
```

## Рекомендации

| Среда        | Уровень | Хранение |
| ------------ | ------- | -------- |
| Разработка   | DEBUG   | 1 день   |
| Тестирование | INFO    | 7 дней   |
| Production   | WARNING | 30 дней  |


# Устранение неполадок

Руководство по диагностике и устранению проблем в OneAPA.

## Содержание раздела

| Страница                                                                               | Описание                    |
| -------------------------------------------------------------------------------------- | --------------------------- |
| [Ошибки LLM](/ai-platforma-oneapa/ustranenie-nepoladok/oshibki-llm)                    | Проблемы с LLM провайдерами |
| [Ошибки инструментов](/ai-platforma-oneapa/ustranenie-nepoladok/oshibki-instrumentov)  | Проблемы выполнения         |
| [Ошибки подключения](/ai-platforma-oneapa/ustranenie-nepoladok/oshibki-podklyucheniya) | Сетевые проблемы            |
| [FAQ](/ai-platforma-oneapa/ustranenie-nepoladok/faq)                                   | Часто задаваемые вопросы    |

## Общий подход к диагностике

### 1. Определите компонент

```
┌─────────────────────────────────────────────────────────────┐
│                    ДИАГНОСТИКА                               │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│  Агент не отвечает?                                          │
│       │                                                      │
│       ├── Proxy недоступен? → Ошибки подключения            │
│       │                                                      │
│       ├── LLM возвращает ошибку? → Ошибки LLM               │
│       │                                                      │
│       └── Инструмент не работает? → Ошибки инструментов     │
│                                                              │
└─────────────────────────────────────────────────────────────┘
```

### 2. Проверьте логи

* Логи Proxy: `docker logs oneapa-proxy`
* Логи 1С: регистр APA\_ЛогИнструментов

### 3. Изолируйте проблему

* Работает ли health check?
* Работают ли другие агенты?
* Работает ли агент без инструментов?

## Быстрая диагностика

| Симптом         | Вероятная причина   | Решение           |
| --------------- | ------------------- | ----------------- |
| Нет ответа      | Proxy не запущен    | Запустите Proxy   |
| Таймаут         | Медленный LLM       | Увеличьте таймаут |
| 401 ошибка      | Неверный API ключ   | Проверьте ключ    |
| Агент не найден | Не синхронизировано | Обмен с Proxy     |

## Инструменты диагностики

### Health Check

```bash
curl http://proxy:9000/health
```

### Тест подключения к LLM

Создайте простого агента без инструментов и отправьте "Привет".

### Проверка инструмента

Вызовите инструмент напрямую через код 1С.

## Далее

{% content-ref url="/pages/Hxk67aS6x0KJLzURPWsT" %}
[Ошибки LLM](/ai-platforma-oneapa/ustranenie-nepoladok/oshibki-llm)
{% endcontent-ref %}


# Ошибки LLM

Диагностика и устранение проблем с LLM провайдерами.

## Общие ошибки

### 401 Unauthorized

**Причина:** Неверный API ключ

**Решение:**

1. Проверьте API ключ в справочнике "Модели"
2. Убедитесь, что ключ актуален
3. Создайте новый ключ при необходимости

### 429 Too Many Requests

**Причина:** Превышен лимит запросов

**Решение:**

1. Подождите и повторите
2. Увеличьте tier (пополнив счёт)
3. Используйте rate limiting

### 500 Internal Server Error

**Причина:** Ошибка на стороне провайдера

**Решение:**

1. Подождите несколько минут
2. Проверьте статус провайдера
3. Попробуйте другую модель

### Timeout

**Причина:** Превышено время ожидания

**Решение:**

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

## OpenAI

### Ошибка "Invalid API key"

```
Проверьте:
- Ключ начинается с "sk-"
- Ключ не деактивирован
- Баланс положительный
```

### Ошибка "Model not found"

```
Проверьте:
- Правильное имя модели (gpt-4o, не gpt4o)
- Доступ к модели (некоторые требуют одобрения)
```

## Yandex GPT

### Ошибка авторизации

```
Проверьте:
- IAM токен не истёк (срок 12 часов)
- Правильный folder_id
- Сервис активирован в каталоге
```

### Обновление IAM токена

```bash
yc iam create-token
```

## Ollama

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

```
Проверьте:
- Ollama запущен: ollama serve
- Правильный URL: http://localhost:11434
- Порт не занят
```

### Модель не найдена

```bash
# Проверьте загруженные модели
ollama list

# Загрузите модель
ollama pull llama3
```

## Диагностика

### Тест подключения

```bash
# OpenAI
curl https://api.openai.com/v1/models \
  -H "Authorization: Bearer sk-..."

# Ollama
curl http://localhost:11434/api/tags
```

### Проверка в логах

```bash
docker logs oneapa-proxy | grep -i "error\|exception"
```


# Ошибки инструментов

Диагностика и устранение проблем с инструментами.

## Типичные ошибки

### Инструмент не вызывается

**Симптом:** Агент отвечает, но не использует инструмент

**Причины и решения:**

| Причина              | Решение                              |
| -------------------- | ------------------------------------ |
| Не добавлен в агента | Добавьте на вкладке "Инструменты"    |
| Не синхронизировано  | Выполните "Обмен с Proxy"            |
| Плохое описание      | Улучшите описание инструмента        |
| LLM не понимает      | Укажите в промпте когда использовать |

### Ошибка выполнения кода

**Симптом:** Инструмент вызывается, но возвращает ошибку

**Диагностика:**

1. Проверьте регистр APA\_ЛогИнструментов
2. Найдите запись с ошибкой
3. Изучите текст ошибки

**Типичные ошибки кода:**

```
Ошибка: "Переменная не определена"
→ Проверьте имена переменных

Ошибка: "Объект не найден"
→ Проверьте существование справочника/документа

Ошибка: "Недостаточно прав"
→ Проверьте права пользователя
```

### Таймаут инструмента

**Причина:** Инструмент выполняется слишком долго

**Решения:**

1. Оптимизируйте код (индексы, ограничения)
2. Увеличьте таймаут в настройках
3. Разбейте на несколько инструментов

### Неверные параметры

**Симптом:** Инструмент получает неверные значения

**Решения:**

1. Проверьте имена параметров (ИмяEn)
2. Улучшите описания параметров
3. Добавьте примеры в описание

## Отладка

### Проверка кода

```bsl
// Выполните код инструмента вручную
Параметры = Новый Структура("employee", "Иванов");

// Код инструмента
ФИО = Параметры.employee;
// ...

Сообщить(Результат);
```

### Логирование в инструменте

```bsl
// Добавьте логирование
ЗаписьЖурнала.Записать("APA_Debug", 
    "Параметры: " + СериализоватьJSON(Параметры));

// Основной код
...

ЗаписьЖурнала.Записать("APA_Debug", 
    "Результат: " + СериализоватьJSON(Результат));
```

### Тестовый вызов

Создайте агента только с одним инструментом и попросите его явно использовать:

```
Используй инструмент "Получить остаток" для сотрудника Иванов
```


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

Диагностика и устранение сетевых проблем.

## 1С не подключается к Proxy

### Симптомы

* Ошибка при проверке подключения
* Ошибка при обмене с Proxy
* Таймаут при отправке сообщения

### Диагностика

```bash
# С сервера 1С проверьте доступность Proxy
curl http://proxy:9000/health

# Если не работает - проверьте:
# 1. Proxy запущен
# 2. Правильный IP/hostname
# 3. Порт открыт
```

### Решения

| Причина          | Решение                        |
| ---------------- | ------------------------------ |
| Proxy не запущен | `docker start oneapa-proxy`    |
| Неверный URL     | Проверьте настройки в 1С       |
| Firewall         | Откройте порт 9000             |
| Разные сети      | Используйте IP вместо hostname |

## Proxy не подключается к LLM

### Симптомы

* Ошибки в логах Proxy
* Timeout при запросе к агенту

### Диагностика

```bash
# Из контейнера Proxy проверьте доступ к API
docker exec oneapa-proxy curl https://api.openai.com/v1/models \
  -H "Authorization: Bearer sk-..."
```

### Решения

| Причина       | Решение                    |
| ------------- | -------------------------- |
| Нет интернета | Проверьте сеть контейнера  |
| Прокси-сервер | Настройте HTTP\_PROXY      |
| DNS           | Проверьте DNS в контейнере |

## Proxy не подключается к 1С

### Симптомы

* Инструменты не выполняются
* Ошибка "Connection refused"

### Диагностика

```bash
# Из Proxy проверьте доступ к 1С HTTP сервису
curl http://1c-server/hs/oneapa/tools
```

### Решения

| Причина                    | Решение                    |
| -------------------------- | -------------------------- |
| HTTP сервис не опубликован | Опубликуйте в 1С           |
| Неверный URL               | Проверьте toolsendpoint    |
| Авторизация                | Настройте доступ к сервису |

## Проверка сети

### Между компонентами

```
1С → Proxy:
  curl http://proxy:9000/health

Proxy → LLM:
  curl https://api.openai.com/v1/models

Proxy → 1С:
  curl http://1c/hs/oneapa/tools
```

### Firewall

```bash
# Linux
sudo iptables -L | grep 9000

# Windows
netsh firewall show state
```

## Типичные конфигурации

### Всё на одном сервере

```
1С: localhost
Proxy: localhost:9000
```

### Раздельные серверы

```
1С: 192.168.1.10
Proxy: 192.168.1.20:9000
URL в 1С: http://192.168.1.20:9000
toolsendpoint: http://192.168.1.10/hs/oneapa/tools
```


# FAQ

Часто задаваемые вопросы о OneAPA.

## Общие вопросы

### Что такое OneAPA?

OneAPA — платформа low-code разработки ИИ агентов на базе 1С:Предприятие с поддержкой множества LLM провайдеров.

### Какие LLM провайдеры поддерживаются?

* OpenAI (GPT-4o, o1, o3)
* Yandex GPT
* OpenRouter (множество моделей)
* Ollama (локальные модели)
* Sber GigaChat

### Можно ли работать без интернета?

Да, при использовании Ollama все компоненты работают локально.

## Установка

### Какая версия 1С требуется?

1С:Предприятие 8.3.20 и выше.

### Можно ли установить на Linux?

Да, Proxy-сервер работает на любой ОС. 1С должен быть установлен на поддерживаемой платформе.

### Нужен ли GPU для Ollama?

Рекомендуется, но не обязательно. Без GPU модели работают на CPU (медленнее).

## Настройка

### Как часто обновлять IAM токен Yandex?

Каждые 12 часов. Рекомендуется настроить автоматическое обновление.

### Сколько агентов можно создать?

Ограничений нет. Количество зависит от ваших задач.

### Как ограничить доступ к агенту?

Добавьте пользователей на вкладку "Пользователи" агента. Пустой список означает доступ для всех.

## Разработка

### Как создать инструмент?

1. Справочник "Инструменты" → Создать
2. Напишите описание
3. Напишите код на 1С
4. Добавьте параметры
5. Добавьте инструмент в агента

### Почему агент не использует инструмент?

* Инструмент не добавлен в агента
* Не выполнен обмен с Proxy
* Плохое описание инструмента
* LLM не понимает когда использовать

### Как улучшить качество ответов?

* Используйте более мощную модель (GPT-4o)
* Улучшите системный промпт
* Добавьте примеры в промпт
* Используйте RAG для базы знаний

## Проблемы

### Агент не отвечает

1. Проверьте health check: `curl http://proxy:9000/health`
2. Проверьте логи: `docker logs oneapa-proxy`
3. Проверьте настройки модели
4. Выполните обмен с Proxy

### Ошибка 401

Неверный API ключ. Проверьте ключ в настройках модели.

### Таймаут

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

### Инструмент возвращает ошибку

1. Проверьте регистр APA\_ЛогИнструментов
2. Найдите текст ошибки
3. Исправьте код инструмента

## Безопасность

### Куда уходят данные?

При использовании облачных провайдеров (OpenAI, Yandex) данные передаются им. При использовании Ollama — данные остаются локально.

### Как защитить API ключи?

* Храните в справочнике 1С (не в коде)
* Используйте переменные окружения для Proxy
* Не публикуйте в репозиториях

### Соответствует ли OneAPA ФЗ-152?

При использовании Ollama (On-Premise) и хранении данных в РФ — да.

## Производительность

### Сколько пользователей поддерживается?

Зависит от оборудования и провайдера. Ориентировочно:

* 1 инстанс Proxy: 10-50 одновременных пользователей
* Кластер: 100+ пользователей

### Как ускорить ответы?

* Используйте более быструю модель (GPT-4o-mini)
* Оптимизируйте инструменты
* Добавьте ресурсы (CPU, RAM)
* Масштабируйте горизонтально


# RPA платформа OneRPA

RPA (Robotic Process Automation, РПА, Роботизированная Автоматизация Процессов)— технология на платформе 1С, предназначенная для автоматизации процессов, укладывающихся в описываемые алгоритмы. Как правило, такие процессы связаны с работой сотрудников с информацией: сбором, консолидацией, поиском, разносом, переносом и т.п. Ознакомиться с кейсами использования RPA, [можно на нашем сайте.](https://onerpa.ru/video)

![](/files/-M7Yy-YGrb5GZXDhrl3Y)


# Установка и использование

Информация об установке и эксплуатации OneRPA

{% content-ref url="/pages/YHhRH33I8bFKIgGoacUk" %}
[Функциональные характеристики](/rpa-platforma-onerpa/ustanovka-i-ispolzovanie/funkcionalnye-kharakteristiki)
{% endcontent-ref %}

{% content-ref url="/pages/CeoiEeL0Tli06jPd2T1z" %}
[Установка и настройка](/rpa-platforma-onerpa/ustanovka-i-ispolzovanie/ustanovka-i-nastroika)
{% endcontent-ref %}

{% content-ref url="/pages/6ztk0WL69B2jNKQJzbsn" %}
[Жизненный цикл, поддержка, особенности эксплуатации](/rpa-platforma-onerpa/ustanovka-i-ispolzovanie/zhiznennyi-cikl-podderzhka-osobennosti-ekspluatacii)
{% endcontent-ref %}


# Функциональные характеристики

**OneRPA** - платформа роботизации бизнес процессов, основное назначение которой избавить пользователей от рутины. Используя платформу OneRPA можно создавать программных роботов, которые могут выполнять за сотрудников их повторяющуюся каждодневную работу. Программный робот отличается от классических средств автоматизации главным образом подходом, в основе которого лежит взаимодействие робота непосредственно с рабочим столом конечного пользователя, т.е. робот имитирует действия пользователя (движение мышью, набор текста с клавиатуры и т.п.) для выполнения его работы. Этим объясняется гибкость решений на основе программных роботов, что позволяет им решать практически любые задачи. Добавление отдельных элементов технологий ИИ существенно расширяет этот перечень задач.

К базовым функциям OneRPA можно отнести следующие:

* [Конструктор программных роботов](/rpa-platforma-onerpa/ustanovka-i-ispolzovanie/rukovodstvo-polzovatelya/konstruktor-programmnykh-robotov). Low-code среда для разработки роботов
* [Выполнение программных роботов](/rpa-platforma-onerpa/ustanovka-i-ispolzovanie/rukovodstvo-polzovatelya/vypolnenie-programmnykh-robotov) (для выполнения роботов не обязательно иметь доступ к их конструктору)
* Настройка расписания или условий и событий запуска роботов
* Добавление новых шаблонов действий в конструктор программных роботов
* Функции отладки программных роботов
* [Логирование выполнения программных роботов и оповещение об ошибках при их выполнении](/rpa-platforma-onerpa/ustanovka-i-ispolzovanie/rukovodstvo-polzovatelya/logirovanie-vypolneniya-programmnykh-robotov-i-opoveshenie-ob-oshibkakh-pri-ikh-vypolnenii)
* Отчетность о выполнении роботов и результатах их выполнения
* Централизованный сервис управления заданиями на запуск роботам

Дополнительные функции OneRPA, реализующиеся за счёт шаблонов действий можно перечислить следующие:

* Автоматизация приложений 1С
* Средства компьютерного зрения (Computer vision или CV)
* Работа с почтой, FTP, HTTP
* Работа со средствами машинного обучения
* Работа с приложениями MS Office
* Распознавание документов (OCR)
* Работа с Web интерфейсом
* Использование средств Yandex.Cloud
* Работа с интерфейсом Windows
* Базовые блоки программирования
* Работа с системными скриптами
* Работа с файловой системой

Полная функциональность доступна в среде MS Windows, но большинство функций доступно также в Linux (Ubuntu, Astra) и MacOS.

При работе с платформой OneRPA пользователю также доступны все функциональные возможности, предоставляемые платформой 1С:Предприятие. С перечнем которых можно ознакомиться на официальном сайте: <https://v8.1c.ru/platforma/>

Платформа OneRPA также может работать на основе ФСТЭК сертифицированной версии платформы 1С:Предпритие Z <https://consulting.1c.ru/news/40624.html>

Платформа OneRPA поддерживает русский и английский языки интерфейса.


# Установка и настройка

Для работы платформы OneRPA система должна удовлетворять требованиям установки платформы 1С:Предприятие: <https://v8.1c.ru/tekhnologii/sistemnye-trebovaniya-1s-predpriyatiya-8/> Если кратко, то OC Windows 7 + 2012 сервер +, Astra или Ubuntu Linux (суммарный перечень существенно шире).

Установка OneRPA включает в себя 3 этапа:

1\) Установка платформы 1С:Предприятие (если ещё не установлена)

2\) Установка дополнительных компонент

3\) Добавление информационной базы OneRPA

При использовании облачной версии платформы OneRPA или при настройке демоверсии этап (3) пропускается.

## **Этап 1.**

Для нормальной работы платформы OneRPA необходима платформа 1С:Предприятие редакции не ниже 8.3.19. Для работы необходим только **тонкий клиент** платформы.

Скачать тонкий клиент нужной версии можно с официального сайта 1С: <https://online.1c.ru/catalog/free/>

Для подключения к облачной версии платформы OneRPA или использования демоверсии тонкий клиент проще скачать по ссылке <https://files.onerpa.ru/setuptc_8_3_19_838.zip>

Скачанный файл нужно разархивировать и запустить setup.exe:

![](/files/plABCBihBucFbzDTzrLu)

Нажимаем "Далее" как в текущем так и во всех последующих окнах. В последнем окне нажимаем "Установить".

![](/files/kmeyC7XgaJC06UoyeXYF)

## **Этап 2.**

Скачать компоненты можно по ссылке: [**https://files.onerpa.ru/OneRPAComponents.zip**](https://files.onerpa.ru/OneRPAComponents.zip)

Далее разархивируем и запускаем установщик:

![](/files/ygPW1gZa2yLEZruzcZ4H)

На 1-м этапе выбираем каталог для установки и нажимаем "далее".

На следующем этапе просто нажимаем "Установить".

![](/files/NDN1y5cFcOtCFH5PFmiX)

В процессе установки система может запросить установку ".NET framework".

В конце установки система проверяет установлен ли у вас браузер Google Chrome.

Если он не установлен, то появится предупреждение:

![](/files/3oSgdtwZCxRCsrkjpkpG)

В этом случае нужно скачать и установить браузер Google Chrome по ссылке: <https://www.google.com/chrome/>

Если же Chrome в системе установлен, то откроется страница установки расширения: <https://chrome.google.com/webstore/detail/selectorshub-xpath-plugin/ndgimibanhlabgdgjcpbbndiehljcpfh?hl=ru>

Это расширение Chrome очень полезно для использования средств Web Automation в OneRPA, но его установка, как и установка Googe Chrome вцелом опциональная история. Если вы не планируете использование OneRPA для Web Automation, то установку Chrome и расширения можно пропустить.

## Этап 3.

Этот этап будет отличаться в зависимости от типа установки:

* Локальная
* Облачная
* Демо

Нужно запустить установленный на Этапе 1 тонкий клиент 1С:Предприятия,

и в появившемся окне выбрать "добавить информационную базу".

![](/files/Z9XYyYFDSLATmH3xLAd4)

Для локального использования нужно выбрать "создание новой информационной базы"

Для подключения Демо версии или использования облачной версии нужно выбрать "добавление в список существующей информационной базы"

![](/files/8SOJC0CPpsGGDjxa1IqQ)

В появившемся окне нужно указать называние информационной базы и её адрес.

Для демо версии адрес базы вам будет предоставлен после запроса демо версии, для облачной версии адрес информационной базы будет вам предоставлен вам после оплаты доступа.

![](/files/c9y33UkSlrWK2LEYGTeL)

В следующем окне мы ничего не меняем, просто нажимаем кнопку "готово":

![](/files/c9y33UkSlrWK2LEYGTeL)

Для запуска OneRPA нужно запустить платформу 1С:Предприятие, выбрать в списке добавленную ранее информационную базу и запустить "1С предприятие":

![](/files/kME62Kpi2vcmBmDUOXBn)

Для использования локальной версии платформы OneRPA необходима установка полной версии платформы "1С:Предприятие" а не только тонкого клиента. В этом случае при добавлении в список информационной базы нужно выбрать пункт "создание новой информационной базы" указать файловый или клиент-серверный вариант, далее создать новую базу для разработки и в неё загрузить выгрузку, которая будет предоставлена Вам после оплаты.

Локальное использование платформы OneRPA также требует как минимум одной лицензии на 1С:Предприятие. Так или иначе, локальное использование платформы роботизации рекомендовано для целей безопасности в случае если роботам предстоит взаимодействовать с системами содержащими конфиденциальную информацию.


# Жизненный цикл, поддержка, особенности эксплуатации

## Жизненный цикл OneRPA

Поставка OneRPA состоит из нескольких компонент:

* Облачная база на платформе 1С:Предприятие или локальная выгрузка информационной базы
* Платформа "1С:Предприятие"
* Компоненты для взаимодействия с рабочим столом или Web приложением

Номер версии OneRPA формируется согласно рекомендациям Системы стандартов и методик разработки конфигураций для платформы 1С:Предприятие 8 (Раздел Создание и изменение объектов метаданных, глава Учет версий конфигураций: <https://its.1c.ru/db/v8std#content:483:hdoc>):

● Для стабильных версий очередной редакции ПО принято обозначение вида «Р.П», где Р и П — номер редакции и номер подредакции соответственно, например 1.6, 2.3 и т.п. Нумерация начинается с номера «1.0».

● Версии с незначительными обновлениями или срочными обновлениями обозначаются номерами в формате «Р.П.В.С.», где Р - номер редакции, П - номер подредации, В - номер версии, С - номер сборки.

Для локальной установки выпуск стабильных версий производится с периодичностью раз в год без автоматического обновления. Облачные версии обновляются автоматически с периодичностью не реже раза в год.

При обновлении версии публикуются также изменения документации

● Документ с описанием истории изменений

● Обновленные руководства пользователя и другой сопроводительной документации.

## Типовой регламент технической поддержки

### Условия предоставления услуг технической поддержки

Услуги поддержки оказываются индивидуально для каждого заказчика в рамках приобретенного заказчиком пакета программ поддержки. В приоритетном режиме рассматриваются заявки о проблемах, блокирующих работу заказчика в программном продукте OneRPA.

### Каналы доставки заявок в техническую поддержку

Техническая поддержка оказывается по электронной почте посредством отправки заявки на адрес <info@onerpa.ru>, либо по телефону +7 (499) 719-55-81.

### Выполнение заявок на техническую поддержку

Заказчик при подаче заявки на техническую поддержку придерживается правила — одной заявке соответствует одна проблема. В случае возникновения при выполнении заявки новых вопросов или проблем, по ним открываются новые заявки.

Заказчик при подаче заявки на техническую поддержку указывает следующие сведения:

● описание проблемы;

● скриншот (при наличии);

● технические детали.

### Порядок выполнения работ по оказанию технической поддержки

Каждый запрос в службу технической поддержки обрабатывается следующим образом:

1\. Каждому запросу присваивается уникальный идентификатор во внутренней системе управления заявками и назначаются исполнители заявки и ее приоритет.

2\. Специалист технической поддержки сообщает заказчику идентификатор запроса, присвоенный при его регистрации.

3\. Зарегистрированный запрос обрабатывается и выполняется согласно установленной системе приоритетов. Действия специалистов исполнителя по выполнению запроса документируются во внутренней системе управления заявками на техническую поддержку

4\. Исполнитель предоставляет заказчику варианты решения возникшей проблемы согласно содержанию заявки.

5\. Заказчик обязуется выполнять все рекомендации и предоставлять необходимую дополнительную информацию специалистам исполнителя для своевременного решения проблемы, указанной в заявке.

### Закрытие заявок в техническую поддержку

После доставки ответа заявка считается завершенной, и находится в таком состоянии до получения подтверждения от заказчика о решении инцидента. В случае аргументированного несогласия заказчика с завершением заявки, выполнение заявки продолжается.

Завершенная заявка переходит в состояние “Закрыта” после получения исполнителем подтверждения от заказчика о решении запроса. В случае отсутствия ответа заказчика о завершении заявки в течение 10 рабочих дней, она считается автоматически закрытой. Закрытие заявки может инициировать заказчик, если надобность в ответе на заявку пропала.

## Контактная информация производителя программного продукта

### Юридическая информация

Информация о юридическом лице компании:

● Название: ВЦ "Альфа-Софт", ООО

● Юр. адрес : г. Новосибирск, ул. Кирова, д. 86, эт 1, ОФИС 187, 189

● ОГРНИП: 1155476067097

● ИНН: 5403006420

### Контактная информация службы технической поддержки

Связаться со специалистами службы технической поддержки можно одним из следующих способов:

● Телефон: 8 (499) 719-55-81

● Email: <info@onerpa.ru>

Фактический адрес размещения инфраструктуры разработки: 109456, г.Москва, Рязанский проспект, д. 75 корпус 4

Фактический адрес размещения разработчиков: 109456, г.Москва, Рязанский проспект, д. 75 корпус 4

Фактический адрес размещения службы поддержки: 109456, г.Москва, Рязанский проспект, д. 75 корпус 4


# Требования к квалификации специалистов

Платформа OneRPA предоставляет средства для создания, выполнения, анализа выполнения программных роботов. Соответственно, существуют разные варианты использования платформы, в зависимости от которых меняются требования к квалификации персонала, который будет работать с платформой. Условно, все требования можно разделить на 3 категории:

1\) Требования к пользователю платформы

2\) Требования к разработчикам программных роботов

3\) Требования к администратору платформы (в случае OnPremise установки)

4\) Требования к специалисту технической поддержки

Нужно также учитывать что в основе платформы OneRPA лежит технологический стек 1С. Соответственно, знания платформы 1С:Предприятие на пользовательском уровне (подразумевает наличие опыта работы хотя бы с одним каким-либо прикладным решением на платформе 1С) будет крайне полезен.

1\) Пользователь платформы:

* Никаких существенных требований не предъявляется. Базовых навыков работы с компьютером достаточно для выполнения программных роботов

2\) Разработчик программных роботов

* Желательно базовое знание платформы 1С:Предприятие на уровне пользователя
* Желательно языком разработки 1С (крайне желательно) либо Python, либо C#, либо JavaScript.
* Базовое представление о работе Web технологий (HTML/CSS)
* Если нет опыта владения языком разработки - представление об алгоритмах и структурах данных (циклы, массивы, условия)

3\) Администратор платформы

* Опыт администрирования серверных решений на платформе 1С:Предприятие

4\) Специалист технической поддержи

* Базовые знания платформы 1С:Предприятие на уровне пользователя (могут быть подтверждены сертификацией "1С:Профессионал" по платформе 1С:Предприятие)
* Базовые технические знания в администрировании Windows или Linux систем (в зависимости от ОС основной инсталляции

Специалист уровня "администратор платформы" необходим только при наличии серверной установки платформы, что обычно подразумевает более 10 активных соединений с сервером платформы. Чаще всего в этом случае в организации уже присутствуют специалисты нужной квалификации.

Уровень владения языками программирования, перечисленными выше, необходимый для разработчика роботов на платформе OneRPA можно оценить как "элементарный". Достаточно знание синтаксиса, базовых конструкций и стандартных операторов языков.

Более детальная информация о навыках разработчиков 1С и администраторов 1С размещена непосредственно на ресурсах фирмы 1С ([ ](https://its.1c.ru/db/v8321doc/bookmark/dev)<https://its.1c.ru/db/v8321doc/bookmark/dev> и <https://its.1c.ru/db/v8321doc/bookmark/adm> соответственно)


# Руководство пользователя


# Конструктор программных роботов

Основным инструментом создания новых или редактирования ранее созданных программных роботов существует low-code графическая среда: конструктор роботов. Интерфейс конструктора состоит из двух главных полей. Слева расположен список со всеми доступными шаблонами этапов. Справа графическая схема робота.

Шаблоны этапов – это строительные блоки, простые действия, из которых шаг за шагом вы создаёте робота любой сложности.

Графическая схема проектируемого робота. Здесь наглядно видно, из каких действий состоит робот и в какой последовательности они будут выполнятся.

В левом верхнем углу конструктора находится поле Робот. Здесь вы можете выбрать сохраненного ранее робота или создать нового, нажав зеленый плюсик.

![](/files/SVvvgkr6uxrN90ExAVS1)

После того, как вы выбрали или создали нового робота, выбирайте необходимые шаблоны этапов и выстраивайте их нужной последовательности. Для сохранения робота, нажмите кнопку «Сохранить».

![](/files/NSw9pAsKKRYkDSJGoHwk)

Рассмотрим подробнее форму одного из шаблонов этапов. Наиболее важным для нас является вкладка «Значения параметров». У каждого шаблона этапа список параметров свой. (Подробное описание набора параметров для каждого шаблона этапов смотрите в [документации](https://docs.onerpa.ru/rpa-platforma-onerpa/shablony-etapov)). Корректная настройка этих параметров является важной частью успешного создания робота. Для связи разных этапов робота параметры бывают входящие и исходящие. Входящие параметры могут задаваться отдельно, а могут быть получены из предыдущих этапов – исходящих параметров.

![](/files/hc3Bpldjcdyk3cTaR0t1)

После того, как робот собран, вы можете проверить его работу. Для этого нажмите кнопку «Выполнить». Робот будет запущен на выполнение. Текущий этап будет подсвечен синей рамкой.

![](/files/VoBIRphCm1oW4neKupu6)

Если робот завершится успешно, платформа OneRPA сообщит вам об этом. Если же возникнет ошибка, внизу будет выведено сообщение и красной рамкой подсвечен не отработавший этап.


# Выполнение программных роботов

Платформа OneRPA предоставляет широкие возможности не только для создания роботов, но и для их запуска. Возможна как единичная установка OneRPA на клиентский компьютер. Так и установка платформы на нескольких машинах и последующая связь их в единое информационное пространство. Это дает возможность копирования созданных на одном компьютере роботов на другие.

Для загрузки или выгрузки роботов предусмотрена обработка «Выгрузка/загрузка роботов». Она позволяет выгрузить одного или несколько роботов из агента и передать их описание в формате JSON или XML на другой агент.

![](/files/CQ3e3WyoSdsqpXKv89hS)

Машины, на которых роботы выполняются, называются **агентами**. Машина, которая служит для:

· назначения роботов конкретному агенту на исполнение,

· координации работы агентов,

· исполнения роботов по расписанию или по определенным условиям

называется **оркестратором**.

**Задание на исполнение** - это назначения роботов конкретному агенту на исполнение оркестратором.

Существует следующие варианты запуска роботов на исполнение:

· вручную из консоли роботов. Пользователь вручную инициирует запуск робота, выбрав его из списка и нажав кнопку «Выполнить»

![](/files/bIHFMDIOvmKDa7ZQLg6M)

• создать задание на запуск роботов. Здесь нужно придумать уникальное наименование для задания. Выбрать агента для выполнения: имя компьютера, где будет запущен робот. Выбрать робота. Создать расписание: нажмите кнопку «Заполнить расписание». Откроется новая форма, где вы можете настроить период, время и частоту, когда будет выполнятся робот.

![](/files/hNctpLt5HJOpkA9ASFMu)


# Логирование выполнения программных роботов и оповещение об ошибках при их выполнении

Все возникшие ошибки выполнения роботов сохраняются в «Лог ошибок выполнения роботов» на агенте. Этот журнал содержит поля:

· Период. Дата и время, когда возникла ошибка

· Робот. Наименование робота, в котором возникла ошибка

· Агент

· Информация об ошибке. Полная техническая информация и описание причин ошибки.

![](/files/KBcHRR0n8YVGiEEShHsv)

Платформа OneRPA позволяет настроить отправку уведомлений на e-mail или по HTTP. Это возможно в разделе «Настройка уведомлений об ошибках». Нажмите кнопку «Создать». Откроется форма создания новой конфигурации уведомлений. Введите название для вашего уведомления. Отметьте галочкой, какой вид уведомлений хотите настроить. Например: отправлять на почту. Здесь нужно заполнить поля:

· Адрес ЭП отправителя. Укажите email, с которого будут отправляться уведомления.

· Имя пользователя. Чтобы залогинится в почтовый ящик

· Пароль

После заполнения реквизитов шапки, нажмите кнопку «Добавить» для внесения адресов email получателей. Получателей может быть несколько.


# Устранение неисправностей

1\. Неполадки при установке платформы OneRPA

Неполадки при установке платформы OneRPA могут возникнуть на одном из трех этапов:

· при установке платформы 1С:Предприятие. В этом случае обратите внимание, удовлетворяет ли конфигурация вашей рабочей станции минимальным техническим требованиям, установленными фирмой 1С. Ознакомится с ними можно [здесь](https://v8.1c.ru/tekhnologii/sistemnye-trebovaniya-1s-predpriyatiya-8/). Также необходимо наличие свободных лицензий 1С.

· при установке дополнительных компонент. Дополнительные компоненты необходимы для работы со свободно распространяемым программным продуктом распознавания текста Tesseract © и других бесплатных вспомогательных инструментов. Если на этом этапе возникают ошибки, обратитесь в техническую поддержку.

· при добавлении информационной базы OneRPA. Прочтите внимательно этот [раздел по добавлению информационной базы](https://docs.onerpa.ru/rpa-platforma-onerpa/ustanovka-i-ispolzovanie/rukovodstvo-polzovatelya/pages/CeoiEeL0Tli06jPd2T1z#etap-3.). Если вы подключаетесь к облачной базе необходимо указать ее URL. Если URL указан верно, проверьте ваши настройки сети, настройки прокси-сервера и подключение к Интернет.

2\. Неполадки при отладке или выполнении роботов.

Для отслеживания ошибок, возникающих при отладке и последующем выполнении роботов, в платформе OneRPA предусмотрено внесение подробной информации в журнал ошибок (логирование). А также возможность настройки уведомлений о возникших ошибках на e-mail или в мессенджер. Подробнее можно ознакомится [здесь](/rpa-platforma-onerpa/ustanovka-i-ispolzovanie/rukovodstvo-polzovatelya/logirovanie-vypolneniya-programmnykh-robotov-i-opoveshenie-ob-oshibkakh-pri-ikh-vypolnenii).

3\. Неполадки, связанные со сторонним программным обеспечением. Если ошибки возникают по причине некорректной работы сторонних программных продуктов, пожалуйста обратитесь в соответствующую службу поддержки.

4\. Неполадки при подключении к оркестратору. Если неисправность связана с неверным адресом оркестратора, убедитесь, что адрес оркестратора указан верно. Или ваш компьютер подключен к сети.

В случае обнаружения ошибок в работе OneRPA (поведение системы не соответствует описанному в документации) администратор ПО может направить заявку в службу технической поддержки OneRPA. Специалист службы поддержки проверяет, при необходимости уточняет детали, проверяет наличие ошибки и рекомендаций по ее устранению в базе знаний технической поддержки. В случае, если в базе знаний обнаружить описание ошибки не удается, он пытается воспроизвести обнаруженную пользователем ошибку в тестовой среде. После подтверждения найденной ошибки специалист OneRPA передает разработчикам ПО задание на устранение обнаруженной ошибки. После устранения неисправности разработчики ПО выпускают обновление к текущей версии ПО или включают исправление в следующую версию ПО. Информация о наличии обновления или новой версии ПО доводится до клиентов OneRPA. В случае наличия у Клиента контракта или договора на поддержку ПО, Заказчик имеет право на получение обновления ПО.

### Контактная информация службы технической поддержки

Связаться со специалистами службы технической поддержки можно одним из следующих способов:

● Телефон: 8 (499) 719-55-81

● Email: <info@onerpa.ru>

Фактический адрес размещения инфраструктуры разработки: 109456, г.Москва, Рязанский проспект, д. 75 корпус 4

Фактический адрес размещения разработчиков: 109456, г.Москва, Рязанский проспект, д. 75 корпус 4

Фактический адрес размещения службы поддержки: 109456, г.Москва, Рязанский проспект, д. 75 корпус 4


# Техническая поддержка

### Контактная информация службы технической поддержки

Связаться со специалистами службы технической поддержки можно одним из следующих способов:

● Телефон: 8 (499) 719-55-81

● Email: <info@onerpa.ru>

Фактический адрес размещения инфраструктуры разработки: 109456, г.Москва, Рязанский проспект, д. 75 корпус 4

Фактический адрес размещения разработчиков: 109456, г.Москва, Рязанский проспект, д. 75 корпус 4

Фактический адрес размещения службы поддержки: 109456, г.Москва, Рязанский проспект, д. 75 корпус 4

### Общие положения

1. Текущие правила определяют основные условия оказания технической поддержки клиентам платформы OneRPA.
2. Право на техническую поддержку имеют исключительно те клиенты, которые являются пользователями программного обеспечения OneRPA.
3. Специалисты отдела технической поддержки могут **отказать** клиенту в консультации в случае, если он (клиент) не придерживается правил этикета общения по отношению к сотруднику компании или не по назначению использует любое ПО платформы OneRPA.

#### Правила оказания услуг технической поддержки

1. Наши сотрудники консультируют по техническим вопросам только тех пользователей, которые работают с платформой OneRPA.
2. Получить консультацию сотрудников отдела технической поддержки можно по электронной почте, телефону или через онлайн-чат.
3. Время работы сотрудников отдела технической поддержки - с 9 по 17 по Москве.
4. Специалисты отдела технической поддержки обрабатывают только те запросы клиентов, которые касаются продукта OneRPA.
5. Ответ на письменный запрос клиента дается в течение 72 часов с момента его попадания к сотруднику отдела поддержки. Ответы на телефонные звонки даются устно в течение 3-5 мин.
6. Как клиент, так и сотрудник отдела технической поддержки, каждый со своей стороны, должны придерживаться общепринятых норм этикета.
7. Качество оказанной клиенту консультации зависит от информации о проблеме, предоставленной пользователем сотруднику технической поддержки.

#### Условия предоставления бесплатной технической поддержки

Бесплатная техническая поддержка предоставляется:

* Всем клиентам на протяжении года после приобретения программного обеспечения.
* Клиентам, которые купили программу более года назад и выявили грубую ошибку ("баг") в работе программы.

Эти ограничения для клиентов действуют потому, что сотрудникам отдела технической поддержки поступает много косвенных и сторонних вопросов, абсолютно не касающихся программного обеспечения OneRPA.

Если со дня покупки программы прошло более 1 года, то клиент имеет право на бесплатную техническую поддержку лишь после приобретения программных обновлений.

Вышеописанные условия предоставления бесплатной технической консультации действуют только для клиентов наших программных продуктов. Пользователи онлайн-сервисов имеют право на бесплатную техническую поддержку, пока они являются подписчиками сервисов OneRPA.


# Контактная информация службы технической поддержки

Связаться со специалистами службы технической поддержки можно одним из следующих способов:

● Телефон: 8 (499) 719-55-81

● Email: <info@onerpa.ru>

Фактический адрес размещения инфраструктуры разработки:

109456, г.Москва, Рязанский проспект, д. 75 корпус 4

Фактический адрес размещения разработчиков: 109456, г.Москва, Рязанский проспект, д. 75 корпус 4

Фактический адрес размещения службы поддержки: 109456, г.Москва, Рязанский проспект, д. 75 корпус 4


# Совершенствование программного обеспечения

Работа по совершенствованию ПО включает в себя два основных направления:

* повышение качества и надежности ПО;
* актуализация перечня функций, поддерживаемых ПО.

В ходе постоянно проводимой работы по совершенствованию ПО используются хорошо зарекомендовавшие себя методы повышения качества и надежности ПО:

* совершенствование процесса разработки ПО – повышение качества ПО за счет использования современных методик и инструментов разработки;
* совершенствование процесса тестирования ПО – обеспечение необходимой полноты покрытия.

Актуализация перечня функций, поддерживаемых ПО, включает в себя:

* добавление новых и изменение существующих функций в соответствии со стратегией развития ПО;
* добавление новых и изменение существующих функций по предложениям Заказчиков и партнеров производителя ПО;
* исключение устаревших функций.


# Конструктор роботов

Система предназначена для автоматизации бизнес-процессов путем построения цепочек взаимодействия функциональных областей по примеру работы сотрудников организации.

![](/files/-M7Yq5Mb-c3aovcGI7oK)

Основным инструментом данной платформы является "Конструктор роботов" в котором предоставляется возможность реализовать любого робота используя уже реализованный шаблоны этапов.

К описанию прилагается [видео](https://youtu.be/LbupFVnonVs) по использованию "Конструктора роботов" для создания простого робота.

#### Шаблоны этапов

Список шаблонов отображается в правом окне "Конструктора роботов" и содержит большинство распространенных этапов взаимодействия с приложениями и системой. Шаблоны этапов сгруппированы, что позволяет быстро ориентироваться между ними.

![](/files/-M7YreyOlHd8dV36ivqm)

В правом окне конструктора роботов находится поле графического отображения блоков этапов вашего робота. Для того, чтобы перенести этап из шаблона в блоки этапов достаточно дважды кликнуть по шаблону, после чего откроется окно ввода значения параметров и блок отобразится в поле блоков.

![](/files/-M7Yt0uJEX8WEGzLL6DB)

Каждый шаблон этапа может иметь различный набор параметров, которые описаны [здесь](https://app.gitbook.com/@comol/s/onerpa/rpa-platforma-onerpa/shablony-etapov).

Так же **реализована возможность голосового ввода блоков** по наименованию. Для того, чтобы запустить запись создания робота голосом необходимо нажать кнопку старта. После нажатия система инициализирует устройство ввода (микрофон) и начнет запись. Для завершения необходимо нажать на эту же кнопку.

Пример создания робота [голосовым помощником](https://youtu.be/G4on-_hN0zc).

![](/files/-M7YvXJX2dCKqfn1-leK)

#### Сохранение и проверка робота

После того, как создание робота было завершено необходимо нажать кнопку "Сохранить".

![](/files/-M7Yu3wpvFhnIuBc4PtA)

Для того, чтобы проверить созданного робота над списком шаблонов этапов расположена панель действия робота в которой можно выполнить следующие действия:

* Выполнить
* Пауза
* Остановить

![](/files/-M7YufAhYKcDMx_J6-bP)


# Шаблоны этапов

Шаблоны этапов - это методы, применяя которые можно взаимодействовать с любым типов информации начиная от текста, заканчивая изображением.

В данной системе основными группами шаблонов являются:

* 1С - методы взаимодействия с платформой 1С;
* Computer vision - методы использующие компьютерное зрение;
* FTP, HTTP, E-mail - методы позволяющие работать с запросами во вне и письмами;
* MS office - методы позволяющие работать с продуктами Microsoft;
* OCR - методы позволяющие распознать текст на изображении;
* Web интерфейс - методы позволяющие взаимодействовать с веб-страницами;
* Интерфейс Windows - методы использующие операционную систему Windows;
* Программирование - методы позволяющие алгоритмировать робота.
* Роботы - стандартные методы робота;
* Системные скрипты - методы использующие скрипты взаимодействия с системой;
* Файловая система - методы позволяющие работать с файловой системой.

#### Создание шаблона этапов

Помимо возможности использовать уже имеющиеся шаблоны этапов, которых вполне достаточно для практически для любой задачи автоматизации можно написать нужный этап самостоятельно.

Для этого нужно в подменю "RPA" перейти в раздел "Шаблоны этапов" и создать элемент справочника.

![](/files/-M7d3Lafh8Vnm_VREUH_)

Необходимо указать поля "Наименование", "Тип этапа" и значения на вкладках "Параметры", "Условия", "Код" и при необходимости "Описание".

Типы этапов бывают:

* Действие - предполагает какое-либо действие с необходимой системой;
* Ветвление - позволяет выполнить разделение на действия;
* Цикл - позволяет циклически выполнить действие.

Вкладка "Условия" появляется при выборе типа "Ветвление".

На вкладке "Параметры" необходимо создать записи, которые в дальнейшем будут использоваться при работе с данным шаблоном этапов. Они могут быть использованы в коде описывающем действие шаблона и заполняться пользователем при необходимости.

На вкладке "Условия" необходимо создать записи с условиями выполнения кода ветвления.

На вкладке "Описание" расположено текстовое поле в котором можно указать принцип работы создаваемого шаблона этапов, что поможет быстрее разобраться с ним другим пользователям.

На вкладке "Код" необходимо записать исполняемый код, который описывает взаимодействие этапа с внешней системой.

![](/files/-M7d78vddJTpOmuHZzHz)


# SAP

Работа с UiScript SAP

Для работы с UiScript SAP необходимо выполнить простые действия:

воспользоваться шаблоном этапа "Выполнить UI Script",

В появившемся окне нажать кнопку "редактировать UI Script":

![](/files/q0G7qteD92YHMUYoHOEl)

В появившемся окне вставить записанный из SAP UIScript. Как записать UiScrip рассказано ниже


# Запись UI действий в SAP

В главном меню "SAP Easy Access" выбрать "Customize Local Layout",

затем - Script Recording and playback:

![](/files/iYPHzmqDZXzW2zGkjC3t)

В появившемся окне нужно выбрать файл для сохранения скрипта и нажать на кнопку "записать":

![](/files/6vuGrYQwte8E61HPh4uW)

Выполняйте действия, которые необходимо роботизировать. По завершении нажмите "остановить". Записанные действия будут сохранены в файл. Скопируйте записанные действия из файла.


# Шаблоны этапов 1С

![](/files/-M7cyCBJXMzLpxGpApdh)

Данная группа шаблонов предоставляет возможность пользователю создать робота взаимодействующего с решениями на базе платформы 1С.

Группа содержит три основных части "Интеграция", "Работа с записанными действиями" и "Работа с объектами 1С".

**Часть "Интеграция"** позволяет получить объект из формата EnterpriseData и сохранить объект в формате EnterpriseData.

Для облегчения интеграции с программными продуктами фирмы «1С» разработан формат обмена данными EnterpriseData. Формат основан на XML и является бизнес-ориентированным — описанные в нем структуры данных соответствуют бизнес-сущностям (документам и элементам справочников), представленным в программах «1С», например: акт выполненных работ, приходный кассовый ордер, контрагент, договор и т. п. Это делает формат интуитивно понятным и легким в использовании.

Пример перевода объекта 1С в формат EnterpriseData и схема взаимодействия представлены ниже.

![](/files/-M7dOX27fmOa-MW0qUPM)

![](/files/-M7dOkg5yl9hkPzTjUeJ)

![](/files/-M7dP1z0ITxhu-4B4yIL)

**Часть "Работа с записанными действиями"** позволяет совершать действия с информационными базами.

Для работы этой частью в дополнительных параметрах запуска необходимо прописать параметр "/TESTMANAGER"/.

**Часть "Работа с объектами 1С"** позволяет взаимодействовать с обработками и отчетами, включая внешними, открывать формы нового и уже существующего объекта, создавать и заполнять объект, выполнять код.

Описание кейса записи работы пользователя и взаимодействия с объектами 1С можно посмотреть на [видео](https://youtu.be/ZsuN2km2mf8).


# Шаблоны этапов Computer vision

![](/files/-M7dCGuo-TqOxRtfgzuS)

* [Ждать рисунок](/rpa-platforma-onerpa/shablony-etapov/shablony-etapov-web-interfeisa/upravlenie-brauzerom/pereiti-na-url)
* Клик по рисунку
* Сделать скриншот


# Ждать рисунок


# Page 1


# Page 2


# Шаблоны этапов FTP, HTTP, E-mail

![](/files/qA3LKmSfYJuZ29nddrph)

Шаблоны этапов предназначены для автоматизации работы с электронной почтой, отправкой и получением файлов по FTP, а также для отправки HTTP-запросов.

Шаблоны для работы с электронной почтой:

* [Отправить письмо](/rpa-platforma-onerpa/shablony-etapov/shablony-etapov-ftp-http-e-mail/shablony-e-mail/otpravit-pismo)
* [Получить письма](/rpa-platforma-onerpa/shablony-etapov/shablony-etapov-ftp-http-e-mail/shablony-e-mail/poluchit-pisma)
* [Сохранить вложения](/rpa-platforma-onerpa/shablony-etapov/shablony-etapov-ftp-http-e-mail/shablony-e-mail/sokhranit-vlozheniya)

Шаблоны для работы с FTP:

* Выгрузить файл на FTP
* Загрузить файл с FTP

Шаблоны для работы с HTTP протоколом

* Отправить HTTP запрос


# Шаблоны E-mail

Шаблоны этапов для работы с электронной почтой выполняют важную функцию как в составе сложных роботов для получения файлов или другой информации, так и как самостоятельная единица для автоматизации рутинных и объемных работ с электронной почтой. Например: отправка списком коммерческих предложений для клиентов, или отправка пачек счетов на оплату, или автоматическое получение писем и их вложений, и многое другое.

Для автоматизации работы с электронной почтой и ее вложениями, в платформе OneRPA существует три шаблона:

[Видео с примером тестового робота](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M6ZxAmaxODS4CigF0WD%2Fuploads%2Fn0aLeIU318duDOP0Cs4E%2F%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%20%D1%81%20e-mail.mp4?alt=media\&token=3433577c-bb74-4ade-b56f-075ae60e850e), демонстрирующего работу всех трех шаблонов этапов вместе.

* [Получить письма](/rpa-platforma-onerpa/shablony-etapov/shablony-etapov-ftp-http-e-mail/shablony-e-mail/poluchit-pisma)
* [Отправить письмо](/rpa-platforma-onerpa/shablony-etapov/shablony-etapov-ftp-http-e-mail/shablony-e-mail/otpravit-pismo)
* [Сохранить вложения](/rpa-platforma-onerpa/shablony-etapov/shablony-etapov-ftp-http-e-mail/shablony-e-mail/sokhranit-vlozheniya)

![](/files/u26h34tXa8EvgM6vfcnL)


# Отправить письмо

![](/files/7Hr5eWKPCoQjUkAcA3aW)

Шаблон этапа "Отправить письмо" необходим для имитации формирования и отправки электронного письма с одного почтового адреса на другой. В шаблоне присутствуют следующие параметры:

* почтовый адрес отправителя: здесь указывается полностью адрес, с которого будет выполнена отправка письма.
* имя отправителя: эта строка будет отображаться у получателя в графе "имя отправителя"
* пароль: чтобы выполнить отправку с указанного адреса-отправителя, необходимо указать пароль, под которым вы заходите в почту. Это обязательно, иначе письмо не будет сформировано и отправлено.
* адрес получателя: необходимо указать полностью и точно адрес электронного ящика получателя.
* имя получателя: указывать не обязательно
* тема письма: тот текст, который будет видеть получатель как заголовок письма, или тему
* текст письма: текст сообщения, которое вы хотите изложить в письме.
* каталог вложений письма: полный путь до папки на компьютере, файлы из которой будут прикреплены к письму в качестве вложений.


# Получить письма

![](/files/MnqICruFdz2SUid7qyo5)

Шаблон этапа "Получить письма" предназначен для того, чтобы получить одно или несколько электронных писем с одного ящика, по определенным отборам. Например на конкретную дату, или все письма до нужной вам даты, или письма в диапазоне дат. Вы можете задать нужное количество вам писем. Например, только первые 5 из всех писем за один день. Это определяется параметром "Количество писем".

Давайте подробнее рассмотрим параметры шаблона.

Почтовый сервер: здесь строкой указывается сервер. Можно указать строку, которую вы пишите в строке браузера для доступа к почте

Имя пользователя: это то имя, которое увидит получатель вашего письма.

E-mail пользователя: почтовый ящик, из которого будут извлекаться письма

Пароль: от почтового ящика

!!!параметры отбора JSON: указывается в виде строки JSON. Без фигурных скобок! Так как показано на рисунке. При этом тип выражения оставляем пустым. Если указать "Экранировать кавычки" будет вызвана ошибка

Отсортировать массив писем с конца: как сортировать список писем прежде, чем окончательно произвести отбор писем. Нужно, если вам необходимо выбрать письма более поздние по времени в рамках одной даты.

Количество писем. Выбрать первые 5, или 7, или сколько вам необходимо.

Массив писем. - Исходящий. Это все письма, которые мы получим на выходе.


# Сохранить вложения

![](/files/55PsHei55e5y8g3FGPHA)

Шаблон этапа "Сохранить вложения" выбирает вложения из письма и сохраняет их в указанную локальную папку на компьютере. Этот шаблон работает в связке с шаблоном этапа "Получить письма", так как мы можем сохранить вложения только из конкретно указанных писем.

Шаблон включает следующие параметры:

* Массив писем. Здесь обязательно указывается этап "Получить письма". Из него получается массив писем, выгруженных с почтового сервера.
* Каталог вложений. Здесь указывается полный путь до локальной папки на компьютере, куда будут сохранятся файлы-вложения.
* Наименование файла. префикс, который будет подставляться к именам всех файлов, в начало имени.
* Вид сохраняемых файлов. Тип расширения файлов, которые будут сохранятся из списка вложений письма. Например, в письме во вложениях есть файлы .pdf и файлы .xls. Если мы укажем .pdf, то будут сохранены только файлы с расширением .pdf


# Шаблоны FTP


# Выгрузить файл на FTP

![](/files/8rcegidUlopGVBG0vQto)

Данный шаблон этапа существует для выгрузки (отправки) файлов на FTP. К примеру, в результате работы робота, формируется файл, который надо передать дальше на обработку. Этот шаблон имитирует отправку пользователем файла на файлообменник. Шаблон имеет следующие параметры:

* JSON параметры подключения. Все параметры подключения к ftp прописываются в одной строке, в формате JSON. Указывается в виде строки JSON. Без фигурных скобок! Так как показано на рисунке. При этом тип выражения оставляем пустым. Если указать "Экранировать кавычки" будет вызвана ошибка.
* Полный путь к файлу. Здесь указывается путь до файла и имя самого файла с расширением.
* Каталог FTP. Указывается имя папки на FTP-сервере, куда мы отправляем файл.


# Загрузить файл с FTP

![](/files/5Rwh3GnS7l4yyMNRcBRS)

Данный шаблон этапа существует для загрузки (получения) файла с FTP. К примеру, в результате для дальнейшей работы робота, необходим файл. Этот шаблон имитирует загрузку пользователем файла с файлообменник. Шаблон имеет следующие параметры:

* JSON параметры подключения. Все параметры подключения к ftp прописываются в одной строке, в формате JSON. Указывается в виде строки JSON. Без фигурных скобок! Так как показано на рисунке. При этом тип выражения оставляем пустым. Если указать "Экранировать кавычки" будет вызвана ошибка.
* Полный путь к файлу. Здесь указывается путь до файла и имя самого файла с расширением.
* Каталог FTP. Указывается имя папки на FTP-сервере, куда мы отправляем файл.


# Шаблоны HTTP


# Отправить HTTP запрос

![](/files/MBnQDfUSdNvNhx8l0aWZ)

Для отправки HTTP-запроса и обработки полученного от сервера ответа и служит данный шаблон этапа. Шаблон имеет следующие параметры:

* HTTP Ссылка. URL ресурса в Интернете
* Код ответа сервера. Исходящий параметр. Закодированная информация об успешном или неуспешном и по какой причине ответе сервера. Список кодов ответа сервера:

1. Информационные 100 - 199
2. Успешные 200 - 299
3. Перенаправления 300 - 399
4. Клиентские ошибки 400 - 499
5. Серверные ошибки 500 - 599

* Имя файла. Исходящий параметр.


# Шаблоны этапов Mashine Learning

![](/files/1VFTriC7xgZm50HoblB2)


# Шаблоны этапов MS Office

![](/files/KVpkRDXVlH6uw0KNN0K4)

Шаблоны этапов для работы с файлами Excel разных форматов представляют весь необходимый набор действий и являются важной частью всех шаблонов платформы OneRPA. Шаблоны этапов позволяют оперировать как с объектами Excel: книги, листы книги. Так и с уровнями группировок, диапазонами ячеек и отдельно взятыми ячейками. Вы можете даже считать данные из файла, не открывая сам файл и не получая лист книги при помощи интересного шаблона "Считать данные c Excel". Раздел включает в себя следующие шаблоны:

* [Вставить из буфера диапазон ячеек](/rpa-platforma-onerpa/shablony-etapov/shablony-etapov-ms-office/excel/vstavit-iz-bufera-diapazon-yacheek)
* [Вставить формулу в диапазон ячеек](/rpa-platforma-onerpa/shablony-etapov/shablony-etapov-ms-office/excel/vstavit-formulu-v-diapazon-yacheek)
* [Выделить диапазон ячеек](/rpa-platforma-onerpa/shablony-etapov/shablony-etapov-ms-office/excel/vydelit-diapazon-yacheek)
* [Вырезать диапазон ячеек](/rpa-platforma-onerpa/shablony-etapov/shablony-etapov-ms-office/excel/vyrezat-diapazon-yacheek)
* [Закрыть объект Excel](/rpa-platforma-onerpa/shablony-etapov/shablony-etapov-ms-office/excel/zakryt-obekt-excel)
* [Заменить подстроку в выделенном диапазоне ячеек](/rpa-platforma-onerpa/shablony-etapov/shablony-etapov-ms-office/excel/zamenit-podstroku-v-vydelennom-diapazone-yacheek)
* [Копировать диапазон ячеек](/rpa-platforma-onerpa/shablony-etapov/shablony-etapov-ms-office/excel/kopirovat-diapazon-yacheek)
* [Копировать лист книги excel](/rpa-platforma-onerpa/shablony-etapov/shablony-etapov-ms-office/excel/kopirovat-list-knigi-excel)
* [Открыть файл excel](/rpa-platforma-onerpa/shablony-etapov/shablony-etapov-ms-office/excel/otkryt-fail-excel)
* [Очистить выделенный диапазон ячеек](/rpa-platforma-onerpa/shablony-etapov/shablony-etapov-ms-office/excel/ochistit-vydelennyi-diapazon-yacheek)
* [Получить значение уровня группировки строки листа](/rpa-platforma-onerpa/shablony-etapov/shablony-etapov-ms-office/excel/poluchit-znachenie-urovnya-gruppirovki-stroki-lista)
* [Получить значение ячейки листа](/rpa-platforma-onerpa/shablony-etapov/shablony-etapov-ms-office/excel/poluchit-znachenie-yacheiki-lista)
* [Получить лист книги excel](/rpa-platforma-onerpa/shablony-etapov/shablony-etapov-ms-office/excel/poluchit-list-knigi-excel)
* [Получить объект Excel](/rpa-platforma-onerpa/shablony-etapov/shablony-etapov-ms-office/excel/poluchit-obekt-excel)
* [Сохранить лист в файл](/rpa-platforma-onerpa/shablony-etapov/shablony-etapov-ms-office/excel/sokhranit-list-v-fail)
* [Считать данные c Excel](/rpa-platforma-onerpa/shablony-etapov/shablony-etapov-ms-office/excel/schitat-dannye-c-excel)
* [Удалить диапазон ячеек](/rpa-platforma-onerpa/shablony-etapov/shablony-etapov-ms-office/excel/udalit-diapazon-yacheek)
* [Установить значение ячейки листа](/rpa-platforma-onerpa/shablony-etapov/shablony-etapov-ms-office/excel/ustanovit-znachenie-yacheiki-lista)
* [Установить значения ячеек диапазона](/rpa-platforma-onerpa/shablony-etapov/shablony-etapov-ms-office/excel/ustanovit-znacheniya-yacheek-diapazona)
* [Установить значения ячеек исходного диапазона в заданный диапазон](/rpa-platforma-onerpa/shablony-etapov/shablony-etapov-ms-office/excel/ustanovit-znacheniya-yacheek-iskhodnogo-diapazona-v-zadannyi-diapazon)
* [Установить наименование листа](/rpa-platforma-onerpa/shablony-etapov/shablony-etapov-ms-office/excel/ustanovit-naimenovanie-lista)
* [Установить уровень группировок строк листа](/rpa-platforma-onerpa/shablony-etapov/shablony-etapov-ms-office/excel/ustanovit-uroven-gruppirovok-strok-lista)
* [Установить формат ячеек диапазона](/rpa-platforma-onerpa/shablony-etapov/shablony-etapov-ms-office/excel/ustanovit-format-yacheek-diapazona)


# Excel


# Вставить из буфера диапазон ячеек

![](/files/5ZRSxZPCikrV5SBJBblr)

Данный шаблон этапа предназначен для вставки уже находящегося в буфере обмена значений в указанный диапазон ячеек для файла excel. Диапазон ячеек указывается 4 значениями: строка первой (левой-верхней) ячейки, столбец первой ячейки, строка последней (или правой-нижней) ячейки, столбец последней ячейки. Шаблон содержит единственный параметр:

* Выделенный диапазон ячеек листа книги Excel. Описание диапазона из 4 значений.

![](/files/YwOvr779B9lnOGQpXOey)


# Вставить формулу в диапазон ячеек

![](/files/8l8eUPwGhF96Tmj4PsFN)

Этот шаблон этапа нужен для вставки одной и той же формулы для целого диапазона ячеек. К примеру, в файле счета указано количество и цена для одной единицы товара. Необходимо посчитать итоговую сумму для указанного количества товара в каждой строке. В файле могут быть сотни строк. Чтобы быстро произвести эту операцию, существует этот этап. Шаблон включает следующие параметры:

* Лист книги Excel. Номер или имя выбранного листа
* Адрес диапазона ячеек листа книги Excel. Диапазон ячеек указывается 4 значениями: строка первой (левой-верхней) ячейки, столбец первой ячейки, строка последней (или правой-нижней) ячейки, столбец последней ячейки.
* Формула для вставки в диапазон ячеек листа книги Excel


# Выделить диапазон ячеек

![](/files/11SGH0iwAd4rPp6w8pQm)

Данный шаблон этапа позволяет скопировать в работу диапазон ячеек из файла вместе со всеми содержащимися в указанном диапазоне значениями: формулами, числами, датами, строками итд. Шаблон содержит следующие параметры:

* Объект Excel. Контекст выбранного на предыдущих этапах файла.
* Лист книги Excel. Номер или имя выбранного для работы листа книги
* Адрес диапазона ячеек листа книги Excel. Диапазон ячеек указывается 4 значениями: строка первой (левой-верхней) ячейки, столбец первой ячейки, строка последней (или правой-нижней) ячейки, столбец последней ячейки.
* Выделенный диапазон ячеек листа книги Excel. Исходящий параметр. Для дальнейшей работы на следующих этапах робота.


# Вырезать диапазон ячеек

![](/files/nU2ApKMItJcnTqv3Y1lT)

Данный шаблон этапа позволяет скопировать в работу диапазон ячеек из файла вместе со всеми содержащимися в указанном диапазоне значениями: формулами, числами, датами, строками итд. **Но в файле excel все значения из диапазона будут УДАЛЕНЫ!** Шаблон содержит единственный параметр:

* Выделенный диапазон ячеек листа книги Excel. Диапазон ячеек указывается 4 значениями: строка первой (левой-верхней) ячейки, столбец первой ячейки, строка последней (или правой-нижней) ячейки, столбец последней ячейки.


# Закрыть объект Excel

![](/files/nUYjBU82x17svdxVD28W)

Данный шаблон этапа нужен для корректного закрытия файла (книга) и программы (объект) Excel. Этап позволяет завершить работу программы Excel корректно, избегая утечек памяти и незавершенных, висящих в оперативной памяти процессов. Их можно отследить через диспетчер задач Windows. Шаблон включает следующие параметры:

* Объект Excel. Необходимо в колонке Этап выбрать шаблон типа "Получить объект Excel"
* Книга Excel. Необходимо в колонке Этап выбрать шаблон типа "Открыть файл excel"


# Заменить подстроку в выделенном диапазоне ячеек

![](/files/Q2z6Rs7d0BVWsrBOZbYY)

Данный шаблон этапа нужен для замены в выделенном диапазоне ячеек одного значения другим. Например, нужно число 5 заменить на 10. Или некую подстроку заменить на другую подстроку. Шаблон аналогичен команде Ctrl + H

![](/files/AKnS5j4gqTAq4FdrWuzs)

Шаблон включает следующие параметры:

* Выделенный диапазон ячеек листа книги Excel. Диапазон ячеек указывается 4 значениями: строка первой (левой-верхней) ячейки, столбец первой ячейки, строка последней (или правой-нижней) ячейки, столбец последней ячейки.
* Значение поиска. Что заменить
* Значение замены. На что заменить найденную строку


# Копировать диапазон ячеек

![](/files/CMn6eFZnChfKYFOyVndQ)

Данный шаблон этапа позволяет скопировать в работу диапазон ячеек из файла вместе со всеми содержащимися в указанном диапазоне значениями: формулами, числами, датами, строками итд. Шаблон содержит единственный параметр:

* Выделенный диапазон ячеек листа книги Excel. Диапазон ячеек указывается 4 значениями: строка первой (левой-верхней) ячейки, столбец первой ячейки, строка последней (или правой-нижней) ячейки, столбец последней ячейки.


# Копировать лист книги excel

![](/files/1XgZGETXUljL1OsSa5ob)

Данный шаблон этапа нужен для копирования одного листа в книге до или после определенного листа той же книги. Шаблон включает следующие параметры:

* Копируемый лист книги Excel. Номер или имя копируемого листа книги
* Лист около которого надо вставить копию исходного листа книги Excel. Номер или имя листа книги
* Вставить копию до (истина) или после (ложь) листа вставки. Если указать ИСТИНА(да), то копируемый лист будет помещен ДО указанного во втором параметре листа книги. Если же указана ЛОЖЬ(нет), то копируемый лист будет помещен ПОСЛЕ.
* Скопированный лист книги Excel. Исходящее значение. Передается на вход другого этапа скопированный лист из книги


# Открыть файл excel

![](/files/d2ltZvIWgLaURGiZ1hRX)

Данный шаблон этапа нужен, чтобы в уже запущенной программе открыть конкретный файл Excel. возможно открытие файла разных форматов, доступных для установленной на клиентской машине версии программы Excel. Обязательно указание Объекта excel. Шаблон имеет следующие параметры:

* Объект Excel. Контекст программы Excel. (ID процесса в диспетчере задач). Получаем с предыдущего этапа, заданного шаблоном Получить объект Excel.
* Путь к файлу. Полный путь к файлу, включая все каталоги. Возможен быстрый ввод информации при помощи кнопки Выбрать файл. откроется проводник Windows.
* Книга Excel. Исходящий параметр. После открытия файла, получаем объект книги Excel. И передаем этот контекст в следующий этап, как по каскаду.


# Очистить выделенный диапазон ячеек

![](/files/ZJAyC6ouELHww5eyQC7h)

Данный шаблон этапа нужен для очистки от всех значений и формул выделенного диапазона ячеек листа. Шаблон содержит единственный параметр:

* Выделенный диапазон ячеек листа книги Excel. Диапазон ячеек указывается 4 значениями: строка первой (левой-верхней) ячейки, столбец первой ячейки, строка последней (или правой-нижней) ячейки, столбец последней ячейки.


# Получить значение уровня группировки строки листа

![](/files/9fl1Nap4jeKq7FfhBLBJ)

Данный шаблон этапа необходим для получения значения, которое содержится в строках, являющихся группировкой. Шаблон включает следующие параметры:

* Лист книги Excel. Номер или имя выбранного для работы листа книги
* Номер Строки листа книги Excel
* Уровень группировки строки листа. Исходящий параметр. Это значение может быть использовано на последующих этапах робота, чтобы *по-разному* обработать разные группы, входящие в один лист.


# Получить значение ячейки листа

![](/files/W9fxbaRJ9LjJOUoIYD67)

Данный шаблон этапа нужен для точечной работы с каждым значением ячейки по отдельности. Шаблон включает следующие параметры:

* Лист книги Excel. Номер или имя выбранного для работы листа книги
* Строка ячейки активного листа. Номер строки, в которой находится ячейка (пример показан на картинке ниже)
* Столбец ячейки листа. Номер столбца/колонки ячейки.
* Значение ячейки листа. Исходящий параметр. Нужен для дальнейшей обработки в работе робота. Содержит полученное значение ячейки: число, строку, дату итд

![](/files/GDJMlgyUhuD702U9zL22)


# Получить лист книги excel

![](/files/J6vGUvwh55phHM69jB9w)

Данный шаблон нужен, чтобы получить определенный лист из книги Excel. По умолчанию, это первый лист. Но в книге может быть несколько листов. И мы можем получить любой из них для дальнейшей работы уже непосредственно с данными, представленными в ячейках листа. Шаблон имеет следующие параметры:

* Книга Excel. Этот параметр указывается с одного из предыдущих этапов типа Открыть файл excel.
* Номер или наименование листа. ID листа, с которым мы будем в дальнейшем работать.
* Лист книги Excel. Исходящий параметр. Нужен для передачи на следующие этапы контекста выбранного листа.


# Получить объект Excel

![](/files/1czz0pgaOyX4Mr2SHYXO)

Данный шаблон является самым начальным в цепочке работы с excel. Он вызывает саму программу Excel. И собственно, больше ничего. Шаблон имеет следующие параметры:

* Сделать видимым. Имеет тип Булево. То есть у параметра возможны только 2 значения: Истина и Ложь. По умолчанию стоит Ложь. То есть окно программы НЕ будет отображаться, будет невидимым, хотя сам процесс Excel запуститься.
* Объект Excel. Исходящий параметр. Контекст Excel, который передается на вход других шаблонов, связанных с работой с данным сеансом Excel. Необходимо указывать на входе каждого шаблона Excel, чтобы получить именно этот контекст Excel.




---

[Next Page](/llms-full.txt/1)

