Spaces:
Running
Running
File size: 1,240 Bytes
5b9f9a3 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | from ..core.agent_base import AgentBase
from ..core.llm_client import LLMClient
class CoderAgent(AgentBase):
def __init__(self, config: dict, llm_client: LLMClient, mcp_manager=None):
super().__init__(config, llm_client, mcp_manager)
self.workspace_files: list[str] = []
def set_workspace_files(self, files: list[str]):
self.workspace_files = files
def format_input(self, task) -> str:
if isinstance(task, str):
prompt = task
elif isinstance(task, dict):
desc = task.get("description", str(task))
deps = task.get("dependencies", [])
prompt = f"请完成以下任务:\n{desc}"
if deps:
prompt += f"\n\n依赖的前置任务: {', '.join(deps)}"
else:
prompt = str(task)
if self.mcp and self.workspace_files:
prompt += f"\n\nWorkspace 已有文件: {', '.join(self.workspace_files)}"
prompt += "\n可以用 file_read 读取已有文件作为参考,然后直接 file_write 写入新文件。"
elif self.mcp:
prompt += "\n\nWorkspace 为空,请直接用 file_write 写入代码文件,不需要先 file_list。"
return prompt
|