Files
agentik/agentik-cli/README.md
T
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

3.3 KiB
Raw Blame History

:agentik-cli — JVM CLI клиент к /agentik

REPL-клиент к запущенному :standalone-серверу на базе :client. JVM-only (JLine требует termios + java.io.File); для desktop-альтернативы — :agentik-tui.

Сборка

./gradlew :agentik-cli:shadowJar
# Результат: agentik-cli/build/libs/agentik-cli-all.jar (~8 MB)

Также доступен через Maven Central Nexus (caffeine репо) — см. релизы: https://git.binom.pw/subochev/agentik/releases. После публикации нового тега jar появляется как pw.binom.agentik:agentik-cli:VERSION (artifact + classifier all).

Запуск

# По умолчанию — http://localhost:8080/agentik
java -jar agentik-cli-all.jar

# К другому серверу
java -jar agentik-cli-all.jar --server http://192.168.76.166:8080/agentik

# Без восстановления последней беседы
java -jar agentik-cli-all.jar --no-history

# В конкретной беседе
java -jar agentik-cli-all.jar --id <conversation-uuid>

Альтернативно: AGENTIK_SERVER env-переменная с тем же эффектом, что и --server.

Slash-команды внутри REPL

Команда Алиасы Действие
/help /? список команд + клавиш
/new <title?> /n создать новый диалог
/list /ls показать все диалоги
/switch <id> /sw <id> переключиться на диалог
/rename <title> /mv <title> переименовать текущий
/delete <id?> /rm <id?> удалить (без id — текущий)
/interrupt /stop, /cancel прервать активный ход
/history /h, /hist backfill истории через getMessages
/pwd /where показать текущий conversation id
/exit /quit выйти (Ctrl-D / Ctrl-C — то же)

Свободный текст = сообщение текущему диалогу; SSE-события (start_reasoning / start_response / append_text / end / interrupted / error) стримятся в stdout в реальном времени.

Переменные окружения

Переменная Дефолт Назначение
AGENTIK_SERVER http://localhost:8080/agentik URL HTTP-фасада :server

История сессий (id + last event timestamp) сохраняется в ~/.agentik/cli-state.json (атомарно через tmp → rename).

Особенности

  • Arrow keys, history (↑/↓), Ctrl-D/Ctrl-C — через JLine 3.30, история readline в ~/.agentik/.inputrc-стиле (через JLine DefaultHistory).
  • Reconnect-safe SSE — если сервер рестартовал, клиент подхватывает с lastEventAt через events(after).
  • Snapshot-режим — если подключились к диалогу впервые, /history подгружает старые сообщения через getMessages(after) (offline-бэкфилл).

Тесты

./gradlew :agentik-cli:jvmTest