From 1556ed632d2c7fef6b9aab14dcd13cc8ac295497 Mon Sep 17 00:00:00 2001 From: lkddi Date: Fri, 27 Feb 2026 11:22:47 +0800 Subject: [PATCH] =?UTF-8?q?Feature:=20AI=E7=B3=BB=E7=BB=9F=E6=8F=90?= =?UTF-8?q?=E7=A4=BA=E8=AF=8D=E6=94=B9=E4=B8=BA=E5=8A=A8=E6=80=81=E7=94=9F?= =?UTF-8?q?=E6=88=90=EF=BC=8C=E5=AE=9E=E6=97=B6=E8=AF=BB=E5=8F=96Sysparam?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BA=93=E9=85=8D=E7=BD=AE=EF=BC=88=E7=B2=BE?= =?UTF-8?q?=E5=87=86=E8=8E=B7=E5=8F=96=E9=87=91=E5=B8=81/=E7=BB=8F?= =?UTF-8?q?=E9=AA=8C/=E9=AD=85=E5=8A=9B=E7=AD=89=E6=95=B0=E5=80=BC?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Services/AiChatService.php | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/app/Services/AiChatService.php b/app/Services/AiChatService.php index 34ada79..1256303 100644 --- a/app/Services/AiChatService.php +++ b/app/Services/AiChatService.php @@ -17,6 +17,7 @@ namespace App\Services; use App\Models\AiProviderConfig; use App\Models\AiUsageLog; +use App\Models\Sysparam; use Illuminate\Support\Facades\Http; use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Redis; @@ -44,9 +45,22 @@ class AiChatService private const CONTEXT_TTL = 3600; /** - * 系统提示词(机器人人设) + * 系统提示词(机器人人设并动态加载各项最新配置) */ - private const SYSTEM_PROMPT = <<<'PROMPT' + private function getSystemPrompt(): string + { + $expPerHb = Sysparam::getValue('exp_per_heartbeat', '1'); + $jjbPerHb = Sysparam::getValue('jjb_per_heartbeat', '1'); + $charmCross = Sysparam::getValue('charm_cross_sex', '2'); + $charmSame = Sysparam::getValue('charm_same_sex', '1'); + $charmLimit = Sysparam::getValue('charm_hourly_limit', '20'); + + $levelWarn = Sysparam::getValue('level_warn', '5'); + $levelMute = Sysparam::getValue('level_mute', '8'); + $levelKick = Sysparam::getValue('level_kick', '10'); + $levelFreeze = Sysparam::getValue('level_freeze', '14'); + + return << 'system', 'content' => self::SYSTEM_PROMPT]], + [['role' => 'system', 'content' => $this->getSystemPrompt()]], $context );