Skip to content

fix(issue-13): homedir()/.dsh 硬编码——优先读取 DSH_HOME 环境变量 (closes #13) - #19

Merged
Nicholas023 merged 2 commits into
mainfrom
fix/issue-13-dsh-home-env
Oct 19, 2026
Merged

Nicholas023 merged 2 commits into
mainfrom
fix/issue-13-dsh-home-env

Conversation

@Nicholas023

Copy link
Copy Markdown
Owner

closes #13

改动(4 文件,+52/-5)

  • src/config.js:新增导出 resolveDshRoot(env) —— 优先 process.env.DSH_HOME(非空字符串时采用,trim 后作为根),未设置/空回退 homedir()/.dsh;单测可经 env 注入,不污染进程全局环境
  • src/model-provider.js:profile 路由根 profilesRoot 改为 join(resolveDshRoot(), 'profiles')(仅路径来源变更,路由解析逻辑不动)
  • src/credentials.js:凭据文件路径改为 join(resolveDshRoot(), '.credentials.yaml')(仅路径来源变更,凭据读取逻辑不动)
  • scripts/unit-smoke.mjs:新增 resolveDshRoot 用例(6 条断言:DSH_HOME 采用 / trim / 未设置回退 / 空串回退 / 纯空白回退 / 无参自洽)

验证输出(最小运行验证:临时 DSH_HOME + 最小 profile + 凭据文件)

[1] DSH_HOME=C:\Users\HP\AppData\Local\Temp\dsh-home-verify-D7nlxZ\dsh-home
[1] resolveDshRoot() = C:\Users\HP\AppData\Local\Temp\dsh-home-verify-D7nlxZ\dsh-home
[1] profilesRoot     = C:\Users\HP\AppData\Local\Temp\dsh-home-verify-D7nlxZ\dsh-home\profiles
[1] credentialsFile  = C:\Users\HP\AppData\Local\Temp\dsh-home-verify-D7nlxZ\dsh-home\.credentials.yaml
[2] listCandidates 数量 = 2 | 含 verify-model: true
[3] resolveProvider(session) = {"url":"http://localhost:9999/v1","model":"verify-model","keyEnv":"DEEPS_TEST","protocol":"openai","resolvedFrom":"fallback"}
[4] resolveApiKey(DEEPS_TEST) = verify-key-123
[5] 未设置 DSH_HOME 时 resolveDshRoot() = C:\Users\HP\.dsh

测试

  • npm run check:零报错
  • npm run unit:unit-smoke 45 项全绿(含新增 resolveDshRoot:优先 DSH_HOME,未设置回退 homedir()/.dsh(issue #13))+ file-config 16 项全绿

@Nicholas023
Nicholas023 merged commit c773321 into main Oct 19, 2026
6 checks passed
@Nicholas023
Nicholas023 deleted the fix/issue-13-dsh-home-env branch October 19, 2026 19:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

homedir()/.dsh 硬编码:自定义 DSH_HOME 时路由/凭据解析失败

1 participant