From 02cc1b3da6d1157bc1a64c4840dca577db6bc0d2 Mon Sep 17 00:00:00 2001 From: Hyungi Ahn Date: Thu, 16 Apr 2026 09:46:46 +0900 Subject: [PATCH] =?UTF-8?q?fix(nanoclaude):=20analyze=20query=EC=97=90?= =?UTF-8?q?=EC=84=9C=20doc=5Fid=20=EC=B0=B8=EC=A1=B0=20=EC=A0=9C=EA=B1=B0?= =?UTF-8?q?=20+=20=EA=B8=B0=EB=B3=B8=20=EB=B6=84=EC=84=9D=20=EC=9A=94?= =?UTF-8?q?=EC=B2=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit "3755번 문서 분석해줘" → Gemma에 "이 문서의 핵심 내용을 분석하고..." 전달 Co-Authored-By: Claude Opus 4.6 (1M context) --- nanoclaude/services/worker.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/nanoclaude/services/worker.py b/nanoclaude/services/worker.py index 46a3d74..dc67320 100644 --- a/nanoclaude/services/worker.py +++ b/nanoclaude/services/worker.py @@ -187,8 +187,14 @@ def _pre_route(message: str) -> dict | None: doc_id_match = re.search(r'#(\d{3,6})', msg) analyze_signals = ["전체", "요약", "분석", "정리", "읽어", "전문", "자세히"] if doc_id_match and any(s in msg for s in analyze_signals): + # query에서 doc_id 참조 제거 + 구체적 질문 없으면 기본 분석 요청 + clean_query = re.sub(r'#?\d{3,6}\s*번?\s*', '', msg).strip() + clean_query = re.sub(r'^(문서|자료|파일)\s*', '', clean_query).strip() + clean_query = re.sub(r'\s*(해줘|해주세요|줘|좀)\s*$', '', clean_query).strip() + if not clean_query or clean_query in ["분석", "요약", "정리", "전체", "읽어", "전문", "자세히"]: + clean_query = "이 문서의 핵심 내용을 분석하고, 주요 사항과 실무상 중요한 포인트를 정리해주세요." return {"action": "tools", "tool": "document", "operation": "analyze", - "params": {"doc_id": doc_id_match.group(1), "query": message}} + "params": {"doc_id": doc_id_match.group(1), "query": clean_query}} # 문서 키워드 — 질문형/탐색형 점수 기반 분기 doc_entry = any(k in msg for k in ["문서", "도큐먼트", "자료", "파일"])