Add exact KV memory with persona overlays and param priority.
Canonical defaults live in exact.json (UI fills empties without an LLM call); chat session overrides beat file defaults until clear/persona change. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
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.7.0** — Config/_base + persona folders, skills, memory-seed → SQLite, Ollama `use: chat|memory`, slim inventory via retrieve.
|
||||
**Version 0.7.0** — Config/_base + persona folders, skills, **exact KV memory** + vector memory-seed → SQLite, Ollama `use: chat|memory`, slim inventory via retrieve.
|
||||
|
||||
## Layout
|
||||
|
||||
@@ -15,20 +15,29 @@ SwarmUI extension for **collaborative Krea 2** prompting via **Ollama**: chat +
|
||||
|
||||
```
|
||||
Config/
|
||||
_base/ # defaults (assistant, ui, models/krea2, core, packs, skills, memory-seed, identity)
|
||||
personas/<id>/ # sparse preset: persona/voice/likes/dislikes/rules + optional overrides
|
||||
_base/ # defaults (assistant, ui, models/krea2, exact.json, core, packs, skills, memory-seed, identity)
|
||||
personas/<id>/ # sparse preset: persona/voice/likes/dislikes/rules + optional exact.json / 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.
|
||||
|
||||
## Exact memory (KV)
|
||||
|
||||
- `Config/_base/exact.json` — canonical generation defaults, profiles (turbo/raw), aspect table, short facts
|
||||
- Persona / disk overlays merge via DeepMerge (matching keys overwrite)
|
||||
- Always injected into the system prompt; UI fills **empty** SwarmUI fields from Exact (no LLM call)
|
||||
- Chat-session overrides (`session_exact`) last until persona change or clear chat — not written to disk
|
||||
- Priority: core contract → current user → session_exact → exact (+ persona) → live fields → vector `memory_hits`
|
||||
|
||||
## Vector memory
|
||||
|
||||
- SQLite + Ollama `/api/embed` (default `nomic-embed-text`, pick in ⚙)
|
||||
- First chat seeds `Config/_base/memory-seed/` (Krea facts, aspect, pitfalls)
|
||||
- First chat seeds `Config/_base/memory-seed/` (pointers + pitfalls; numbers live in Exact)
|
||||
- Agents upsert via patch `memory_upsert` / `memory_forget`
|
||||
- Cards ingest on save; retrieve → `memory_hits` in live context (inventory slimmed)
|
||||
- Soft notes only — Exact and the user beat RAG for params
|
||||
|
||||
## UX
|
||||
|
||||
@@ -76,7 +85,7 @@ Restart / rebuild SwarmUI after clone. gpu-rent: `seed-extensions` + restart.
|
||||
|
||||
**Packs** (one active): `write_prompt`, `critique_image`, `compose_scene`, `fix_params`, `inpaint_edit`, `describe_ref`, `catalog_card`.
|
||||
|
||||
**Skills** (checkboxes): `prompting`, `creativity_sliders`, `memory` — procedures, not model encyclopedia (facts live in memory-seed).
|
||||
**Skills** (checkboxes): `prompting`, `creativity_sliders`, `memory` — procedures; encyclopedia numbers live in Exact, soft notes in memory-seed / RAG.
|
||||
|
||||
**Personas:** `neutral`, `lewd`, `aggressive`, `cinema`, `terse` under `Config/personas/`.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user