# Онлайн-чат на сайт в Replit: Моночат через Replit Agent

Replit Agent собирает и публикует веб-приложения на разных стеках: React, Next.js, Flask, Express, простой HTML. Чат поддержки Моночата во всех случаях — одна строка в общем HTML-шаблоне. Агент вставит её по промпту, а ключ может получить сам через [Agent API](https://monochat.ru/docs/agent-api). Это не расширение Replit, а стандартная вставка виджета. Тариф «Старт» — 0 ₽.

## Как установить

1. Откройте Repl и вставьте промпт ниже в Replit Agent или Assistant.
2. Агент спросит ваш email и домен. Для опубликованного приложения это обычно адрес вида `my-app.replit.app` или ваш собственный домен.
3. Проверьте, что строка виджета стоит один раз в общем шаблоне. `MONOCHAT_AGENT_KEY` должен лежать в Secrets, а не в коде.
4. Опубликуйте приложение и откройте его: кнопка чата появится справа внизу.
5. Подтвердите email по ссылке из письма или войдите на [monochat.ru/login](https://monochat.ru/login) с тем же email.

## Промпт для Replit Agent

```text
Подключи онлайн-чат поддержки Моночат (monochat.ru) ко всем страницам приложения.
1. Если ключа виджета нет, получи его: POST https://monochat.ru/api/agent/v1/signup
   Content-Type: application/json
   {"email": "<спроси мой email>", "site_domain": "<домен опубликованного приложения>", "agent": "replit"}
   widget_key возьми из ответа, agent_key сохрани в Secrets как MONOCHAT_AGENT_KEY, покажи мне tell_the_human.
2. Вставь один раз в общий HTML-шаблон перед </body>:
   <script src="https://monochat.ru/widget/<WIDGET_KEY>.js" async></script>
   React/Vite — index.html; Next.js — next/script в app/layout.tsx; Flask/Django — базовый шаблон; Express — общий layout.
3. Домен для разработки (*.replit.dev) добавь: POST https://monochat.ru/api/agent/v1/widget/domains {"domain": "<домен>"} с Authorization: Bearer $MONOCHAT_AGENT_KEY.
Документация: https://monochat.ru/docs/replit.md
```

## Код

```html
<!-- общий шаблон, перед </body> -->
<script src="https://monochat.ru/widget/ВАШ_WIDGET_KEY.js" async></script>
```

## Домены разработки и публикации

У Repl есть адрес для разработки и адрес опубликованного приложения, и это разные домены. Виджет загружается только на доменах из настроек виджета и на `localhost`, поэтому добавьте оба. Это можно сделать в кабинете («Каналы» → «Виджет» → «Домены сайтов») или запросом из пункта 3 промпта.

## Частые вопросы

### Есть ли официальная интеграция с Replit?

Нет. Агент вставляет в шаблон обычный скрипт виджета. Ни расширений, ни шаблонов Replit для этого не нужно.

### Где хранить ключи?

Ключ виджета публичный, его можно держать в HTML. `agent_key` секретный: храните его в Replit Secrets и не публикуйте.

### Подходит ли для бэкенда на Python?

Да. Виджет работает в браузере, поэтому язык сервера не важен: Flask, Django, FastAPI с шаблонами или Node. Заявки с форм можно передавать в Моночат через [REST API](https://monochat.ru/docs/api).

### Что будет, если я уже зарегистрирован?

API вернёт `409 account_exists`. Возьмите ключ в кабинете и передайте его агенту.

## Ещё по теме

- [Универсальный промпт для ИИ-агентов](https://monochat.ru/docs/ai-prompt)
- [HTML](https://monochat.ru/docs/html), [React](https://monochat.ru/docs/react), [Next.js](https://monochat.ru/docs/nextjs)
- [MCP-сервер](https://monochat.ru/docs/mcp)
- [Демо виджета](https://monochat.ru/demo)
