8f616f359f
ci / JVM build + tests (pull_request) Failing after 54s
Every subproject now has README.md:
- 3 runnable modules (:standalone, :agentik-cli, :agentik-tui):
quickstart, env table, parameters, known limits
- 11 library modules: what it is, which problem solves, how to
wire it in, where versions live
Root README.md is the navigation hub (Quickstart, Modules table,
publish + CI/CD notes).
Also: ci.yml prunes the :memory-vector -x excludes now that
text-embedding-kmp artifacts are published to caffeine.
518 tests green.
Verified publish pipeline: :proto:publish to caffeine produces
pom.module + per-target klibs + sources for all 9 KMP targets.
🤖 Generated with [opencode]
85 lines
3.3 KiB
Markdown
85 lines
3.3 KiB
Markdown
# `:agentik-cli` — JVM CLI клиент к `/agentik`
|
|
|
|
## Что это
|
|
|
|
JVM-only REPL-клиент к серверу `:standalone` через `:client`
|
|
над HTTP+SSE:
|
|
|
|
- Нативный REPL с JLine (стрелки влево/вправо/вверх, история,
|
|
Ctrl-D/E).
|
|
- Подписка на live-стрим событий агента.
|
|
- Slash-команды: `/new /list /switch /rename /rm /interrupt /history
|
|
/pwd /help /exit /quit`.
|
|
- Persistent session id в `~/.agentik/cli-state.json`.
|
|
|
|
Решает: быстрый способ проверить агента руками из терминала.
|
|
Используется в CI-смоук-тестах и для daily-driver.
|
|
|
|
## Как запустить
|
|
|
|
### Требования
|
|
|
|
- JVM 21+ (на машине должна быть JAVA_HOME или `java` в PATH).
|
|
- Запущенный `:standalone` (по умолчанию `http://localhost:8080/agentik`).
|
|
|
|
### Запуск из готового fatjar
|
|
|
|
```bash
|
|
java --enable-native-access=ALL-UNNAMED -jar agentik-cli-0.1.0-all.jar \
|
|
--server http://192.168.76.166:8080/agentik
|
|
```
|
|
|
|
### Запуск через Gradle (dev)
|
|
|
|
```bash
|
|
./gradlew :agentik-cli:run --args="--server http://localhost:8080/agentik"
|
|
```
|
|
|
|
## Параметры CLI
|
|
|
|
| Флаг | ENV | Что делает |
|
|
|---|---|---|
|
|
| `--server URL` | `AGENTIK_SERVER` | URL `/agentik` (default `http://localhost:8080/agentik`) |
|
|
| `--id ID` | `USER`/`USERNAME` | Имя агента (default — текущий пользователь) |
|
|
| `--no-history` | — | Не восстанавливать последнюю диалог после запуска |
|
|
| `--help` | — | Показывает help и выходит |
|
|
|
|
## Slash-команды (внутри REPL)
|
|
|
|
| Команда | Синонимы | Что делает |
|
|
|---|---|---|
|
|
| `/help` | | Показывает help |
|
|
| `/new [title]` | | Создать диалог |
|
|
| `/list` | `/ls` | Список диалогов |
|
|
| `/switch <id>` | `/sw`, `/cd` | Переключиться на диалог |
|
|
| `/rename <title>` | | Переименовать текущий диалог |
|
|
| `/rm [id]` | `/delete` | Удалить (текущий или по id) |
|
|
| `/interrupt` | `/stop`, `/cancel` | Прервать текущий ход |
|
|
| `/history` | `/h`, `/hist` | Показывает историю текущего диалога |
|
|
| `/pwd` | | Путь к state-file |
|
|
| `/exit`, `/quit` | | Выйти |
|
|
|
|
## Переменные среды (пробрасываются серверу через `--server`)
|
|
|
|
См. [`../standalone/README.md`](../standalone/README.md). На стороне
|
|
клиента они **не** интерпретируются — это лишь настройки запуска
|
|
агента. CLI только знает, по какому URL стучаться.
|
|
|
|
## Известное ограничение
|
|
|
|
SSE event-stream в не-TTY ssh-сессии (без `-tt`) закрывается на
|
|
default-таймауте Ktor. Используйте либо `ssh -tt`, либо нативный
|
|
terminal. Это upstream-особенность Ktor SSE.
|
|
|
|
## Тесты
|
|
|
|
```
|
|
./gradlew :agentik-cli:jvmTest
|
|
```
|
|
|
|
23 теста: парсер slash-команд, event-рендер, state-repository.
|
|
|
|
## Версии
|
|
|
|
`gradle/libs.versions.toml` → `[versions] agentik-agentik-cli`.
|