Bump Assistent to 0.7.0: Config personas, skills, and vector memory.
Move prompts into Config/_base and persona folders; seed model facts into SQLite via Ollama embed and retrieve as memory_hits each turn. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -1,27 +1,41 @@
|
||||
# Swarm Assistent
|
||||
|
||||
SwarmUI extension for **collaborative Krea 2** prompting via **Ollama**: chat + board (Generate | Refs tabs), LoRA chips, personas, model cards with Civitai fetch, img2img/inpaint, slash commands, auto Generate.
|
||||
SwarmUI extension for **collaborative Krea 2** prompting via **Ollama**: chat + board (Generate | Refs tabs), LoRA chips, **persona presets** (`Config/personas/`), **vector memory**, model cards with Civitai fetch, img2img/inpaint, slash commands, auto Generate.
|
||||
|
||||
**Version 0.6.0** — board tabs, Cards form + live Civitai meta, Interrupt cancel, slim history, LoRA chips, Turbo/RAW, taste on disk, RU UI.
|
||||
**Version 0.7.0** — Config/_base + persona folders, skills, memory-seed → SQLite, Ollama `use: chat|memory`, slim inventory via retrieve.
|
||||
|
||||
## Layout
|
||||
|
||||
- **Left — Board tabs:** **Generate** (full-height live view) | **Refs** (reference grid + badge `N · vision M`)
|
||||
- **Splitter:** drag to resize panes
|
||||
- **Right:** Chat | Cards; persona / pack / Ollama model; settings gear
|
||||
- **Chips:** aspect, Seed lock/−1, Vary, Turbo/RAW; LoRA chip row under them
|
||||
- Slash autocomplete when the composer starts with `/`
|
||||
- **Right:** Chat | Cards; persona / pack / Ollama chat model; settings gear (memory model + skills)
|
||||
- **Chips / slash:** loaded from `Config/_base/ui.json` (persona can override)
|
||||
|
||||
## Config (bundled + overlay)
|
||||
|
||||
```
|
||||
Config/
|
||||
_base/ # defaults (assistant, ui, models/krea2, core, packs, skills, memory-seed, identity)
|
||||
personas/<id>/ # sparse preset: persona/voice/likes/dislikes/rules + optional overrides
|
||||
```
|
||||
|
||||
Disk overlay (wins over bundled): `/mnt/swarm_data/Assistent/` — same layout, plus `settings.json`, `taste.json`, `personas.json` (legacy prompt overlay), `ollama-roles.json`, `memory/assistent.sqlite`.
|
||||
|
||||
Copy `personas/cinema/` → `noir/`, edit only differing JSON files.
|
||||
|
||||
## Vector memory
|
||||
|
||||
- SQLite + Ollama `/api/embed` (default `nomic-embed-text`, pick in ⚙)
|
||||
- First chat seeds `Config/_base/memory-seed/` (Krea facts, aspect, pitfalls)
|
||||
- Agents upsert via patch `memory_upsert` / `memory_forget`
|
||||
- Cards ingest on save; retrieve → `memory_hits` in live context (inventory slimmed)
|
||||
|
||||
## UX
|
||||
|
||||
- **Send to Assistent** under Generate/History → Ref + Assistent tab
|
||||
- Drop on Generate → new Ref + switch to Refs tab
|
||||
- **As Init** / **As Mask** / **Clear Init**
|
||||
- Enter sends; Shift+Enter newline; Interrupt cancels chat epoch (no late auto-apply)
|
||||
- Enter sends; Shift+Enter newline; Interrupt cancels chat epoch
|
||||
- Manual **Apply + Generate** / `/gen` always generate; Auto-generate checkbox only for LLM auto-path
|
||||
- Auto-critique rewrites prompt only (no second Generate)
|
||||
- Civitai Confirm required (unless auto-download)
|
||||
- Cards: form fields + previews; **Load Civitai meta** fetches by SHA (`by-hash`); status always explicit
|
||||
|
||||
### Slash commands (client-side, no LLM)
|
||||
|
||||
@@ -35,15 +49,15 @@ SwarmUI extension for **collaborative Krea 2** prompting via **Ollama**: chat +
|
||||
| `/aspect 16:9` | Set size from the official 1K table |
|
||||
| `/seed lock\|random` | Lock or randomize seed |
|
||||
| `/vary` | New seed, same prompt (+ generate if auto) |
|
||||
| `/pack write\|critique\|compose\|params\|inpaint\|describe\|card` | Switch pack |
|
||||
| `/civitai <query>` | Ask LLM to search Civitai (Confirm still required) |
|
||||
| `/pack write\|critique\|…` | Switch pack |
|
||||
| `/civitai <query>` | Ask LLM to search Civitai |
|
||||
| `/inventory` | Rescan models + refresh LoRA list |
|
||||
|
||||
## Requirements
|
||||
|
||||
- SwarmUI with a **Krea 2** checkpoint selected
|
||||
- Ollama on `http://127.0.0.1:11434` **on the GPU VM** (gpu-rent `LLM_RUNTIME=ollama`)
|
||||
- At least one pulled model
|
||||
- Chat model + memory embed (`use: memory` in `ollama-models.yaml`; gpu-rent creates CPU variant)
|
||||
- Optional: Civitai API key in SwarmUI User Settings
|
||||
|
||||
## Install
|
||||
@@ -58,40 +72,30 @@ swarmui:
|
||||
|
||||
Restart / rebuild SwarmUI after clone. gpu-rent: `seed-extensions` + restart.
|
||||
|
||||
## Prompt packs
|
||||
## Packs & skills
|
||||
|
||||
| Pack | Role |
|
||||
| --- | --- |
|
||||
| `base_krea2` | Always injected |
|
||||
| `write_prompt` | Craft / improve prompts |
|
||||
| `critique_image` | Vision critique |
|
||||
| `compose_scene` | Scene via board refs |
|
||||
| `fix_params` | Aspect / steps / CFG / seed (`krea_profile` in live context) |
|
||||
| `inpaint_edit` | Init + Mask |
|
||||
| `describe_ref` | Vision → prompt |
|
||||
| `catalog_card` | Recommendation card JSON |
|
||||
**Packs** (one active): `write_prompt`, `critique_image`, `compose_scene`, `fix_params`, `inpaint_edit`, `describe_ref`, `catalog_card`.
|
||||
|
||||
**Personas:** `neutral`, `lewd`, `aggressive`, `cinema`, `terse`. Overlay: `/mnt/swarm_data/Assistent/personas.json` (gpu-rent seeds from `assistent-personas.yaml` → yaml + json). Assistent reads **json** only.
|
||||
**Skills** (checkboxes): `prompting`, `creativity_sliders`, `memory` — procedures, not model encyclopedia (facts live in memory-seed).
|
||||
|
||||
**Taste:** `/mnt/swarm_data/Assistent/taste.json` via `AssistentGetTaste` / `AssistentSaveTaste` (merged with browser localStorage by `updated`).
|
||||
|
||||
**Cards:** `{stem}.assistent.json` next to weights; Civitai sidecar `{stem}.civitai.json`. Wanted queue → `.gpu-rent-wanted-models.yaml`.
|
||||
**Personas:** `neutral`, `lewd`, `aggressive`, `cinema`, `terse` under `Config/personas/`.
|
||||
|
||||
## API routes
|
||||
|
||||
| Route | Role |
|
||||
| --- | --- |
|
||||
| `AssistentListModels` | Ollama `/api/tags` |
|
||||
| `AssistentListModels` | Ollama tags → `models` (chat) + `memory_models` |
|
||||
| `AssistentGetConfig` | Merged preset for persona (ui, packs, skills, identity) |
|
||||
| `AssistentGetSettings` / `AssistentSaveSettings` | Overlay settings (skills, embed_model) |
|
||||
| `AssistentListInventory` | LoRA / checkpoint / wildcard inventory |
|
||||
| `AssistentListPersonas` | Bundled + overlay personas |
|
||||
| `AssistentListPersonas` | Persona catalog |
|
||||
| `AssistentGetPacks` | Prompt pack texts |
|
||||
| `AssistentGetCard` / `AssistentSaveCard` | `.assistent.json` cards |
|
||||
| `AssistentGetCardMeta` | Local sidecar + optional `fetch=true` Civitai by-hash |
|
||||
| `AssistentGetCard` / `AssistentSaveCard` | `.assistent.json` cards (+ memory ingest) |
|
||||
| `AssistentGetCardMeta` | Local sidecar + optional Civitai by-hash |
|
||||
| `AssistentEnqueueWanted` | Wanted YAML queue |
|
||||
| `AssistentGetTaste` / `AssistentSaveTaste` | Persistent taste profile |
|
||||
| `AssistentSearchCivitai` | Civitai LoRA search |
|
||||
| `AssistentChat` | HTTP chat (+ Civitai hop) |
|
||||
| `AssistentChatWS` | Streaming chat WebSocket |
|
||||
| `AssistentChat` / `AssistentChatWS` | Chat (+ memory retrieve + Civitai hop) |
|
||||
|
||||
## License
|
||||
|
||||
|
||||
Reference in New Issue
Block a user