diff --git a/nanoclaude/services/worker.py b/nanoclaude/services/worker.py index 0dd8f21..9dd036e 100644 --- a/nanoclaude/services/worker.py +++ b/nanoclaude/services/worker.py @@ -229,8 +229,10 @@ async def run(job: Job) -> None: logger.info("Job %s pre-routed: %s.%s", job.id, pre.get("tool", ""), pre.get("operation", pre.get("action", ""))) else: # --- EXAONE 분류기 호출 --- - from datetime import datetime - now_str = datetime.now().strftime("%Y-%m-%d %H:%M (%A)") + from datetime import datetime, timezone, timedelta + kst = timezone(timedelta(hours=9)) + now_kst = datetime.now(kst) + now_str = now_kst.strftime("%Y년 %m월 %d일 %H:%M (%A) KST") history = conversation_store.format_for_prompt(user_id) classify_input = f"[현재 시간]\n{now_str}\n\n" if history: @@ -379,8 +381,18 @@ async def run(job: Job) -> None: await state_stream.push(job.id, "processing", {"message": "Gemma 4가 응답을 생성하고 있습니다..."}) + # KST 현재 시간을 system prompt에 주입 + from datetime import datetime, timezone, timedelta + kst = timezone(timedelta(hours=9)) + now_kst = datetime.now(kst).strftime("%Y년 %m월 %d일 %H:%M (%A) KST") + reasoner_system = f"{backend_registry.reasoner.system_prompt}\n\n현재 시간: {now_kst} (한국 표준시)" + reasoner_messages = [ + {"role": "system", "content": reasoner_system}, + {"role": "user", "content": rewritten_message}, + ] + try: - ok = await _stream_with_cancel(backend_registry.reasoner, rewritten_message, job, collected) + ok = await _stream_with_cancel(backend_registry.reasoner, rewritten_message, job, collected, messages=reasoner_messages) if not ok: return except Exception: