feat(ai): Implement configurable base system prompt and expose in UI
This commit is contained in:
+13
-5
@@ -143,7 +143,8 @@ _SYSTEM_PROMPT: str = (
|
||||
)
|
||||
|
||||
_custom_system_prompt: str = ""
|
||||
_global_tool_instructions: str = ""
|
||||
_base_system_prompt_override: str = ""
|
||||
_use_default_base_system_prompt: bool = True
|
||||
_project_context_marker: str = ""
|
||||
|
||||
def set_custom_system_prompt(prompt: str) -> None:
|
||||
@@ -151,9 +152,13 @@ def set_custom_system_prompt(prompt: str) -> None:
|
||||
global _custom_system_prompt
|
||||
_custom_system_prompt = prompt
|
||||
|
||||
def set_global_tool_instructions(instructions: str) -> None:
|
||||
global _global_tool_instructions
|
||||
_global_tool_instructions = instructions
|
||||
def set_base_system_prompt(prompt: str) -> None:
|
||||
global _base_system_prompt_override
|
||||
_base_system_prompt_override = prompt
|
||||
|
||||
def set_use_default_base_prompt(use_default: bool) -> None:
|
||||
global _use_default_base_system_prompt
|
||||
_use_default_base_system_prompt = use_default
|
||||
|
||||
def set_project_context_marker(marker: str) -> None:
|
||||
global _project_context_marker
|
||||
@@ -165,7 +170,10 @@ def _get_context_marker() -> str:
|
||||
def _get_combined_system_prompt(preset: Optional[ToolPreset] = None, bias: Optional[BiasProfile] = None) -> str:
|
||||
if preset is None: preset = _active_tool_preset
|
||||
if bias is None: bias = _active_bias_profile
|
||||
base = _global_tool_instructions if _global_tool_instructions.strip() else _SYSTEM_PROMPT
|
||||
if _use_default_base_system_prompt:
|
||||
base = _SYSTEM_PROMPT
|
||||
else:
|
||||
base = _base_system_prompt_override
|
||||
if _custom_system_prompt.strip():
|
||||
base = f"{base}\n\n[USER SYSTEM PROMPT]\n{_custom_system_prompt}"
|
||||
if preset and bias:
|
||||
|
||||
Reference in New Issue
Block a user