> For the complete documentation index, see [llms.txt](https://docs.onerpa.ru/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.onerpa.ru/mcp-servery-1c/servery/templates-search-server/redaktirovanie-shablonov.md).

# Редактирование шаблонов

TemplatesSearchServer предоставляет веб-интерфейс для управления шаблонами и проектной памятью.

## Доступ к интерфейсу

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

| Раздел  | URL                                   |
| ------- | ------------------------------------- |
| Шаблоны | `http://localhost:8004/extend/`       |
| Память  | `http://localhost:8004/extend/memory` |

## Доступ и безопасность

Чтение и поиск доступны без учётных данных. Любая изменяющая операция — создание, редактирование и удаление шаблона или заметки — требует:

* входа через `/extend/login`;
* разрешения `create`, `edit` или `delete`;
* CSRF-токена формы.

Для одного оператора задайте `ADMIN_USERNAME`, `ADMIN_PASSWORD` и, желательно, стойкий `ADMIN_SESSION_SECRET`. Для нескольких — `ADMIN_USERS` в формате `имя:пароль:разрешения;...`. Без credentials изменяющие запросы отклоняются. `ADMIN_ALLOW_UNAUTHENTICATED=true` намеренно отключает защиту и допустим только как осознанный небезопасный opt-in в изолированном окружении.

Публикуйте порт на loopback (`127.0.0.1:8004:8004`) либо ставьте перед сервером защищённый reverse proxy с TLS и сетевыми ограничениями.

## Управление шаблонами

### Просмотр и поиск

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

### Редактирование

* Изменение кода шаблона
* Редактирование описания

### Создание новых

* Добавление собственных шаблонов через форму
* Автоматическая индексация для поиска

### Удаление

* Удаление шаблонов с автоматическим обновлением индекса

## Управление памятью

Раздел «Память» (`/extend/memory`) предназначен для работы с проектными заметками — решениями, наблюдениями и фактами, которые ИИ сохраняет через инструмент `remember`.

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

* Просмотр всех заметок (новые сверху)
* Семантический поиск по заметкам
* Добавление заметок вручную
* Удаление заметок

## Структура шаблона

Каждый шаблон содержит:

| Поле     | Описание                                     |
| -------- | -------------------------------------------- |
| ID       | Уникальный идентификатор (числовой)          |
| Описание | Для чего используется шаблон, ключевые слова |
| Код      | Исходный код на языке 1С                     |

## Структура заметки

| Поле          | Описание                 |
| ------------- | ------------------------ |
| ID            | Уникальный идентификатор |
| Содержание    | Текст заметки            |
| Дата создания | Время сохранения         |

## Примеры шаблонов

### Обход результата запроса

```bsl
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
    // Обработка строки
КонецЦикла;
```

### Транзакция с обработкой ошибок

```bsl
НачатьТранзакцию();
Попытка
    // Действия в транзакции
    ЗафиксироватьТранзакцию();
Исключение
    ОтменитьТранзакцию();
    ВызватьИсключение;
КонецПопытки;
```

## Хранение данных

Шаблоны и заметки хранятся в SQLite-базе в каталоге `/app/chroma_db`:

1. Запись в SQLite выполняется до обновления индекса. Если индекс временно недоступен, интерфейс сообщает, что запись сохранена, но индексация ожидается; повторно создавать запись не нужно
2. При монтировании тома (`-v`) данные сохраняются на хосте
3. При перезапуске контейнера все шаблоны и заметки доступны

## Резервное копирование

```powershell
# Копирование данных шаблонов
Copy-Item -Recurse "E:\bases\mcp_templates" "E:\backup\mcp_templates_$(Get-Date -Format 'yyyyMMdd')"
```
