58 lines
1.7 KiB
Plaintext
58 lines
1.7 KiB
Plaintext
# test_agent_v2_debug.dspy - 查看 Agent v2 的 system prompt 和上下文
|
|
|
|
uid = await get_user()
|
|
if not uid:
|
|
uid = 'user-01'
|
|
|
|
from pipeline_core.agent_config import load_agent_config
|
|
from pipeline_service.agent_loop_v2 import AgentExecutor
|
|
|
|
cfg = await load_agent_config()
|
|
|
|
# 获取项目上下文
|
|
dbname = get_module_dbname('pipeline-sdlc')
|
|
pid = ''
|
|
org_id = ''
|
|
project_name = ''
|
|
async with DBPools().sqlorContext(dbname) as sor:
|
|
recs = await sor.sqlExe(
|
|
"SELECT current_project_id FROM pipeline_agent_settings WHERE user_id=${u}$",
|
|
{"u": uid})
|
|
if recs:
|
|
pid = getattr(recs[0], 'current_project_id', '') or ''
|
|
|
|
if pid:
|
|
recs2 = await sor.sqlExe(
|
|
"SELECT name, org_id FROM sd_projects WHERE id=${p}$",
|
|
{"p": pid})
|
|
if recs2:
|
|
project_name = getattr(recs2[0], 'name', '')
|
|
org_id = getattr(recs2[0], 'org_id', '') or ''
|
|
|
|
# 技能加载
|
|
from pipeline_core.skill_loader import get_skill_loader
|
|
loader = get_skill_loader(cfg.skills.base_dir)
|
|
scopes = loader.list_by_scope()
|
|
merged = loader.get_merged(org_id, uid)
|
|
|
|
result = {
|
|
"user_id": uid,
|
|
"project_id": pid,
|
|
"project_name": project_name,
|
|
"org_id": org_id,
|
|
"max_turns": cfg.max_turns,
|
|
"compression": cfg.compression.enabled,
|
|
"memory": cfg.memory.enabled,
|
|
"skills": {
|
|
"enabled": cfg.skills.enabled,
|
|
"base_dir": cfg.skills.base_dir,
|
|
"by_scope": scopes,
|
|
"merged_count": len(merged),
|
|
"names": list(merged.keys()),
|
|
},
|
|
"tools": [t.name for t in cfg.tools if hasattr(t, 'enabled') and t.enabled],
|
|
"system_prompt_preview": cfg.system_prompt[:500],
|
|
}
|
|
|
|
return json.dumps(result, ensure_ascii=False, default=str)
|