# agentik-android Android-клиент агента [agentik](https://git.binom.pw/subochev/agentik). ## Что это Базовый скелет Android-приложения (Jetpack Compose). Логика диалогов, сетевые вызовы и экраны будут навешиваться следующими задачами; пока есть только стартовый экран и тёмная тема, согласованная с десктопным клиентом. ## Ядро Агент живёт в Nexus (`caffeine`, `pw.binom.agentik:client`). Версия — в `gradle/libs.versions.toml` (`agentik = "5"`). Библиотека движок не задаёт — на Android он собирается через `agentikHttpClient(OkHttp, token) { ... }` поверх `ktor-client-okhttp`. ## Сборка Нужен `local.properties` с `sdk.dir`: ```properties sdk.dir=/root/Android/Sdk ``` Этот файл **не коммитится** (см. `.gitignore`). Сборка debug-APK: ```bash export ANDROID_HOME=/root/Android/Sdk ./gradlew :app:assembleDebug ``` Артефакт: `app/build/outputs/apk/debug/app-debug.apk`. ## Дизайн Одна тема — тёмная. Цвета в `app/src/main/kotlin/pw/binom/agentik/android/ui/theme/Color.kt`: | Слот | Значение | |-----------------|--------------| | `Background` | `#121218` | | `Surface` | `#17212B` | | `Accent` | `#6AB2F2` | | `OnBackground` | `#EBEBEB` | | `Muted` | `#768C9E` | | `ErrorRed` | `#EC3942` | Экраны должны читать `MaterialTheme.colorScheme.*`, а не палитру напрямую. **Макеты экранов — в `design/`**: пятнадцать экранов, по одному состоянию на файл, плюс те же экраны картинками. Смотреть — открыв `design/mockups/*.html` в браузере. Разбор — `design/README.md`. ## Принципы **Что куда и как переходить — принципы описаны в десктопном клиенте**, он эталон требований и макетов: [`subochev/agentik-desktop`](https://git.binom.pw/subochev/agentik-desktop) — `REQUIREMENTS.md`, `approved/README.md`, `THEMES.md`, `STORAGE.md`, `CACHE.md`. Копий этих документов здесь нет намеренно: два источника правды разъедутся. **Чем Android отличается от десктопа** — отдельный документ: `design/PRINCIPLES.md`. Коротко: принципы те же, меняется обёртка — телефон всегда узкий (десктопные требования про широкое и узкое окно к нам не относятся), системная кнопка и жест «Назад» вместо кнопки внутри узкого окна, шторки снизу вместо модальных окон, нет наведения курсора, есть клавиатура и системные разрешения. ## Откуда код Что берём и откуда — `design/BORROW.md`. Коротко: | Что | Откуда | Состояние | |---|---|---| | Ядро агента | `subochev/agentik` → Nexus `caffeine`, `pw.binom.agentik:client` | подключено | | Скелет и тема | свой, этот репозиторий | есть | | **Отрисовка Markdown** | **[`ai/assistent`](https://git.binom.pw/ai/assistent)**, коммит `2c5b3f9` | **ещё не перенесена** | | Макеты экранов | свои, из одобренного десктопного дизайна | в `design/` | **Отрисовку Markdown писать не надо — её надо взять** из `ai/assistent`: четыре файла, разобраны в `design/BORROW.md` (что копировать, что нет, как переносить на Android). Модуль оттуда собран под Compose Desktop — целиком как зависимость не подключается, файлы копируются к нам. Единственное, что придётся переделать — открытие ссылок: `java.awt.Desktop` на телефоне нет, вместо него системный `Intent`. Цвета темы пришли из одобренного десктопного макета `agentik-desktop/approved/001-sidebar-utility.html` — согласованы с десктопом, не выдуманы заново.