v3.10.7 — Prompt Enhancer: offline + AI-powered modes, per-provider toggle

This commit is contained in:
Roman | RyzenAdvanced
2026-05-25 21:04:30 +04:00
Unverified
parent 869a2625fc
commit f3f536e428
8 changed files with 239 additions and 10 deletions

View File

@@ -225,6 +225,26 @@ class EditEndpointDialog:
add_field("Reasoning:", lambda: reason_frame)
self._on_reasoning_toggled()
enhancer_frame = ttk.Frame(grid)
self._enhancer_var = tk.BooleanVar(value=self._data.get("prompt_enhancer", False))
ttk.Checkbutton(enhancer_frame, text="Prompt Enhancer", variable=self._enhancer_var).pack(side="left")
self._enhancer_mode = ttk.Combobox(enhancer_frame, values=["offline", "ai-powered"], state="readonly", width=10)
self._enhancer_mode.set(self._data.get("prompt_enhancer_mode", "offline"))
self._enhancer_mode.pack(side="left", padx=(8, 0))
add_field("Enhancer:", lambda: enhancer_frame)
self._entry_enhancer_model = ttk.Entry(grid)
self._entry_enhancer_model.insert(0, self._data.get("prompt_enhancer_model", ""))
add_field("Enhancer Model:", lambda: self._entry_enhancer_model)
self._entry_enhancer_url = ttk.Entry(grid)
self._entry_enhancer_url.insert(0, self._data.get("prompt_enhancer_url", ""))
add_field("Enhancer URL:", lambda: self._entry_enhancer_url)
self._entry_enhancer_key = ttk.Entry(grid, show="*")
self._entry_enhancer_key.insert(0, self._data.get("prompt_enhancer_key", ""))
add_field("Enhancer Key:", lambda: self._entry_enhancer_key)
grid.columnconfigure(1, weight=1)
ttk.Label(main, text="Models:").pack(anchor="w", pady=(8, 2))
@@ -713,10 +733,21 @@ class EditEndpointDialog:
"provider_preset": self._combo_preset.get() or "Custom",
"reasoning_enabled": self._reason_var.get(),
"reasoning_effort": self._combo_effort.get() or "medium",
"prompt_enhancer": self._enhancer_var.get(),
"prompt_enhancer_mode": self._enhancer_mode.get() or "offline",
}
cc_ver = self._entry_cc_ver.get().strip()
if cc_ver:
new_ep["cc_version"] = cc_ver
enh_model = self._entry_enhancer_model.get().strip()
enh_url = self._entry_enhancer_url.get().strip()
enh_key = self._entry_enhancer_key.get().strip()
if enh_model:
new_ep["prompt_enhancer_model"] = enh_model
if enh_url:
new_ep["prompt_enhancer_url"] = enh_url
if enh_key:
new_ep["prompt_enhancer_key"] = enh_key
preset_name = self._combo_preset.get() or "Custom"
preset = PROVIDER_PRESETS.get(preset_name, {})
if preset.get("oauth_provider"):