#1444·Aperant

代理通过 cd 到父项目路径逃离工作树隔离

作者: kaigler创建于 2026年1月22日更新于 2026年7月5日
标签bugarea/frontendv2.7.6stale
  • 核对表
  • [x]我搜索了现有的问题,没有报道

区域

前端

操作系统

窗口

翻译:

2.7.5 (中文(简体) ).

发生了什么事?

当在孤立的工作树模式下运行任务时,Claude代理通过在执行命令前运行"cd/path/to/main/project"来逃离工作树. 这导致git在主工程中而不是被隔离的活树上承诺并进行文件修改,打倒了隔离系统.

  • 复制步骤

从任务日志( `E:\ project'\ x\ prod\ x\ logs\log. txt' ) 中:

代理在工作树上开始正确
维度
—/e/项目/x/.auto-Claude/工作树木/任务/009-审计./

# 特工逃到主要项目(BUG)
cd/e/projects/x  gi  gi  gi  gi  add  add  add- gi- - - -ZZ-ZZ-ZZ-ZZ-ZZ-ZZ-ZZ-ZZ-ZZ- -ZZ-ZZ- - - - - - - - - - - - - - - - - - - - -s-s-s-s-s-s-s-s- -s-s-s-s-s-s-s-s-s- -s-s-s-&&-s-&&-&&-s-s-s-&&-&&-s-s-&&-&&-&&-s-s-s-&&- - - - - -&&-&&-&&-&&-&&-&&-&&-&&-&&-&&-&&-.
cd/e/project/x git 输入-m"自动Claude:子任务-2-1".

预期行为

□ 根源

代理在上下文文件(spec.md,上下文.json)中看到"/e/project/x/prod/."等绝对路径,并决定"cd"以它所认为的"项目根".

提示说"使用相对路径",但不明确警告:
1. 代理人处于孤立的工作树上(完整的项目副本)
2. 母项目路径为**FORBIDDEN**
3. 所有文件可通过工作树的相对路径查阅

-- -- . . .

□ 相关问题

@André识别出一个单独但相干的问题:Worktree创建可能设置远程到默认分行,即使停留在Worktree中也会导致更改到错误分行. 这有着相同的结果(在错误地点的变化),但根源不同.

-- -- . . .

□提议修补

短期(v2.7.6) -- -- 即时检测

更新“ apps/ backend/ promts  pkg/ promst  generator.py” 到 :
1. 在工作树模式下运行时检测(路径包含 ".auto-Claude " /工作树/任务/ " )
2. 提取被禁母项目路径
3. 在生成的提示中添加明确警告
4. 不更改代码以限制`cd' - 仅通知代理人

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

您正在一个** 标准化的GIT WorkingTRE** - 项目的完整副本。

** 日期:** /路径/至/.auto-Claude/工作树木/任务/谱名/' ** 法国:** 不要使用cd/path/to/main/project ' ----这可以逃避孤立。

所有工程文件通过相对路径存在在这里 :

  • ./prod/.'(NOT `/path/to/main/project/prod/.')

中期 - 设置中的工作空间权限

在设置中添加一个 ** 工作空间权限 ** 部分 :
- 让用户配置每个项目或全球的代理行为
- App级(全局)缺省,每个项目都超过
- 与即将推出的代理工具插件系统整合

长期 - 基于设置的许可系统

目前的"MCP综述"标签会被扩展为**"代理工具"**,对每个代理的工具和行为有全面的洞察力和控制.

设置 > 代理权限 工作空间模式


  • 共享(直接) -- -- 高级、有风险 │ 导航 在项目内允许CD 允许 cd 到父目录 允许绝对路径 . . . . . . .

内容来源: AndyMik90/Aperant