fix(workspace): switch_project后刷新工作目录——根治切项目后list_files仍列旧目录
This commit is contained in:
parent
947398c9ef
commit
06130bcbef
@ -845,6 +845,7 @@ class AgentExecutor:
|
|||||||
r = recs[0]
|
r = recs[0]
|
||||||
self.project_id = getattr(r, "id", "")
|
self.project_id = getattr(r, "id", "")
|
||||||
await self._persist_project(sor, self.project_id)
|
await self._persist_project(sor, self.project_id)
|
||||||
|
await self._refresh_workspace_dir(sor)
|
||||||
return f"OK: 已切换到 {getattr(r, 'name', name)}"
|
return f"OK: 已切换到 {getattr(r, 'name', name)}"
|
||||||
|
|
||||||
# LLM 分类匹配
|
# LLM 分类匹配
|
||||||
@ -866,12 +867,28 @@ class AgentExecutor:
|
|||||||
r = recs2[0]
|
r = recs2[0]
|
||||||
self.project_id = getattr(r, "id", "")
|
self.project_id = getattr(r, "id", "")
|
||||||
await self._persist_project(sor, self.project_id)
|
await self._persist_project(sor, self.project_id)
|
||||||
|
await self._refresh_workspace_dir(sor)
|
||||||
return f"OK: 已切换到 {getattr(r, 'name', matched)}"
|
return f"OK: 已切换到 {getattr(r, 'name', matched)}"
|
||||||
except Exception:
|
except Exception:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
return f"未找到项目: {name}"
|
return f"未找到项目: {name}"
|
||||||
|
|
||||||
|
async def _refresh_workspace_dir(self, sor):
|
||||||
|
"""切换项目后同步刷新工作目录(与上传落盘/初始化同一解析逻辑)。
|
||||||
|
|
||||||
|
不刷新则 list_files/read_file 仍停在切换前的目录(或无项目时的总根)。
|
||||||
|
"""
|
||||||
|
try:
|
||||||
|
from .workspace import get_project_dir_by_id
|
||||||
|
_pdir, _ = await get_project_dir_by_id(sor, self.project_id)
|
||||||
|
if _pdir:
|
||||||
|
import os as _os
|
||||||
|
_os.makedirs(_pdir, exist_ok=True)
|
||||||
|
self.workspace_dir = _pdir
|
||||||
|
except Exception:
|
||||||
|
pass
|
||||||
|
|
||||||
async def _t_create_project(self, sor, p, pid):
|
async def _t_create_project(self, sor, p, pid):
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user