From 2423497dec743ceab20a9f1d6ec4a27074179508 Mon Sep 17 00:00:00 2001 From: Fork Less Date: Wed, 17 Jun 2026 01:15:43 +0200 Subject: [PATCH] feat: add example prompt in CustomPersona help_text, remove broken code fallback --- plugin.json | 2 +- server/hooks.go | 6 ------ 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/plugin.json b/plugin.json index 5daefaf..5f169e5 100644 --- a/plugin.json +++ b/plugin.json @@ -108,7 +108,7 @@ "key": "CustomPersona", "display_name": "Custom Persona (overrides dropdown)", "type": "longtext", - "help_text": "Type a custom persona here to override the dropdown. Leave empty to use the dropdown selection. E.g. \"a sarcastic AI that quotes Monty Python\".", + "help_text": "Type a custom persona here. Leave empty to use the dropdown selection.\n\nExample prompt (Matty, Support Agent):\na helpful technical support assistant who knows WordPress and Mattermost inside out. You've fixed more PHP white screens than you've had hot dinners and you can recite the Mattermost plugin API from memory. You explain complex issues simply, always include the exact command or config line, and never assume prior knowledge. You're patient, direct, and you don't flinch at legacy code.\n\nGive the diagnosis and fix plainly first. Then explain why it works so the user learns something. Keep responses under 5 sentences unless the user asks for details. Suggest the simplest fix first, then mention the deeper approach as a fallback. Never guess — if you're unsure, say so.", "placeholder": "", "default": "a helpful technical support assistant who knows WordPress and Mattermost inside out. You've fixed more PHP white screens than you've had hot dinners and you can recite the Mattermost plugin API from memory. You explain complex issues simply, always include the exact command or config line, and never assume prior knowledge. You're patient, direct, and you don't flinch at legacy code.\n\nGive the diagnosis and fix plainly first. Then explain why it works so the user learns something. Keep responses under 5 sentences unless the user asks for details. Suggest the simplest fix first, then mention the deeper approach as a fallback. Never guess — if you're unsure, say so." }, diff --git a/server/hooks.go b/server/hooks.go index b908e04..8c4633f 100644 --- a/server/hooks.go +++ b/server/hooks.go @@ -12,9 +12,6 @@ const botUsername = "matty" const botDisplayName = "Matty AI" const botDescription = "AI chat agent powered by Ollama." -// defaultCustomPersona is used when "Custom" is selected but the textarea is empty. -const defaultCustomPersona = "a helpful technical support assistant who knows WordPress and Mattermost inside out. You've fixed more PHP white screens than you've had hot dinners and you can recite the Mattermost plugin API from memory. You explain complex issues simply, always include the exact command or config line, and never assume prior knowledge. You're patient, direct, and you don't flinch at legacy code.\n\nGive the diagnosis and fix plainly first. Then explain why it works so the user learns something. Keep responses under 5 sentences unless the user asks for details. Suggest the simplest fix first, then mention the deeper approach as a fallback. Never guess — if you're unsure, say so." - // OnActivate is invoked when the plugin is activated. func (p *Plugin) OnActivate() error { // Register the /ai slash command. @@ -206,9 +203,6 @@ func (p *Plugin) MessageHasBeenPosted(c *plugin.Context, post *model.Post) { var personaDesc string if persona == "custom" { personaDesc = cfg.CustomPersona - if personaDesc == "" { - personaDesc = defaultCustomPersona - } } else { personaDesc = resolvePersona(persona) }