diff --git a/metagpt/tools/libs/terminal.py b/metagpt/tools/libs/terminal.py index 5d58f646e..9bb6a09ec 100644 --- a/metagpt/tools/libs/terminal.py +++ b/metagpt/tools/libs/terminal.py @@ -4,7 +4,7 @@ from asyncio import Queue from asyncio.subprocess import PIPE, STDOUT from typing import Optional -from metagpt.const import DEFAULT_WORKSPACE_ROOT, SWE_SETUP_PATH +from metagpt.const import DEFAULT_WORKSPACE_ROOT, SWE_CMD_WORK_DIR, SWE_SETUP_PATH from metagpt.logs import logger from metagpt.tools.tool_registry import register_tool from metagpt.utils.report import END_MARKER_VALUE, TerminalReporter @@ -151,7 +151,10 @@ class Bash(Terminal): def __init__(self): """init""" - os.environ["SWE_CMD_WORK_DIR"] = str(DEFAULT_WORKSPACE_ROOT / "swe_agent_workdir") + if not SWE_CMD_WORK_DIR.exists(): + SWE_CMD_WORK_DIR.mkdir(parents=True) + + os.environ["SWE_CMD_WORK_DIR"] = str(SWE_CMD_WORK_DIR) super().__init__() self.start_flag = False diff --git a/metagpt/tools/swe_agent_commands/setup_default.sh b/metagpt/tools/swe_agent_commands/setup_default.sh index a0745ee07..265650001 100644 --- a/metagpt/tools/swe_agent_commands/setup_default.sh +++ b/metagpt/tools/swe_agent_commands/setup_default.sh @@ -17,8 +17,3 @@ source $REPO_ROOT_DIR/metagpt/tools/swe_agent_commands/search.sh source $REPO_ROOT_DIR/metagpt/tools/swe_agent_commands/edit_linting.sh echo "SWE_CMD_WORK_DIR: $SWE_CMD_WORK_DIR" - -# 检查 SWE_CMD_WORK_DIR 路径是否已存在,不存在则创建 -if [ ! -d "$SWE_CMD_WORK_DIR" ]; then - mkdir -p $SWE_CMD_WORK_DIR -fi