diff --git a/api/discord_bot.py b/api/discord_bot.py index 189272b..25fb1e7 100644 --- a/api/discord_bot.py +++ b/api/discord_bot.py @@ -114,6 +114,7 @@ async def _unified_call(text: str, history: str, project_path: str) -> dict: context = ( f"{history}" + f"## Workspace\nPath: {project_path}\n\n" f"## Project Docs\n{docs_index}\n\n" f"## User Message\n{text}" ) diff --git a/core/task_pipeline.py b/core/task_pipeline.py index b5fe145..8a8f727 100644 --- a/core/task_pipeline.py +++ b/core/task_pipeline.py @@ -54,7 +54,7 @@ class TaskPipeline: # ────────────────────────────────────────── async def plan(self, user_request: str) -> dict: - """Planner로 태스크 분해.""" + """Planner로 태스크 분해 (에이전트 모드 — 직접 처리 가능).""" context = self.ctx.gather(user_request) docs_ctx = self._docs_context() @@ -62,10 +62,13 @@ class TaskPipeline: f"## User Request\n{user_request}\n\n" f"## Project Context\n{context}\n\n" f"## Project Docs\n{docs_ctx}\n\n" - f"Decompose this request into concrete tasks." + f"Analyze this request. If simple, handle it directly (direct: true). " + f"If complex, decompose into tasks (direct: false)." ) - response = await self.gemini.call("planner", prompt, timeout=180) + response = await self.gemini.call_agent( + "planner", prompt, cwd=self.project_path, timeout=180, + ) self._log("plan", user_request, response) plan = self._extract_json(response) @@ -183,7 +186,7 @@ class TaskPipeline: ) response = await self.gemini.call_agent( - "reviewer", prompt, cwd=self.project_path, timeout=180, + "reviewer", prompt, cwd=self.project_path, timeout=300, ) self._log("batch_review", f"{len(tasks)} tasks", response) diff --git a/hello.csv b/hello.csv new file mode 100644 index 0000000..557db03 --- /dev/null +++ b/hello.csv @@ -0,0 +1 @@ +Hello World