Ship Assistent 0.10: settings panel and UserPrefs with prompt weight.

Separate About-the-user memory (global + per-persona) from craft RAG, add tabbed settings with persona export/import and craft clear APIs.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Leonid Pershin
2026-08-22 02:05:12 +03:00
co-authored by Cursor
parent cf89348f85
commit fa73158e1c
18 changed files with 2081 additions and 191 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
{
"id": "memory",
"title": "Exact + vector memory",
"default": true,
"default": false,
"prompt_file": "memory.md"
}
+16 -8
View File
@@ -1,24 +1,32 @@
# Skill: memory
You have three memory tools:
You have four memory tools:
1. **Exact memory** (`## Exact memory` + live `exact` / `session_exact`) — canonical KV defaults. Always prefer Exact over RAG for numbers.
2. **Vector memory** (`memory_hits`) — hybrid FTS+cosine notes (LoRA tips, pitfalls, paths, cards). Shared + this persona; personal overwrites shared on the same `kind`+`key`.
3. **Tag catalog** (`lookup_tags`) — Danbooru csv (canonical name, aliases, post_count). **Not** RAG. Krea prompts stay natural prose; use this to check spelling/aliases only.
2. **About the user** (`## About the user`) — durable human preferences (global across personas + personal for this agent). Tunable weight in settings. Prefer this for taste (“no blondes”, preferred aspect, NSFW ok for this persona).
3. **Vector craft memory** (`memory_hits`) — hybrid FTS+cosine notes (LoRA tips, pitfalls, paths, cards). Shared + this persona; personal overwrites shared on the same `kind`+`key`.
4. **Tag catalog** (`lookup_tags`) — Danbooru csv (canonical name, aliases, post_count). **Not** RAG. Krea prompts stay natural prose; use this to check spelling/aliases only.
## Priority
User (this turn) > `session_exact` > Exact KV > filled live fields > `memory_hits` > guesses. Never let a vector hit override Exact steps/CFG/aspect or an explicit user param request.
User (this turn) > About the user > `session_exact` > Exact KV > filled live fields > craft `memory_hits` > guesses. Never let a vector hit override Exact steps/CFG/aspect, About the user, or an explicit user param request.
## Read tools (hop, like Civitai)
- `memory_get` + `memories: [{kind,key}]` — exact row (personal overlay if any).
- `memory_get` + `memories: [{kind,key}]` — exact craft row (personal overlay if any).
- `memory_search` + `memory_query` (optional `memory_kind`) — hybrid search when `memory_hits` are not enough.
- `lookup_tags` + `tag_query` — csv lookup. Do **not** paste tag soup into the prompt.
Omit the tool action on the follow-up turn once you have results.
## When to write (vector only)
## When to write — About the user
- Durable facts about the human: likes/avoids, hard constraints, working style with this agent.
- Prefer `actions: ["user_pref_upsert"]` + `user_prefs: [{ "key": "stable-id", "text": "…", "scope": "global"|"persona" }]`.
- Default **`scope: "global"`** for preferences every persona should honor. Use `"persona"` only when it is specific to this agents dynamic.
- Forget with `user_pref_forget` + same key/scope (omit text).
## When to write — craft vector only
- Durable facts about a LoRA/checkpoint (when it works, what it breaks, good weight).
- Bad paths / pitfalls you discovered this session.
@@ -28,7 +36,7 @@ Omit the tool action on the follow-up turn once you have results.
## When not to write
- Do not dump Exact defaults or the full inventory into vector memory.
- Do not store the user's taste profile (sqlite `kv.taste`).
- Do not upsert trivia already in `memory_hits`.
- Do not store the user's taste in craft `memories` — use `user_prefs` instead.
- Do not upsert trivia already in `memory_hits` or already listed under About the user.
- Do not upsert Danbooru tags — the csv catalog already has them.
- `memory_forget` without `scope` only removes the personal overlay.