From 1aa25eb4511d0473d173373889c471a6a67e37cc Mon Sep 17 00:00:00 2001 From: aries_ckt <916701291@qq.com> Date: Fri, 27 Mar 2026 11:49:45 +0800 Subject: [PATCH] fix:fix example path --- .../dbgpt_app/openapi/api_v1/examples_api.py | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/packages/dbgpt-app/src/dbgpt_app/openapi/api_v1/examples_api.py b/packages/dbgpt-app/src/dbgpt_app/openapi/api_v1/examples_api.py index 3844e7242..ae4cc46f8 100644 --- a/packages/dbgpt-app/src/dbgpt_app/openapi/api_v1/examples_api.py +++ b/packages/dbgpt-app/src/dbgpt_app/openapi/api_v1/examples_api.py @@ -71,17 +71,27 @@ def _resolve_example_source(example: dict) -> Optional[str]: (PyPI install mode). """ # --- 1. Source-code / work_dir mode --- - base_dir = os.getcwd() + candidates_dirs = [os.getcwd()] if ( CFG.SYSTEM_APP and hasattr(CFG.SYSTEM_APP, "work_dir") and CFG.SYSTEM_APP.work_dir ): - base_dir = CFG.SYSTEM_APP.work_dir + candidates_dirs.insert(0, CFG.SYSTEM_APP.work_dir) - candidate = os.path.join(base_dir, example["source_path"]) - if os.path.isfile(candidate): - return candidate + # Also try ROOT_PATH which reliably resolves to the project root in dev mode + try: + from dbgpt.configs.model_config import ROOT_PATH + + if ROOT_PATH not in candidates_dirs: + candidates_dirs.append(ROOT_PATH) + except ImportError: + pass + + for base_dir in candidates_dirs: + candidate = os.path.join(base_dir, example["source_path"]) + if os.path.isfile(candidate): + return candidate # --- 2. Builtin examples bundled in the wheel --- try: