3.8 KiB
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.kts→versionName - Сайт:
web/templates/index.html(синхронизировать вручную) - Документация: в заголовках
.mdфайлов
Правила работы
- ЕСЛИ в диалоге содержится ВОПРОС в любой форме — только ответить. НИЧЕГО НЕ ПРЕДПРИНИМАТЬ. Не писать код, не редактировать файлы, не коммитить, не деплоить. Только прямые императивы («сделай», «исправь», «напиши», «внеси», «задеплой») — команда к действию.
- Не выдумывать инфраструктуру. Никаких Docker, Kubernetes. Всё на голом железе.
- Читать документацию перед действиями.
doc/architecture.md— канонический источник. - Не редактировать отчёты Опуса.
doc/opus-review*.md— только для чтения. - Ключи и токены: LLM-ключ только на сервере (
config.yaml), НЕ в APK.X-Api-Keyприложения — черезBuildConfig.API_KEYизlocal.properties. - Git:
elmer/иelmer/android/— отдельные репо, отдельные коммиты. - Ветки:
master— продакшен,opus-fixesи др. — для правок. Вливать в master когда готово. - После правок: коммит + пуш + (если сервер) деплой через SSH.
- Версия: менять в трёх местах —
build.gradle.kts,index.html, доки. - Документировать изменения в
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 # Локальный запуск