Ship Assistent 0.14.0: chat sessions, ask-only hops, and context compression.
Per-chat Generate session with sparse deltas; drop Cards/Civitai/wanted hops; rolling history summary via the same Ollama model with a budget chip and /compress. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -10,7 +10,6 @@
|
||||
</div>
|
||||
<div class="sa-app-tabs" role="tablist" aria-label="Разделы Assistent">
|
||||
<button type="button" class="sa-app-tab sa-app-tab-active" data-view="chat" id="sa_tab_chat" role="tab" aria-selected="true">Чат</button>
|
||||
<button type="button" class="sa-app-tab" data-view="cards" id="sa_tab_cards" role="tab" aria-selected="false">Карточки</button>
|
||||
<button type="button" class="sa-app-tab" data-view="train" id="sa_tab_train" role="tab" aria-selected="false">Обучение</button>
|
||||
<button type="button" class="sa-app-tab" data-view="settings" id="sa_tab_settings" role="tab" aria-selected="false">Настройки</button>
|
||||
</div>
|
||||
@@ -61,6 +60,25 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="sa-header-right">
|
||||
<div class="sa-ctx-wrap" id="sa_ctx_wrap">
|
||||
<button type="button" class="sa-ctx-chip sa-ctx-ok" id="sa_ctx_chip" title="Контекст модели" aria-expanded="false" aria-controls="sa_ctx_panel">
|
||||
<span class="sa-ctx-dot" hidden aria-hidden="true"></span>
|
||||
<span class="sa-ctx-chip-text">— / —</span>
|
||||
</button>
|
||||
<div class="sa-ctx-panel" id="sa_ctx_panel" hidden role="dialog" aria-label="Бюджет контекста">
|
||||
<div class="sa-ctx-panel-head">
|
||||
<strong>Контекст</strong>
|
||||
<button type="button" class="basic-button sa-icon-btn" id="sa_ctx_close" title="Закрыть" aria-label="Закрыть">×</button>
|
||||
</div>
|
||||
<div class="sa-ctx-bar"><div class="sa-ctx-bar-fill" id="sa_ctx_bar_fill"></div></div>
|
||||
<div id="sa_ctx_panel_body" class="sa-ctx-panel-body"></div>
|
||||
<label class="sa-check sa-ctx-auto"><input type="checkbox" id="sa_ctx_auto" checked /> Авто перед отправкой</label>
|
||||
<div class="sa-ctx-actions">
|
||||
<button type="button" class="basic-button sa-primary" id="sa_ctx_compress">Сжать сейчас</button>
|
||||
<button type="button" class="basic-button" id="sa_ctx_reset">Сбросить сжатие</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sa-persona-wrap">
|
||||
<select id="sa_persona" class="sa-select" title="Характер / тон" aria-label="Характер">
|
||||
<option value="neutral">Нейтральный</option>
|
||||
@@ -82,7 +100,7 @@
|
||||
<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 class="sa-chat-empty-hint">Напиши промпт, кинь refs, выбери персону — у каждого чата свои параметры Generate.</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sa-livebar" id="sa_livebar" hidden>
|
||||
@@ -116,62 +134,26 @@
|
||||
</section>
|
||||
<aside class="sa-chats-drawer" id="sa_chats_panel" aria-label="История чатов">
|
||||
<div class="sa-chats-drawer-head">
|
||||
<strong>Чаты</strong>
|
||||
<span class="sa-chats-drawer-label">Чаты</span>
|
||||
<div class="sa-chats-drawer-actions">
|
||||
<button type="button" class="basic-button sa-icon-btn" id="sa_btn_new_chat" title="Новый чат">+</button>
|
||||
<button type="button" class="basic-button sa-icon-btn" id="sa_btn_chats_close" title="Скрыть панель" aria-label="Скрыть историю">×</button>
|
||||
<button type="button" class="sa-chats-icon-btn" id="sa_btn_new_chat" title="Новый чат" aria-label="Новый чат">
|
||||
<svg width="14" height="14" viewBox="0 0 16 16" fill="none" aria-hidden="true"><path d="M8 3v10M3 8h10" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/></svg>
|
||||
</button>
|
||||
<button type="button" class="sa-chats-icon-btn" id="sa_btn_chats_close" title="Скрыть панель" aria-label="Скрыть историю">
|
||||
<svg width="14" height="14" viewBox="0 0 16 16" fill="none" aria-hidden="true"><path d="M4 4l8 8M12 4l-8 8" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/></svg>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<input type="search" class="sa-chats-search" id="sa_chats_search" placeholder="Поиск по истории…" autocomplete="off" />
|
||||
<div class="sa-chats-list" id="sa_chats_list"></div>
|
||||
<div class="sa-chats-panel-hint">Клик по чату восстанавливает сообщения и параметры Generate.</div>
|
||||
<div class="sa-chats-search-wrap">
|
||||
<svg class="sa-chats-search-ico" width="12" height="12" viewBox="0 0 16 16" fill="none" aria-hidden="true"><circle cx="7" cy="7" r="4.5" stroke="currentColor" stroke-width="1.4"/><path d="M10.5 10.5L14 14" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"/></svg>
|
||||
<input type="search" class="sa-chats-search" id="sa_chats_search" placeholder="Поиск…" autocomplete="off" aria-label="Поиск по чатам" />
|
||||
</div>
|
||||
<div class="sa-chats-list" id="sa_chats_list" role="list"></div>
|
||||
</aside>
|
||||
</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_train" hidden>
|
||||
<div class="sa-training" id="sa_training">
|
||||
<div class="sa-training-tabs" role="tablist" aria-label="Разделы обучения">
|
||||
@@ -315,7 +297,7 @@
|
||||
<p class="sa-settings-hint">Автодействия после ответа модели и скилы текущей личности.</p>
|
||||
<label class="sa-check" title="По умолчанию выкл. Кадр смотрит по кнопке «Посмотри результат», /look, или когда модель сама шлёт look_at. Эта галка — после каждого Generate."><input type="checkbox" id="sa_auto_vision" /> После Generate — look_at кадра</label>
|
||||
<label class="sa-check"><input type="checkbox" id="sa_auto_apply" checked /> Авто-применять патч</label>
|
||||
<label class="sa-check" title="Если ход — кадр, Generate без кнопок Apply. Чат и «нравится» не запускают картинку."><input type="checkbox" id="sa_auto_generate" checked /> Авто-Generate после патча</label>
|
||||
<label class="sa-check" title="Устарело в 0.14: Generate запускает модель через generate:true или кнопки из сессии чата." hidden><input type="checkbox" id="sa_auto_generate" /> Авто-Generate после патча</label>
|
||||
<label class="sa-check" title="По умолчанию выкл. Критика кадра — кнопка «Посмотри результат» или /look. Галка шлёт JPEG после каждого Generate."><input type="checkbox" id="sa_auto_critique" /> Авто-критика после Generate</label>
|
||||
<label class="sa-check" title="Выгружает чат-модель перед Generate (keep_alive:0). Для VL 7B обратная загрузка часто 1–2 мин — включай только если Generate падает по VRAM."><input type="checkbox" id="sa_park_llm" /> Park LLM перед Generate (VRAM)</label>
|
||||
<label class="sa-check sa-danger" title="Опасно — скачивает без Confirm"><input type="checkbox" id="sa_auto_download" /> Авто-скачивание Civitai (выкл)</label>
|
||||
@@ -414,12 +396,11 @@
|
||||
<option value="all">Все типы</option>
|
||||
</select>
|
||||
<input type="search" id="sa_mem_search" class="sa-mem-search" placeholder="Поиск…" autocomplete="off" />
|
||||
<button type="button" class="basic-button sa-icon-btn" id="sa_btn_mem_refresh" title="Перечитать память и очередь wanted">⟳</button>
|
||||
<button type="button" class="basic-button sa-icon-btn" id="sa_btn_mem_refresh" title="Перечитать память">⟳</button>
|
||||
</div>
|
||||
<div class="sa-mem-list" id="sa_mem_list"></div>
|
||||
<div class="sa-mem-foot">
|
||||
<span class="sa-mem-total" id="sa_mem_total">Всего: —</span>
|
||||
<span class="sa-mem-wanted" id="sa_mem_wanted" title="Модели в очереди на следующий gpu-rent up">Очередь wanted: —</span>
|
||||
</div>
|
||||
<label>memory_top_k <input type="number" id="sa_memory_top_k" min="1" max="30" step="1" value="10" /></label>
|
||||
<div class="sa-settings-row">
|
||||
@@ -433,6 +414,9 @@
|
||||
<p class="sa-settings-hint">Контекст Ollama и Exact Turbo/RAW (пишется в overlay).</p>
|
||||
<label>num_ctx <input type="number" id="sa_num_ctx" min="2048" max="131072" step="1024" value="16384" /></label>
|
||||
<label>history_keep_turns <input type="number" id="sa_history_keep" min="1" max="32" step="1" value="4" /></label>
|
||||
<label>compress_at <input type="number" id="sa_compress_at" min="0.4" max="0.95" step="0.05" value="0.7" title="Доля от (num_ctx − num_predict)" /></label>
|
||||
<label>chars_per_token <input type="number" id="sa_chars_per_token" min="1.5" max="8" step="0.1" value="3.2" /></label>
|
||||
<label class="sa-check"><input type="checkbox" id="sa_compress_auto" checked /> Автосжатие перед отправкой</label>
|
||||
<div class="sa-skills-label">Exact · Turbo</div>
|
||||
<div class="sa-settings-row sa-knob-row">
|
||||
<label>steps <input type="number" id="sa_exact_turbo_steps" min="1" max="64" step="1" /></label>
|
||||
|
||||
Reference in New Issue
Block a user