Files
subochev d5aa844fa0 design: макеты 15 экранов + принципы Android + откуда взят код
- design/mockups/ — 15 макетов (одно состояние = один файл), из /tmp перенесены в репо
- design/screenshots/ — те же экраны PNG
- design/PRINCIPLES.md — принципы: что берём у десктопа, что на телефоне иначе
- design/BORROW.md — что откуда: ядро (Nexus), тема (десктопный макет), отрисовка Markdown (ai/assistent)
- design/gen_mockups.py — генератор макетов, путь вывода теперь рядом с ним
- README: разделы «Принципы» и «Откуда код» со ссылками
2026-09-20 13:59:22 +03:00

4.6 KiB
Raw Permalink Blame History

agentik-android

Android-клиент агента 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:

sdk.dir=/root/Android/Sdk

Этот файл не коммитится (см. .gitignore).

Сборка debug-APK:

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 — 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, коммит 2c5b3f9 ещё не перенесена
Макеты экранов свои, из одобренного десктопного дизайна в design/

Отрисовку Markdown писать не надо — её надо взять из ai/assistent: четыре файла, разобраны в design/BORROW.md (что копировать, что нет, как переносить на Android). Модуль оттуда собран под Compose Desktop — целиком как зависимость не подключается, файлы копируются к нам. Единственное, что придётся переделать — открытие ссылок: java.awt.Desktop на телефоне нет, вместо него системный Intent.

Цвета темы пришли из одобренного десктопного макета agentik-desktop/approved/001-sidebar-utility.html — согласованы с десктопом, не выдуманы заново.