mirror of
https://github.com/bytedance/deer-flow.git
synced 2026-10-26 21:26:39 +00:00
* fix(doctor): check the config file the Gateway actually loads make doctor always inspected <checkout>/config.yaml and ignored DEER_FLOW_CONFIG_PATH and DEER_FLOW_PROJECT_ROOT. A missing override that stops the Gateway from starting still reported "config.yaml found" and "config.yaml loadable", and a valid override pointing elsewhere got the wrong file checked. Doctor now resolves the path through the harness's own resolver, AppConfig.resolve_config_path, after defaulting DEER_FLOW_PROJECT_ROOT to the checkout as scripts/serve.sh does for make dev. An override the Gateway would reject fails "config.yaml found" with the Gateway's error and the config checks skip; an unimportable harness is reported rather than raised. * docs(changelog): reference #5987 * fix(doctor): hand the config-location variables over like serve.sh Review follow-up. serve.sh sources the checkout .env over the shell and then replaces an unset or empty DEER_FLOW_PROJECT_ROOT with the checkout. Doctor loaded .env shell-first and only defaulted an unset root, so a shell DEER_FLOW_CONFIG_PATH / DEER_FLOW_PROJECT_ROOT that differed from .env, or an empty root, made it check a different file than the Gateway loads. For those two variables the .env value now overrides the shell (other keys keep doctor's shell-first loading), and an empty root becomes the checkout, before the harness resolver runs. * fix(doctor): report any harness import failure and expand ~ like source Review follow-up. - The harness-import guard caught only ImportError, so a harness that is present but broken differently (TypeError/SyntaxError while the module body runs) still crashed doctor. Catch Exception, as check_config_loadable does, and name the exception type in the report. - serve.sh's `source .env` expands an unquoted leading `~` in DEER_FLOW_CONFIG_PATH / DEER_FLOW_PROJECT_ROOT and keeps a quoted one literal; dotenv_values expands neither. Expand the unquoted form so a `~/...` path in .env no longer fails a setup that starts, and keep the quoted form literal so doctor does not pass one the Gateway rejects. --------- Co-authored-by: Willem Jiang <willem.jiang@gmail.com>