Files
elmer/.instructions.md
T

3.8 KiB

Инструкция для Copilot — проект elmAI

Последнее обновление: 31 мая 2026 · v0.36.0-dev

Репозитории

Репо Назначение Хостинг
elmer/ (этот) Сервер Python/Flask gitea.services.ngcloud.ru/Nail/elmer
elmer/android/ Android-приложение Kotlin github.com/Repinoid/elmer-android

Деплой

Сервер (obdai.ru, 5.172.178.213)

  • Код: /opt/elmer (git clone gitea)
  • Ветка: master (по умолчанию)
  • Деплой: ssh obdai.ru "cd /opt/elmer && git pull && sudo systemctl restart elmer"
  • Сервис: gunicorn -w 4 -b 127.0.0.1:8000 web.app:app
  • Прокси: nginx :443 → :8000
  • APK отдавать напрямую через nginx, НЕ через Flask/gunicorn: location = /elmer.apk { alias /opt/elmer/web/static/app-debug.apk; }

APK

  • Сборка: автоматически GitHub Actions при пуше в master
  • Деплой: CI сам заливает APK на сервер (appleboy/scp-action)
  • Ссылка: https://obdai.ru/elmer.apk → nginx отдаёт напрямую web/static/app-debug.apk

Версионирование

  • APK: android/app/build.gradle.ktsversionName
  • Сайт: web/templates/index.html (синхронизировать вручную)
  • Документация: в заголовках .md файлов

Правила работы

  1. ЕСЛИ в диалоге содержится ВОПРОС в любой форме — только ответить. НИЧЕГО НЕ ПРЕДПРИНИМАТЬ. Не писать код, не редактировать файлы, не коммитить, не деплоить. Только прямые императивы («сделай», «исправь», «напиши», «внеси», «задеплой») — команда к действию.
  2. Не выдумывать инфраструктуру. Никаких Docker, Kubernetes. Всё на голом железе.
  3. Читать документацию перед действиями. doc/architecture.md — канонический источник.
  4. Не редактировать отчёты Опуса. doc/opus-review*.md — только для чтения.
  5. Ключи и токены: LLM-ключ только на сервере (config.yaml), НЕ в APK. X-Api-Key приложения — через BuildConfig.API_KEY из local.properties.
  6. Git: elmer/ и elmer/android/ — отдельные репо, отдельные коммиты.
  7. Ветки: master — продакшен, opus-fixes и др. — для правок. Вливать в master когда готово.
  8. После правок: коммит + пуш + (если сервер) деплой через SSH.
  9. Версия: менять в трёх местах — build.gradle.kts, index.html, доки.
  10. Документировать изменения в doc/history/YYYY-MM-DD.md после каждого сеанса работы. Формат: 🔴/🟡/🟢 для приоритета, по файлам.

Структура сервера

elmer/
├── api/          # REST, БД, скрипты, парсер
├── brain/        # LLM-клиент, промпты
├── obd/          # ELM327 стейт-машина
├── web/          # Flask, шаблоны, статика (APK)
├── android/      # Android-приложение (отдельный репо)
├── doc/          # Документация
├── config.yaml   # LLM API key, порты
└── run.py        # Локальный запуск