diff --git a/agent/prompt/builder.py b/agent/prompt/builder.py index 0042d72..5086960 100644 --- a/agent/prompt/builder.py +++ b/agent/prompt/builder.py @@ -354,11 +354,19 @@ def _build_workspace_section(workspace_dir: str, language: str) -> List[str]: "", "**路径使用规则** (非常重要):", "", - "- **工作空间内的文件**: 可以使用相对路径(如 `SOUL.md`、`MEMORY.md`)", - "- **工作空间外的文件**: 必须使用绝对路径(如 `~/project/code.py`、`/etc/config`)", - "- **不确定时**: 先用 `bash pwd` 确认当前目录,或用 `ls .` 查看当前位置", + f"1. **相对路径的基准目录**: 所有相对路径都是相对于 `{workspace_dir}` 而言的", + f" - ✅ 正确: 访问工作空间内的文件用相对路径,如 `SOUL.md`", + f" - ❌ 错误: 用相对路径访问其他目录的文件 (如果它不在 `{workspace_dir}` 内)", "", - "除非用户明确指示,否则将此目录视为文件操作的全局工作空间。", + "2. **访问其他目录**: 如果要访问工作空间之外的目录(如项目代码、系统文件),**必须使用绝对路径**", + f" - ✅ 正确: 例如 `~/chatgpt-on-wechat`、`/usr/local/`", + f" - ❌ 错误: 假设相对路径会指向其他目录", + "", + "3. **路径解析示例**:", + f" - 相对路径 `memory/` → 实际路径 `{workspace_dir}/memory/`", + f" - 绝对路径 `~/chatgpt-on-wechat/docs/` → 实际路径 `~/chatgpt-on-wechat/docs/`", + "", + "4. **不确定时**: 先用 `bash pwd` 确认当前目录,或用 `ls .` 查看当前位置", "", "**重要说明 - 文件已自动加载**:", "",