refactor: workspace_base 从 appbase params 表读(去硬编码,带默认值兜底)
This commit is contained in:
parent
e48cb2c62c
commit
bd3a9a5abd
@ -25,6 +25,24 @@ from typing import AsyncGenerator, Dict, List, Optional
|
||||
|
||||
logger = logging.getLogger("pipeline.agent_executor")
|
||||
|
||||
|
||||
async def _get_param(sor, name: str, default: str = "") -> str:
|
||||
"""从 appbase params 表读参数(params_name → params_value),带默认值兜底。
|
||||
|
||||
params 表由 appbase 模块提供,用于存系统级可配置参数,避免硬编码。
|
||||
默认值仅作兜底,真正值以 params 表为准(可动态维护)。
|
||||
"""
|
||||
try:
|
||||
recs = await sor.sqlExe(
|
||||
"SELECT params_value FROM params WHERE params_name=${n}$ LIMIT 1",
|
||||
{"n": name})
|
||||
if recs:
|
||||
return getattr(recs[0], "params_value", "") or default
|
||||
except Exception:
|
||||
pass
|
||||
return default
|
||||
|
||||
|
||||
# ── 默认工具定义(在 pipeline-core 未加载时使用)──
|
||||
|
||||
_BUILTIN_ASK_USER_SCHEMA = {
|
||||
@ -667,10 +685,11 @@ class AgentExecutor:
|
||||
if _u:
|
||||
org_id = getattr(_u[0], "orgid", "0") or "0"
|
||||
|
||||
# 项目专属工作空间目录(与 workspace_tree.dspy 的 workspace_base 一致)
|
||||
# 项目专属工作空间目录(workspace_base 从 appbase params 表读,可动态配置)
|
||||
# 不设置 workspace_dir 会导致 _resolve_workspace 回退到 ~/pipeline_ws/default,
|
||||
# 所有项目共用同一目录,设计文档/代码互相覆盖。
|
||||
workspace_dir = os.path.join("/d/pipeline/workspaces", str(org_id), name)
|
||||
workspace_base = await _get_param(sor, "workspace_base", "/d/pipeline/workspaces")
|
||||
workspace_dir = os.path.join(workspace_base, str(org_id), name)
|
||||
os.makedirs(workspace_dir, exist_ok=True)
|
||||
|
||||
pid_val = getID()
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user