Add personas and model Cards (0.5.1): tone presets, stem.assistent.json, wanted queue.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Leonid Pershin
2026-08-21 21:25:01 +03:00
co-authored by Cursor
parent b8145c6455
commit 0b429542b5
10 changed files with 1573 additions and 84 deletions
+68 -27
View File
@@ -24,8 +24,15 @@
<div class="sa-chat-title">
Assistent
<span class="sa-live-dot" id="sa_live_dot" hidden></span>
<div class="sa-subtabs" role="tablist">
<button type="button" class="sa-subtab sa-subtab-active" data-view="chat" id="sa_tab_chat">Chat</button>
<button type="button" class="sa-subtab" data-view="cards" id="sa_tab_cards">Cards</button>
</div>
</div>
<div class="sa-header-right">
<select id="sa_persona" class="sa-select" title="Character / tone">
<option value="neutral">Нейтральный</option>
</select>
<select id="sa_pack" class="sa-select" title="Prompt pack">
<option value="write_prompt">Write prompt</option>
<option value="critique_image">Critique image</option>
@@ -33,6 +40,7 @@
<option value="fix_params">Fix params</option>
<option value="inpaint_edit">Inpaint / img2img</option>
<option value="describe_ref">Describe ref</option>
<option value="catalog_card">Catalog card</option>
</select>
<select id="sa_model" class="sa-select sa-model-select" title="Ollama model">
<option value="">Loading models…</option>
@@ -50,35 +58,68 @@
<label class="sa-check"><input type="checkbox" id="sa_auto_critique" /> Auto-critique after generate</label>
<label class="sa-check sa-danger" title="Dangerous — downloads without Confirm"><input type="checkbox" id="sa_auto_download" /> Auto-download Civitai (off)</label>
</div>
<div class="sa-messages" id="sa_messages">
<div class="sa-chat-empty" id="sa_chat_empty">
<div class="sa-chat-empty-title">Collaborative Krea 2</div>
<div class="sa-chat-empty-hint">Write a prompt, drop refs, use aspect chips, or type <code>/help</code>.</div>
<div class="sa-view" id="sa_view_chat">
<div class="sa-messages" id="sa_messages">
<div class="sa-chat-empty" id="sa_chat_empty">
<div class="sa-chat-empty-title">Collaborative Krea 2</div>
<div class="sa-chat-empty-hint">Write a prompt, drop refs, pick a persona, or open <em>Cards</em> for LoRA tips.</div>
</div>
</div>
<div class="sa-livebar" id="sa_livebar" hidden>
<span class="sa-spinner" aria-hidden="true"></span>
<span class="sa-livebar-text" id="sa_livebar_text">Working…</span>
<span class="sa-elapsed" id="sa_elapsed"></span>
</div>
<div class="sa-composer" id="sa_composer">
<div class="sa-chips" id="sa_chips" role="toolbar" aria-label="Quick params">
<button type="button" class="sa-chip" data-aspect="1:1" title="1024×1024">1:1</button>
<button type="button" class="sa-chip" data-aspect="4:5" title="928×1152">4:5</button>
<button type="button" class="sa-chip" data-aspect="2:3" title="832×1248">2:3</button>
<button type="button" class="sa-chip" data-aspect="16:9" title="1376×768">16:9</button>
<button type="button" class="sa-chip" data-aspect="9:16" title="768×1376">9:16</button>
<span class="sa-chip-sep" aria-hidden="true"></span>
<button type="button" class="sa-chip" data-seed="lock" title="Keep current seed">Seed lock</button>
<button type="button" class="sa-chip" data-seed="random" title="Random seed">Seed 1</button>
<button type="button" class="sa-chip" data-vary="1" title="Same prompt, new seed + generate">Vary</button>
</div>
<textarea id="sa_input" rows="3" placeholder="Ask for a prompt, img2img, critique… Enter = send · /help = commands"></textarea>
<div class="sa-composer-actions">
<button type="button" class="basic-button sa-primary" id="sa_btn_send">Send</button>
<button type="button" class="basic-button" id="sa_btn_interrupt" title="Interrupt generation / chat" hidden>Interrupt</button>
<button type="button" class="basic-button" id="sa_btn_clear">Clear chat</button>
<span class="sa-status" id="sa_status"></span>
</div>
</div>
</div>
<div class="sa-livebar" id="sa_livebar" hidden>
<span class="sa-spinner" aria-hidden="true"></span>
<span class="sa-livebar-text" id="sa_livebar_text">Working…</span>
<span class="sa-elapsed" id="sa_elapsed"></span>
</div>
<div class="sa-composer" id="sa_composer">
<div class="sa-chips" id="sa_chips" role="toolbar" aria-label="Quick params">
<button type="button" class="sa-chip" data-aspect="1:1" title="1024×1024">1:1</button>
<button type="button" class="sa-chip" data-aspect="4:5" title="928×1152">4:5</button>
<button type="button" class="sa-chip" data-aspect="2:3" title="832×1248">2:3</button>
<button type="button" class="sa-chip" data-aspect="16:9" title="1376×768">16:9</button>
<button type="button" class="sa-chip" data-aspect="9:16" title="768×1376">9:16</button>
<span class="sa-chip-sep" aria-hidden="true"></span>
<button type="button" class="sa-chip" data-seed="lock" title="Keep current seed">Seed lock</button>
<button type="button" class="sa-chip" data-seed="random" title="Random seed">Seed 1</button>
<button type="button" class="sa-chip" data-vary="1" title="Same prompt, new seed + generate">Vary</button>
</div>
<textarea id="sa_input" rows="3" placeholder="Ask for a prompt, img2img, critique… Enter = send · /help = commands"></textarea>
<div class="sa-composer-actions">
<button type="button" class="basic-button sa-primary" id="sa_btn_send">Send</button>
<button type="button" class="basic-button" id="sa_btn_interrupt" title="Interrupt generation / chat" hidden>Interrupt</button>
<button type="button" class="basic-button" id="sa_btn_clear">Clear chat</button>
<span class="sa-status" id="sa_status"></span>
<div class="sa-view" id="sa_view_cards" hidden>
<div class="sa-cards-layout">
<div class="sa-cards-list-pane">
<div class="sa-cards-filter">
<select id="sa_cards_kind" class="sa-select">
<option value="all">All</option>
<option value="checkpoint">Checkpoints</option>
<option value="lora">LoRAs</option>
</select>
<button type="button" class="basic-button" id="sa_btn_cards_refresh">Refresh</button>
</div>
<div class="sa-cards-list" id="sa_cards_list"></div>
</div>
<div class="sa-cards-editor-pane">
<div class="sa-cards-editor-head">
<strong id="sa_card_title">Select a model</strong>
<span class="sa-card-badge" id="sa_card_badge" hidden></span>
</div>
<textarea id="sa_card_json" rows="16" placeholder="Card JSON will appear here…" spellcheck="false"></textarea>
<div class="sa-cards-actions">
<button type="button" class="basic-button" id="sa_btn_card_meta">Load Civitai meta</button>
<button type="button" class="basic-button sa-primary" id="sa_btn_card_generate">Generate with Assistent</button>
<button type="button" class="basic-button" id="sa_btn_card_save">Save card</button>
<button type="button" class="basic-button" id="sa_btn_card_wanted" title="Add to next-up download list">Enqueue wanted</button>
<span class="sa-status" id="sa_card_status"></span>
</div>
</div>
</div>
</div>
</section>