Skip to content

ИИ-помощник в админке: улучшение названий/описаний через OpenAI#148

Merged
vaninanton merged 1 commit into
mainfrom
feature/ai-assist
Jul 2, 2026
Merged

ИИ-помощник в админке: улучшение названий/описаний через OpenAI#148
vaninanton merged 1 commit into
mainfrom
feature/ai-assist

Conversation

@vaninanton

Copy link
Copy Markdown
Owner

Summary

  • Панель «ИИ-помощник» внизу форм редактирования точки (PointForm) и маршрута (RouteEditPage): автособранный read-only промпт из живых значений полей + контекст (тип, координаты, признаки), кнопка «Скопировать промпт» для ручной вставки в ChatGPT/Claude.
  • Кнопка «Улучшить с ИИ» → новая edge-функция ai-assist (вторая в проекте): авторизация JWT-админа + map_admin_users, OpenAI Responses API, модель gpt-5-mini (переопределяется секретом OPENAI_MODEL).
  • Чекбокс «Искать в интернете»: с ним — инструмент web_search (проверка фактов + 2–3 точки интереса рядом, медленнее), без него — быстрый вызов без POI.
  • Ответ модели валидируется и санируется (parseAiSuggestion): срез markdown-ограждений, вычистка сносок-цитат web-поиска ([site](url)), title ≤ 99 символов, pois ≤ 3.
  • «Применить» подставляет title/description в форму, скроллит к полю «Название» и показывает подсказку «нажмите Сохранить».
  • Промпт-билдер — чистая функция без импортов в src/admin/utils/aiAssistPrompt.ts, её копия в supabase/functions/ai-assist/_pure.ts (Deno не импортирует из src/); правки синхронизировать.
  • Секреты edge-функций заливаются из .env.local: npm run secrets:sync (scripts/set-supabase-secrets.sh). CI деплоит ai-assist отдельной строкой в deploy.yml.

Test plan

  • npm run test — 539 unit-тестов (новые: aiAssistPrompt, AiAssistPanel, PointForm apply-flow)
  • npm run test:functions — 75 deno-тестов (валидация входа, парсер ответа, санитизация ссылок)
  • npm run build, lint, format, e2e — pre-commit прошёл целиком
  • Живой прогон на test.euc.kz: предложение с POI, применение в форму, санитизация сносок

🤖 Generated with Claude Code

Внизу форм редактирования — панель AiAssistPanel: готовый промпт для
улучшения названия/описания (копирование в ChatGPT/Claude) и кнопка
«Улучшить с ИИ» через новую edge-функцию ai-assist (OpenAI Responses API,
опциональный web_search с точками интереса рядом). Ответ санируется от
сносок-цитат, «Применить» подставляет значения в форму со скроллом к полю.
Секреты edge-функций заливаются из .env.local: npm run secrets:sync.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@supabase

supabase Bot commented Jul 2, 2026

Copy link
Copy Markdown

Updates to Preview Branch (feature/ai-assist) ↗︎

Deployments Status Updated
Database Thu, 02 Jul 2026 12:10:14 UTC
Services Thu, 02 Jul 2026 12:10:14 UTC
APIs Thu, 02 Jul 2026 12:10:14 UTC

Tasks are run on every commit but only new migration files are pushed.
Close and reopen this PR if you want to apply changes from existing seed or migration files.

Tasks Status Updated
Configurations Thu, 02 Jul 2026 12:10:23 UTC
Migrations Thu, 02 Jul 2026 12:10:30 UTC
Seeding Thu, 02 Jul 2026 12:10:35 UTC
Edge Functions Thu, 02 Jul 2026 12:10:36 UTC

View logs for this Workflow Run ↗︎.
Learn more about Supabase for Git ↗︎.

@vaninanton vaninanton merged commit a2bcb11 into main Jul 2, 2026
7 checks passed
@vaninanton vaninanton deleted the feature/ai-assist branch July 2, 2026 12:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant