subochev 0fdc12695e
ci / JVM build + tests (push) Failing after 1m57s
docs: per-module README + root navigation hub + CI/release workflows
- README.md в каждом подмодуле: для библиотек — описание проблемы,
  подключение через maven-central/caffeine, версии в gradle/libs.versions.toml.
  Для запускаемых модулей — команды запуска + переменные среды с дефолтами.
- Корневой README.md переписан как навигационный хаб: что это, где клиенты,
  где серверы, как собрать, как опубликовать.
- build.gradle.kts: per-module POM-description через единую карту в rootProject.extra
  (порядок важен — нужно ДО apply плагина KMP, поэтому beforeEvaluate в subprojects).
- .gitea/workflows/ci.yml (новый): build + jvmTest + shadowJar на PR/push main.
- .gitea/workflows/release.yml (обновлён): публикует библиотеки в caffeine
  Nexus + собирает 3 fatjar'а и крепит их к release как бинарные ассеты.
2026-09-16 16:24:03 +03:00

agentik

Self-contained multi-module Kotlin Multiplatform агент с долговременной памятью, персоной, навыками и HTTP-фасадом под /agentik. Состоит из библиотечных модулей (KMP, опубликованных в Nexus caffeine) и трёх запускаемых артефактов.

Запускаемые модули

Модуль Что делает Артефакт Таргеты
:standalone HTTP-сервер со всеми транспортами (AG-UI / A2A / :proto), SQLite, памятью, скилами, SOUL, MCP standalone-all.jar (≈250 MB) JVM
:agentik-cli REPL-клиент к /agentik со slash-командами agentik-cli-all.jar (≈8 MB) JVM
:agentik-tui Compose-style TUI-клиент (Mosaic) к /agentik agentik-tui-all.jar (≈10 MB) JVM + macosX64/macosArm64/linuxX64/linuxArm64/mingwX64

Библиотеки

Все библиотеки — KMP (jvm + 8 native), опубликованы в Nexus-репо caffeine под группой pw.binom.agentik.

Протокол и транспорт

  • :proto — Agent / Conversation / Message / Event, типы без сетевой логики. Stateful — клиент шлёт только новый message, агент владеет историей.
  • :server — Ktor-фасад, экспонирующий :proto.Agent под /agentik (HTTP+JSON+SSE).
  • :client — Ktor-клиент, превращающий HTTP /agentik обратно в Agent/Conversation.

Память

  • :memory-api — контракт: MemoryStore, MemoryNote, MemoryPrefetcher, MemoryReviewer, MemoryTools.
  • :memory-md — Hermes-style реализация поверх §-файлов (user.md/world.md/preference.md).
  • :memory-vector — JVector (ANN) + SQLite + эмбеддинги (HTTP/SIGLIP on-device).

Хранилище

  • :storage-core — ConversationStore / MessageStore / WorkingMemoryStore / ReflectionStore.
  • :storage-inmemory — in-memory реализация (для тестов и embedded).
  • :storage-sqlite — SQLDelight реализация (прод-бэкенд).

Логика

  • :skills — opencode-style SKILL.md / *.yaml парсер + рендер в system prompt.
  • :agent-toolsets — реестр тулов + enable_toolset/disable_toolset диспетчер.

Где смотреть версии

  • gradle.properties → version=0.1.0 (текущая разрабатываемая)
  • Релизы: https://git.binom.pw/subochev/agentik/releases
  • Опубликованные артефакты: Nexus-репозиторий caffeine (http://nexus.xx/repository/caffeine/pw/binom/agentik/)

При подключении библиотек используйте одну и ту же version (VERSION в Gradle зависимостях). Все артефакты синхронизированы и совместимы по ABI в пределах одной версии.

Публикация (CI/CD)

.gitea/workflows/release.yml — публикует все KMP-таргеты всех модулей в Nexus-репо caffeine при создании Gitea Release. Версия артефактов берётся из имени тега (git tag v0.1.0 → pw.binom.agentik:*:0.1.0).

# Создать релиз:
git tag v0.1.0 && git push --tags
# → Gitea → Releases → New Release → выбрать тег → Publish
# → CI публикует в Nexus (нужны секреты BINOM_REPO_USER/BINOM_REPO_PASSWORD)

Сборка

# Всё
./gradlew build

# Только JVM-тесты всех модулей
./gradlew jvmTest

# Только fatjar запускаемых модулей
./gradlew :standalone:shadowJar :agentik-cli:shadowJar :agentik-tui:shadowJar

# Опубликовать локально в mavenLocal (~/.m2)
./gradlew publishToMavenLocal

# Опубликовать в Nexus (нужны креды)
./gradlew publish -Pversion=0.2.0 \
  -Pbinom.repo.url=http://nexus.xx/repository/caffeine/ \
  -Pbinom.repo.user=USER -Pbinom.repo.password=PASS

Лицензия

Apache-2.0 — см. LICENSE (если есть).

S
Description
No description provided
Readme 3.4 MiB
16 Latest
2026-09-23 12:59:58 +00:00
Languages
Kotlin 99.8%
Shell 0.2%