Ship Assistent 0.10.18: settings as a peer tab, stream/VRAM chat fixes.
Move settings beside Chat/Cards; stop fence ramble, sticky scroll, horny echo filter, and force-warm after Generate. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -46,6 +46,7 @@
|
||||
<div class="sa-subtabs" role="tablist">
|
||||
<button type="button" class="sa-subtab sa-subtab-active" data-view="chat" id="sa_tab_chat">Чат</button>
|
||||
<button type="button" class="sa-subtab" data-view="cards" id="sa_tab_cards">Карточки</button>
|
||||
<button type="button" class="sa-subtab" data-view="settings" id="sa_tab_settings">Настройки</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sa-chats-panel" id="sa_chats_panel" hidden>
|
||||
@@ -73,10 +74,88 @@
|
||||
<button type="button" class="basic-button sa-icon-btn" id="sa_btn_settings" title="Настройки" aria-label="Настройки">⚙</button>
|
||||
</div>
|
||||
</header>
|
||||
<div class="sa-settings" id="sa_settings" hidden>
|
||||
<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">Совместная работа с Krea 2</div>
|
||||
<div class="sa-chat-empty-hint">Напиши промпт, кинь refs, выбери персону или открой <em>Карточки</em> для LoRA.</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">Работаю…</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="Быстрые параметры"></div>
|
||||
<div class="sa-lora-chips" id="sa_lora_chips" role="toolbar" aria-label="Активные LoRA"></div>
|
||||
<div class="sa-slash-wrap">
|
||||
<textarea id="sa_input" rows="3" placeholder="Промпт, img2img, критика… Enter = отправить · /help = команды"></textarea>
|
||||
<div class="sa-slash-menu" id="sa_slash_menu" hidden role="listbox"></div>
|
||||
</div>
|
||||
<div class="sa-composer-actions">
|
||||
<button type="button" class="basic-button sa-primary" id="sa_btn_send">Отправить</button>
|
||||
<button type="button" class="basic-button sa-btn-gen" id="sa_btn_build_gen" title="Нет патча — Generate с текущим промптом SwarmUI">Собрать + Gen</button>
|
||||
<button type="button" class="basic-button" id="sa_btn_interrupt" title="Прервать генерацию / чат" hidden>Стоп</button>
|
||||
<div class="sa-more-wrap" id="sa_clear_more_wrap">
|
||||
<button type="button" class="basic-button" id="sa_btn_clear" title="Очистить чат">Очистить</button>
|
||||
<button type="button" class="basic-button sa-icon-btn" id="sa_btn_clear_more" title="Ещё варианты очистки" aria-expanded="false">▾</button>
|
||||
<div class="sa-more-menu" id="sa_clear_more_menu" hidden role="menu">
|
||||
<button type="button" class="sa-more-item" id="sa_btn_clear_confirm" role="menuitem">Очистить весь чат…</button>
|
||||
<button type="button" class="sa-more-item" id="sa_btn_clear_patches" role="menuitem">Убрать только патчи</button>
|
||||
</div>
|
||||
</div>
|
||||
<span class="sa-status" id="sa_status"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<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">Все</option>
|
||||
<option value="checkpoint">Checkpoints</option>
|
||||
<option value="lora">LoRAs</option>
|
||||
</select>
|
||||
<button type="button" class="basic-button" id="sa_btn_cards_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">Выбери модель</strong>
|
||||
<span class="sa-card-badge" id="sa_card_badge" hidden></span>
|
||||
</div>
|
||||
<div class="sa-card-previews" id="sa_card_previews" hidden></div>
|
||||
<div class="sa-card-form" id="sa_card_form">
|
||||
<label>Triggers <input type="text" id="sa_card_triggers" placeholder="слово1, слово2" /></label>
|
||||
<label>Weight <input type="number" id="sa_card_weight" step="0.05" min="0" max="2" value="0.8" /></label>
|
||||
<label>When <textarea id="sa_card_when" rows="2" placeholder="Когда использовать"></textarea></label>
|
||||
<label>Avoid <textarea id="sa_card_avoid" rows="2" placeholder="Чего избегать"></textarea></label>
|
||||
<label>Prompt hint <textarea id="sa_card_hint" rows="2" placeholder="Подсказка для промпта"></textarea></label>
|
||||
<label>Notes <textarea id="sa_card_notes" rows="2" placeholder="Заметки"></textarea></label>
|
||||
<label>Civitai URL <input type="text" id="sa_card_url" placeholder="https://civitai…" /></label>
|
||||
<label class="sa-card-json-toggle"><input type="checkbox" id="sa_card_show_json" /> Показать JSON</label>
|
||||
<textarea id="sa_card_json" rows="8" hidden placeholder="Card JSON…" spellcheck="false"></textarea>
|
||||
</div>
|
||||
<div class="sa-cards-actions">
|
||||
<button type="button" class="basic-button sa-primary" id="sa_btn_card_to_chat" title="В чат: используй эту модель/LoRA">В чат</button>
|
||||
<button type="button" class="basic-button" id="sa_btn_card_meta">Загрузить Civitai meta</button>
|
||||
<button type="button" class="basic-button" id="sa_btn_card_generate">Сгенерировать с Assistent</button>
|
||||
<button type="button" class="basic-button" id="sa_btn_card_save">Сохранить карточку</button>
|
||||
<button type="button" class="basic-button" id="sa_btn_card_wanted" title="В очередь на следующий up">В wanted</button>
|
||||
<span class="sa-status" id="sa_card_status"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sa-view" id="sa_view_settings" hidden>
|
||||
<div class="sa-settings" id="sa_settings">
|
||||
<div class="sa-settings-head">
|
||||
<strong>Настройки</strong>
|
||||
<button type="button" class="basic-button sa-icon-btn" id="sa_settings_close" title="Закрыть" aria-label="Закрыть">✕</button>
|
||||
<button type="button" class="basic-button" id="sa_settings_close" title="К чату">← Чат</button>
|
||||
</div>
|
||||
<div class="sa-settings-tabs" role="tablist" aria-label="Разделы настроек">
|
||||
<button type="button" class="sa-stab sa-stab-active" data-stab="behavior" role="tab" aria-selected="true">Поведение</button>
|
||||
@@ -215,83 +294,8 @@
|
||||
</div>
|
||||
</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">Совместная работа с Krea 2</div>
|
||||
<div class="sa-chat-empty-hint">Напиши промпт, кинь refs, выбери персону или открой <em>Карточки</em> для LoRA.</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">Работаю…</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="Быстрые параметры"></div>
|
||||
<div class="sa-lora-chips" id="sa_lora_chips" role="toolbar" aria-label="Активные LoRA"></div>
|
||||
<div class="sa-slash-wrap">
|
||||
<textarea id="sa_input" rows="3" placeholder="Промпт, img2img, критика… Enter = отправить · /help = команды"></textarea>
|
||||
<div class="sa-slash-menu" id="sa_slash_menu" hidden role="listbox"></div>
|
||||
</div>
|
||||
<div class="sa-composer-actions">
|
||||
<button type="button" class="basic-button sa-primary" id="sa_btn_send">Отправить</button>
|
||||
<button type="button" class="basic-button sa-btn-gen" id="sa_btn_build_gen" title="Нет патча — Generate с текущим промптом SwarmUI">Собрать + Gen</button>
|
||||
<button type="button" class="basic-button" id="sa_btn_interrupt" title="Прервать генерацию / чат" hidden>Стоп</button>
|
||||
<div class="sa-more-wrap" id="sa_clear_more_wrap">
|
||||
<button type="button" class="basic-button" id="sa_btn_clear" title="Очистить чат">Очистить</button>
|
||||
<button type="button" class="basic-button sa-icon-btn" id="sa_btn_clear_more" title="Ещё варианты очистки" aria-expanded="false">▾</button>
|
||||
<div class="sa-more-menu" id="sa_clear_more_menu" hidden role="menu">
|
||||
<button type="button" class="sa-more-item" id="sa_btn_clear_confirm" role="menuitem">Очистить весь чат…</button>
|
||||
<button type="button" class="sa-more-item" id="sa_btn_clear_patches" role="menuitem">Убрать только патчи</button>
|
||||
</div>
|
||||
</div>
|
||||
<span class="sa-status" id="sa_status"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<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">Все</option>
|
||||
<option value="checkpoint">Checkpoints</option>
|
||||
<option value="lora">LoRAs</option>
|
||||
</select>
|
||||
<button type="button" class="basic-button" id="sa_btn_cards_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">Выбери модель</strong>
|
||||
<span class="sa-card-badge" id="sa_card_badge" hidden></span>
|
||||
</div>
|
||||
<div class="sa-card-previews" id="sa_card_previews" hidden></div>
|
||||
<div class="sa-card-form" id="sa_card_form">
|
||||
<label>Triggers <input type="text" id="sa_card_triggers" placeholder="слово1, слово2" /></label>
|
||||
<label>Weight <input type="number" id="sa_card_weight" step="0.05" min="0" max="2" value="0.8" /></label>
|
||||
<label>When <textarea id="sa_card_when" rows="2" placeholder="Когда использовать"></textarea></label>
|
||||
<label>Avoid <textarea id="sa_card_avoid" rows="2" placeholder="Чего избегать"></textarea></label>
|
||||
<label>Prompt hint <textarea id="sa_card_hint" rows="2" placeholder="Подсказка для промпта"></textarea></label>
|
||||
<label>Notes <textarea id="sa_card_notes" rows="2" placeholder="Заметки"></textarea></label>
|
||||
<label>Civitai URL <input type="text" id="sa_card_url" placeholder="https://civitai…" /></label>
|
||||
<label class="sa-card-json-toggle"><input type="checkbox" id="sa_card_show_json" /> Показать JSON</label>
|
||||
<textarea id="sa_card_json" rows="8" hidden placeholder="Card JSON…" spellcheck="false"></textarea>
|
||||
</div>
|
||||
<div class="sa-cards-actions">
|
||||
<button type="button" class="basic-button sa-primary" id="sa_btn_card_to_chat" title="В чат: используй эту модель/LoRA">В чат</button>
|
||||
<button type="button" class="basic-button" id="sa_btn_card_meta">Загрузить Civitai meta</button>
|
||||
<button type="button" class="basic-button" id="sa_btn_card_generate">Сгенерировать с Assistent</button>
|
||||
<button type="button" class="basic-button" id="sa_btn_card_save">Сохранить карточку</button>
|
||||
<button type="button" class="basic-button" id="sa_btn_card_wanted" title="В очередь на следующий up">В wanted</button>
|
||||
<span class="sa-status" id="sa_card_status"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user