fix(gui): render persona editor modal correctly and align with Persona model attributes

This commit is contained in:
2026-03-10 21:24:57 -04:00
parent 6b587d76a7
commit ee3a811cc9

View File

@@ -2105,17 +2105,15 @@ def hello():
if pname in personas: if pname in personas:
persona = personas[pname] persona = personas[pname]
self._editing_persona_name = persona.name self._editing_persona_name = persona.name
self._editing_persona_description = persona.description or ""
self._editing_persona_provider = persona.provider or "" self._editing_persona_provider = persona.provider or ""
self._editing_persona_model = persona.model or "" self._editing_persona_model = persona.model or ""
self._editing_persona_system_prompt = persona.system_prompt or "" self._editing_persona_system_prompt = persona.system_prompt or ""
self._editing_persona_temperature = persona.temperature or 0.7 self._editing_persona_temperature = persona.temperature or 0.7
self._editing_persona_max_tokens = persona.max_tokens or 4096 self._editing_persona_max_tokens = persona.max_output_tokens or 4096
self._editing_persona_tool_preset_id = persona.tool_preset_id or "" self._editing_persona_tool_preset_id = persona.tool_preset or ""
self._editing_persona_bias_profile_id = persona.bias_profile_id or "" self._editing_persona_bias_profile_id = persona.bias_profile or ""
import json import json
self._editing_persona_preferred_models = json.dumps(persona.preferred_models) if persona.preferred_models else "[]" self._editing_persona_preferred_models = json.dumps(persona.preferred_models) if persona.preferred_models else "[]"
self._editing_persona_tier_assignments = json.dumps(persona.tier_assignments) if persona.tier_assignments else "{}"
self._editing_persona_is_new = False self._editing_persona_is_new = False
if persona.provider and persona.provider in self.controller.PROVIDERS: if persona.provider and persona.provider in self.controller.PROVIDERS:
self.current_provider = persona.provider self.current_provider = persona.provider
@@ -2123,37 +2121,34 @@ def hello():
self.current_model = persona.model self.current_model = persona.model
if persona.temperature is not None: if persona.temperature is not None:
ai_client.temperature = persona.temperature ai_client.temperature = persona.temperature
if persona.max_tokens: if persona.max_output_tokens:
ai_client.max_output_tokens = persona.max_tokens ai_client.max_output_tokens = persona.max_output_tokens
if persona.system_prompt: if persona.system_prompt:
ai_client.system_instruction = persona.system_prompt ai_client.system_instruction = persona.system_prompt
if persona.tool_preset_id: if persona.tool_preset:
self.ui_active_tool_preset = persona.tool_preset_id self.ui_active_tool_preset = persona.tool_preset
ai_client.set_tool_preset(persona.tool_preset_id) ai_client.set_tool_preset(persona.tool_preset)
if persona.bias_profile_id: if persona.bias_profile:
self.ui_active_bias_profile = persona.bias_profile_id self.ui_active_bias_profile = persona.bias_profile
ai_client.set_bias_profile(persona.bias_profile_id) ai_client.set_bias_profile(persona.bias_profile)
imgui.end_combo() imgui.end_combo()
imgui.same_line() imgui.same_line()
if imgui.button("Edit##persona"): if imgui.button("Edit##persona"):
if self.ui_active_persona and self.ui_active_persona in personas: if self.ui_active_persona and self.ui_active_persona in personas:
persona = personas[self.ui_active_persona] persona = personas[self.ui_active_persona]
self._editing_persona_name = persona.name self._editing_persona_name = persona.name
self._editing_persona_description = persona.description or ""
self._editing_persona_provider = persona.provider or "" self._editing_persona_provider = persona.provider or ""
self._editing_persona_model = persona.model or "" self._editing_persona_model = persona.model or ""
self._editing_persona_system_prompt = persona.system_prompt or "" self._editing_persona_system_prompt = persona.system_prompt or ""
self._editing_persona_temperature = persona.temperature or 0.7 self._editing_persona_temperature = persona.temperature or 0.7
self._editing_persona_max_tokens = persona.max_tokens or 4096 self._editing_persona_max_tokens = persona.max_output_tokens or 4096
self._editing_persona_tool_preset_id = persona.tool_preset_id or "" self._editing_persona_tool_preset_id = persona.tool_preset or ""
self._editing_persona_bias_profile_id = persona.bias_profile_id or "" self._editing_persona_bias_profile_id = persona.bias_profile or ""
import json import json
self._editing_persona_preferred_models = json.dumps(persona.preferred_models) if persona.preferred_models else "[]" self._editing_persona_preferred_models = json.dumps(persona.preferred_models) if persona.preferred_models else "[]"
self._editing_persona_tier_assignments = json.dumps(persona.tier_assignments) if persona.tier_assignments else "{}"
self._editing_persona_is_new = False self._editing_persona_is_new = False
else: else:
self._editing_persona_name = "" self._editing_persona_name = ""
self._editing_persona_description = ""
self._editing_persona_provider = self.current_provider self._editing_persona_provider = self.current_provider
self._editing_persona_model = self.current_model self._editing_persona_model = self.current_model
self._editing_persona_system_prompt = "" self._editing_persona_system_prompt = ""