Update extensions and documentation for LLM integration and CLI enhancements

- Added support for a new extension, `swarm-assistent`, in `extensions.example.yaml` with a requirement for `ollama`.
- Enhanced the README.md to clarify the setup process and provide a quick start guide for using extensions.
- Updated documentation in `llm.md` to reflect the opt-in nature of LLM support and provide clearer instructions for enabling it.
- Improved the `autocomplete.md` to detail the automatic setup of word lists during the initial launch.
- Revised `cli.md` to include new commands and options related to LLM runtime handling and extension management.
- Enhanced the `spike-notes.md` to guide users through the first live run with a focus on LLM integration.
This commit is contained in:
Leonid Pershin
2026-08-21 05:49:34 +03:00
parent dc1fde9e3e
commit 71f4e4c2e3
19 changed files with 713 additions and 394 deletions
+63 -26
View File
@@ -1,21 +1,27 @@
# Spike notes (заполнять руками)
# Spike notes — первый живой прогон
Без секретов, без личных имён файлов моделей. Цель — один раз пройти панель + CLI на живом GPU и зафиксировать факты для v1.
Заполняй **руками** после зелёного `doctor`. Без секретов и без личных имён чекпоинтов.
## 0.0 Квота
Подготовка ключей: [setup.md](setup.md). Цель — один раз пройти панель + CLI на реальном GPU и зафиксировать факты (времена, цены, имя образа).
---
## 0. Перед прогоном
| Шаг | Дата | Результат |
| --- | --- | --- |
| Квота GPU в панели (лимит) | | 0 / N |
| Тикет в поддержку (номер) | | |
| Лимит поднят | | |
| Сервисный пользователь `member` на проект | | |
| Тикет в поддержку (номер), если был | | |
| Сервисный пользователь `member` + `.env` | | да / нет |
| `gpu-rent doctor` exit 0 | | |
Текст тикета: [setup.md §2.3](setup.md).
Текст тикета: [setup.md §2.3](setup.md#23-тикет-в-поддержку).
## Preflight CLI
---
```text
## 1. Preflight
```powershell
.\gpu-rent.ps1 doctor
.\gpu-rent.ps1 flavors
.\gpu-rent.ps1 dry-run
@@ -25,17 +31,21 @@
| --- | --- | --- |
| Keystone token | | |
| GPU quota > 0 | | |
| Flavor из FLAVOR_PREFERENCE | | id / имя |
| Flavor из `FLAVOR_PREFERENCE` | | id / имя |
| Image Driver 580 (без Docker) | | имя образа |
| Volume type в AZ | | |
| Civitai `.red` + token | | |
| Civitai `.red` + token (если используешь) | | |
## Первый `up`
---
```text
## 2. Первый `up`
```powershell
.\gpu-rent.ps1 up --yes
```
Первый bootstrap долгий (ориентир 20–40 мин). Не рви терминал посередине.
| Метрика | Значение |
| --- | --- |
| Flavor фактически | |
@@ -44,13 +54,18 @@
| SSH через (мин) | |
| Backend Idle через (мин) | |
| Seed Civitai (мин / GB) | |
| Boot snapshot создался | да / нет / ошибка |
| Boot snapshot `gpu-rent-boot-ok` | да / нет / ошибка |
| ₽/час GPU (панель) | |
| ₽/мес data disk | |
| ₽/мес data disk (панель) | |
| Access-card / URL :17801 | да / нет |
## Туннель и API
---
```text
## 3. Туннель и API
Если закрыл туннель (Ctrl+C):
```powershell
.\gpu-rent.ps1 tunnel --open
```
@@ -59,31 +74,53 @@
| UI http://127.0.0.1:17801 | |
| `/API/GetNewSession` | |
| MCP `/mcp` (если нужно) | |
| `nvidia-smi` по `gpu-rent ssh` | |
| `nvidia-smi` через `gpu-rent ssh` | |
## Idle-killer / hold
---
## 4. Idle-killer / hold
| Шаг | OK? | Заметка |
| --- | --- | --- |
| `systemctl status gpu-rent-idle-killer.timer` | | |
| `systemctl status gpu-rent-idle-killer.timer` (по SSH) | | |
| `gpu-rent hold` пишет hold-until | | |
| Качалка модели в UI → нужен hold? | | нет сигнала API — только hold |
| Качалка модели в UI | | hold, если killer не видит busy |
## Preempt / диски
---
## 5. Preempt / диски / stop
| Шаг | OK? |
| --- | --- |
| EXPIRED → tunnel unshelve или `up` | |
| EXPIRED → `tunnel` unshelve или `up` | |
| `stop` — диски живы | |
| Второй `up` — те же модели на data | |
| Boot из snapshot `gpu-rent-boot-ok` | |
## Выводы для кода
---
## 6. (Опц.) LLM
```powershell
.\gpu-rent.ps1 up --yes --ollama
```
| Шаг | OK? |
| --- | --- |
| Ollama на :17811 через туннель | |
| `ollama pull` из манифеста | |
| `LLM_RUNTIME=none` гасит unit на следующем up | |
См. [llm.md](llm.md).
---
## Выводы для кода / конфига
- Имя GPU-образа в пуле:
- Реальные flavor id (не в git):
- Хватает ли `IDLE_GRACE_MINUTES=45`:
- Application credential: ок / нужны другие права:
- Application credential с узкими access_rules: ок / ошибка (fail closed):
- Прочее:
Когда spike закрыт — отметь пункты в [roadmap.md](roadmap.md) §0 / §0.0.
Когда spike закрыт — отметь пункты в [roadmap.md](roadmap.md) §0.