0fdc12695e
ci / JVM build + tests (push) Failing after 1m57s
- 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 как бинарные ассеты.
3.3 KiB
3.3 KiB
: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-стиле (через JLineDefaultHistory). - Reconnect-safe SSE — если сервер рестартовал, клиент подхватывает с
lastEventAtчерезevents(after). - Snapshot-режим — если подключились к диалогу впервые,
/historyподгружает старые сообщения черезgetMessages(after)(offline-бэкфилл).
Тесты
./gradlew :agentik-cli:jvmTest