From 5cadd4ed70ef4fd96bb5a64272330b2c34c77b6d Mon Sep 17 00:00:00 2001 From: ymq Date: Mon, 10 Aug 2026 17:48:38 +0800 Subject: [PATCH] debug: show system prompt and project context --- wwwroot/api/test_agent_v2_debug.dspy | 57 ++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 wwwroot/api/test_agent_v2_debug.dspy diff --git a/wwwroot/api/test_agent_v2_debug.dspy b/wwwroot/api/test_agent_v2_debug.dspy new file mode 100644 index 0000000..1f2bd13 --- /dev/null +++ b/wwwroot/api/test_agent_v2_debug.dspy @@ -0,0 +1,57 @@ +# 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)