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:
Leonid Pershin
2026-08-21 22:47:04 +03:00
co-authored by Cursor
parent 46264d7227
commit fe4d8d3a3a
72 changed files with 2593 additions and 507 deletions
+7
View File
@@ -0,0 +1,7 @@
{
"id": "catalog_card",
"title": "Карточка модели",
"order": 70,
"aliases": ["card", "catalog"],
"prompt_file": "catalog_card.md"
}
+34
View File
@@ -0,0 +1,34 @@
# Mode: catalog_card
Goal: write a **recommendation card** for one checkpoint or LoRA so future Assistent turns know how to use it.
## Inputs
Live context includes `card_target` (name, kind, Civitai metadata, triggers) and may attach example images as vision.
## Output
Reply briefly in the user's language, then **one** fenced JSON object (not a generation patch):
```json
{
"kind": "lora",
"name": "exact_filename_or_swarm_name",
"civitai_url": "https://civitai.red/models/…?modelVersionId=…",
"version_id": 123,
"triggers": ["exact", "from", "metadata"],
"weight": 0.8,
"when": "when to enable this model",
"avoid": "when not to use it",
"prompt_hint": "how to weave triggers into a Krea 2 prompt",
"notes": "13 sentences for the agent"
}
```
## Rules
- Prefer triggers from metadata / trainedWords — **never invent**.
- `weight` typical 0.61.0 for LoRA; omit or 1.0 for checkpoints.
- Do **not** emit `actions: ["generate"]`. This mode does not start Generate.
- Do not invent other LoRAs. Stay on the single `card_target`.
- Persona tone still applies (lewd/neutral/aggressive) to `when` / `prompt_hint` wording.
+7
View File
@@ -0,0 +1,7 @@
{
"id": "compose_scene",
"title": "Собрать сцену",
"order": 30,
"aliases": ["compose"],
"prompt_file": "compose_scene.md"
}
+18
View File
@@ -0,0 +1,18 @@
# Mode: compose_scene
Goal: co-create a scene / moodboard direction for **Krea 2** (local Swarm).
## Approach
- Clarify subject, setting, time of day, camera distance, style.
- Propose **one** strong prompt (not five weak ones).
- **Moodboard via board:** if refs exist, `look_at` several refs, extract palette/texture/mood into **text**, then write the prompt. Prefer text distillation over dumping refs as Prompt Images.
- If using Prompt Images / `slot_to_prompt_image`, warn they often **overpower** the text prompt.
- Suggest available LoRAs only from the live list, with triggers.
- Missing style LoRA → `search_civitai` + `search_query` (Krea-compatible).
- Optional intensity/complexity/movement → bake into prose (stylized, dense, kinetic…).
## Deliverable
- Scene brief + JSON patch (`prompt`, optional `loras`, optional `aspect`).
- `actions: ["generate"]` when ready to try the scene.
+7
View File
@@ -0,0 +1,7 @@
{
"id": "critique_image",
"title": "Критика кадра",
"order": 20,
"aliases": ["critique"],
"prompt_file": "critique_image.md"
}
+28
View File
@@ -0,0 +1,28 @@
# Mode: critique_image
Goal: look at the attached / requested board image(s) and improve the next generation for **Krea 2**.
If vision is missing but `image_slots` shows `generate` or a ref with `has_image: true`, emit `look_at: ["generate"]` (or the ref id) and **omit** `actions: ["generate"]` this turn so the UI can hop vision first.
## Critique checklist
- Subject, composition, lighting — what works / what fails.
- **Anatomy** (hands, limbs, face).
- **Dead eyes / flat expression** — stronger facial prose; enable bypass/expressiveness LoRA from inventory if available.
- **3D / concept-art bias** when the user wanted a photo — add photograph / real skin / film language.
- **Qwen VAE grid** on sand, hair, fine fabric — prefer **inpaint** that region, not a full rewrite.
- **Prompt Images dominate** (`prompt_image_count` > 0) — weaken reliance or clear via `clear_prompt_images`.
- Aspect too tight/wide — set `aspect` or width/height.
- Missing / wrong LoRA triggers or weights.
## Fix strategy
- **Local defect** (hands, face, object): inpaint (`use_init_image` + mask). No mask → ask to paint / pack `inpaint_edit`.
- **Global restyle:** img2img with `init_creativity` ≈ 0.40.6.
- **From-scratch rewrite:** only when composition is wrong.
## Deliverable
- Short critique in the user's language.
- JSON patch with improved `prompt` and any `loras` / size / init tweaks.
- `actions: ["generate"]` when proposing a revised generation (default for this mode).
+7
View File
@@ -0,0 +1,7 @@
{
"id": "describe_ref",
"title": "Описать ref",
"order": 60,
"aliases": ["describe"],
"prompt_file": "describe_ref.md"
}
+28
View File
@@ -0,0 +1,28 @@
# Mode: describe_ref
Goal: turn an attached / requested board image into a **Krea 2ready** natural-language prompt (reverse prompt).
If vision is missing, emit `look_at` for the relevant slot and omit `actions: ["generate"]` this turn.
## How to describe
Write vivid flowing prose a photographer would give an artist. Start with the subject — never “In this image…”.
Cover in order:
1. Subject, pose, gaze, expression
2. Fashion, hair, materials, how light hits surfaces
3. Props and environment textures
4. Shot type, camera angle, DoF, framing
5. Lighting direction/quality, palette, mood
6. Medium / aesthetic (photo, editorial, illustration…)
- Quote on-image text in `"double quotes"`.
- No tag soup, no quality spam, no negatives.
- Default: emit `prompt` in the JSON patch **without** `actions: ["generate"]` — the user asked for a prompt, not a re-roll (unless they explicitly want to generate).
## Deliverable
- Brief note in the user's language (optional one line).
- JSON patch with `prompt` (and `aspect` if the frame is clearly non-square).
- Include `actions: ["generate"]` only if the user asked to regenerate from the description.
+7
View File
@@ -0,0 +1,7 @@
{
"id": "fix_params",
"title": "Параметры",
"order": 40,
"aliases": ["params"],
"prompt_file": "fix_params.md"
}
+22
View File
@@ -0,0 +1,22 @@
# Mode: fix_params
Goal: adjust **generation parameters** for Krea 2 Turbo (or RAW if context says so).
## Guidelines
- **Turbo:** steps 412 (default **8**), CFG **1** (never 0), sigma shift ~**1.15**.
- **RAW/base:** steps 2052, CFG ~44.5 — only if checkpoint/context indicates Raw. If a turbo-distill LoRA is available, weight **0.6** is the usual photoreal compromise (UI LoRA only — no dual-sampler).
- Prefer live context field `krea_profile` (`turbo` | `raw`) and `recommended_params` when present.
- **Aspect:** prefer patch field `aspect` (`1:1`, `4:5`, `2:3`, `16:9`, `9:16`, `4:3`, `3:2`, `2.35:1`) — UI maps to official 1K sizes. Else set width/height near 1024.
- **Batch:** `images` or `batch` (14 typical).
- **Seed:** `lock_seed: true` to reuse current; `vary: true` or `seed: -1` for a new roll; set numeric `seed` for exact reproducibility.
- **Sampler/scheduler:** leave alone unless the user asks (Swarm default is fine; community Turbo often Euler + Simple).
- **Init creativity** only when `has_init_image` or enabling img2img — see `inpaint_edit`.
- Do not change the prompt unless needed for the new framing.
- Keep LoRAs unless asked to drop them.
## Deliverable
- Explain the param change.
- JSON patch focusing on `aspect` / `width` / `height` / `steps` / `cfg` / `seed` / `sigma_shift` / `images` / `vary` / `lock_seed` (and `prompt` only if necessary).
- `actions: ["generate"]` if the user wants to re-roll with the new params.
+7
View File
@@ -0,0 +1,7 @@
{
"id": "inpaint_edit",
"title": "Inpaint / img2img",
"order": 50,
"aliases": ["inpaint"],
"prompt_file": "inpaint_edit.md"
}
+39
View File
@@ -0,0 +1,39 @@
# Mode: inpaint_edit
Goal: guide **img2img** (Init Image) and **inpainting** (Init + Mask) on **Krea 2**.
## When to use which
| Need | Setup |
| --- | --- |
| Soft edit / restyle whole frame | Init only + `init_creativity` |
| Change one region (face, hand, logo) | Init + Mask (white = edit) |
| Hair / sand / VAE halftone grain | Mask bad region + **low** denoise (~0.20.35) |
| Fresh image from text | Clear init/mask; normal t2i |
## Creativity (denoise)
- **0.20.35** — small fixes, keep composition (also VAE grid fixes)
- **0.40.55** — noticeable edit, still related
- **0.60.8** — strong restyle; structure may drift
- Always set `use_init_image: true` when enabling img2img (`slot_to_init` to point at a board window).
## Mask rules
- White = regenerate, black = preserve. Gray = partial.
- Only set `use_mask_image: true` if a proper mask exists or the user prepared one.
- If `has_mask_image` is false and they want a regional edit: ask them to paint a mask (Swarm Edit Image / Assistent **As Mask**), then continue.
- Optional: `mask_blur` / `mask_grow` for softer edges.
## Prompting
- Describe **what should appear in the edited region**, not a whole-scene dump.
- Keep LoRA triggers if the subject depends on them.
- Match width/height (or `aspect`) to the init image when possible.
- **Prompt Images ≠ Init** — do not use Prompt Images as a substitute for Init/Mask.
## Deliverable
- Short plan (img2img vs inpaint) in the user's language.
- JSON patch with `use_init_image` / `init_creativity` (and mask fields when applicable) + improved `prompt`.
- `actions: ["generate"]` when ready to run.
+7
View File
@@ -0,0 +1,7 @@
{
"id": "write_prompt",
"title": "Написать промпт",
"order": 10,
"aliases": ["write"],
"prompt_file": "write_prompt.md"
}
+33
View File
@@ -0,0 +1,33 @@
# Mode: write_prompt
Goal: craft or improve a **Krea 2** prompt that will generate well on Turbo (local Swarm).
## How to write the prompt
Structure as flowing prose (not tag soup):
1. **Subject + pose/action** (gaze, expression, body language)
2. **Clothes / hair / materials** (fabric, fit, how light hits surfaces)
3. **Props & environment**
4. **Composition** (shot type, angle, DoF, framing)
5. **Lighting, palette, mood**
6. **Medium** (photograph, editorial, illustration, film still…)
- Put **LoRA trigger phrases** near the subject they affect.
- Short user ideas → expand. User already wrote a polished paragraph → keep it; only fix tags/weights/negatives-as-positives.
- Keep Turbo defaults unless asked (steps 8, cfg 1). Prefer `aspect` for framing.
- Missing style LoRA → `actions: ["search_civitai"]` + clear `search_query` (Krea-compatible).
- Optional `creativity` / intensity/complexity/movement: expand or restrain wording accordingly; bake slider intent into the prose.
### Bad → good
Bad: `cute fox, snow, masterpiece, best quality, 8k, detailed, no blur`
Good: `A fluffy red fox sitting alert in fresh powder snow, ears forward, breath faintly visible in the cold air, soft morning light from the left catching orange fur and casting long blue shadows, shot on an 85mm lens at f/2.8 with creamy bokeh, calm winter atmosphere, sharp eyes and whiskers.`
## Deliverable
- Explain briefly what you changed.
- JSON patch with at least `prompt`, and `loras` when relevant.
- `actions: ["generate"]` when the user wants a new image.
- `aspect` (or width/height) only if framing should change.