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:
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"id": "catalog_card",
|
||||
"title": "Карточка модели",
|
||||
"order": 70,
|
||||
"aliases": ["card", "catalog"],
|
||||
"prompt_file": "catalog_card.md"
|
||||
}
|
||||
@@ -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": "1–3 sentences for the agent"
|
||||
}
|
||||
```
|
||||
|
||||
## Rules
|
||||
|
||||
- Prefer triggers from metadata / trainedWords — **never invent**.
|
||||
- `weight` typical 0.6–1.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.
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"id": "compose_scene",
|
||||
"title": "Собрать сцену",
|
||||
"order": 30,
|
||||
"aliases": ["compose"],
|
||||
"prompt_file": "compose_scene.md"
|
||||
}
|
||||
@@ -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.
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"id": "critique_image",
|
||||
"title": "Критика кадра",
|
||||
"order": 20,
|
||||
"aliases": ["critique"],
|
||||
"prompt_file": "critique_image.md"
|
||||
}
|
||||
@@ -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.4–0.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).
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"id": "describe_ref",
|
||||
"title": "Описать ref",
|
||||
"order": 60,
|
||||
"aliases": ["describe"],
|
||||
"prompt_file": "describe_ref.md"
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
# Mode: describe_ref
|
||||
|
||||
Goal: turn an attached / requested board image into a **Krea 2–ready** 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.
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"id": "fix_params",
|
||||
"title": "Параметры",
|
||||
"order": 40,
|
||||
"aliases": ["params"],
|
||||
"prompt_file": "fix_params.md"
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
# Mode: fix_params
|
||||
|
||||
Goal: adjust **generation parameters** for Krea 2 Turbo (or RAW if context says so).
|
||||
|
||||
## Guidelines
|
||||
|
||||
- **Turbo:** steps 4–12 (default **8**), CFG **1** (never 0), sigma shift ~**1.15**.
|
||||
- **RAW/base:** steps 20–52, CFG ~4–4.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` (1–4 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.
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"id": "inpaint_edit",
|
||||
"title": "Inpaint / img2img",
|
||||
"order": 50,
|
||||
"aliases": ["inpaint"],
|
||||
"prompt_file": "inpaint_edit.md"
|
||||
}
|
||||
@@ -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.2–0.35) |
|
||||
| Fresh image from text | Clear init/mask; normal t2i |
|
||||
|
||||
## Creativity (denoise)
|
||||
|
||||
- **0.2–0.35** — small fixes, keep composition (also VAE grid fixes)
|
||||
- **0.4–0.55** — noticeable edit, still related
|
||||
- **0.6–0.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.
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"id": "write_prompt",
|
||||
"title": "Написать промпт",
|
||||
"order": 10,
|
||||
"aliases": ["write"],
|
||||
"prompt_file": "write_prompt.md"
|
||||
}
|
||||
@@ -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.
|
||||
Reference in New Issue
Block a user