You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
→ 该行紧接着就进入下一层,连 config: 块都没有。而 web profile 的同一行带着完整的 config.providers。
③ 全局层当前为空,只剩迁移残留:
$ ls -la ~/.dsh/cordis.patch.yml
ls: cannot access '/home/…/.dsh/cordis.patch.yml': No such file or directory
$ ls -la ~/.dsh/settings.yaml.imported
-rw-rw-r-- 72 … ~/.dsh/settings.yaml.imported
→ home 层补丁(跨 profile 叠加的那一层)不存在;settings.yaml.imported 是 DSH 升级时改名留下的残留,目前处于无人认领状态,也没有工具提示这一点。
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
现象
dsh 的 patch 组合按 profile 隔离,同一台机器上的多个 profile 各自持有一份配置。我在
webprofile 的cordis.patch.yml里定义了 4 个自定义 provider(其中 2 个带自定义baseURL端点),而dsh-tuiprofile 的 patch 仍是 dsh 生成的空模板。启动dsh-tui时,模型列表只出现deepseek-official路由下的默认模型,另外 4 个 provider 完全不出现。没有任何提示说明「这些配置存在于另一个 profile」,也没有任何命令可以把它们取过来。
/provider只能从零新建,不会读取已有定义。用户只能自己逐个 profile 翻文件比对。现场证据
① 两个 profile 的 patch 层对比(217 B 是 dsh 为新建 profile 生成的默认空模板):
→
dsh-tuiprofile 的补丁层与一个从未配置过的 profile 逐字节相同,即 dsh-tui 从未改写过它。这排除了「dsh-tui 清空/覆盖了用户配置」的可能。② tui profile 组合出的
llm-pi-ai行没有任何config.providers:→ 该行紧接着就进入下一层,连
config:块都没有。而webprofile 的同一行带着完整的config.providers。③ 全局层当前为空,只剩迁移残留:
→ home 层补丁(跨 profile 叠加的那一层)不存在;
settings.yaml.imported是 DSH 升级时改名留下的残留,目前处于无人认领状态,也没有工具提示这一点。这不是 TUI 的过滤
模型选择器按
model.provider分组渲染,没有任何硬编码的 provider 白名单:guide
configuration.md也只说明provider缺省回落deepseek-official—— 是默认值,不是限制。配置补上就会显示。所以这不是「TUI 只支持 DeepSeek」的产品限制,是配置可见性问题。期望行为
dsh-tui doctor增加一条检查:当前 profile 无自定义 provider 配置时,检测$DSH_HOME下是否存在孤儿 provider 配置(其他 profile 的 patch,或settings.yaml.imported残留),报出具体路径并给出迁移指引。doctor 的定位本就是启动前环境诊断(feat(cli): dsh-tui doctor——启动前环境诊断(#509 ③/3) #516),这在其职责范围内。我认为不应当做的
分析
已验证
dsh-tuiprofile 的cordis.patch.yml与另一 profile 逐字节相同 → dsh 默认空模板,dsh-tui 未改写(证据①)。llm-pi-ai行无config.providers(证据②)。model.provider分组。$DSH_HOME/cordis.patch.yml不存在;settings.yaml.imported存在且无人认领(证据③)。未验证
相关
.imported中无人认领 —— 同一类「跨 profile 配置断点」的不同切面。/update后实际生效的cordis.patch.yml不一定是用户以为的那一份 —— 任何涉及补丁层的诊断都应以实际组合结果为准。(迁移代码属于 DSH core,其 GitHub 仓库目前关闭了 Issues,故记在此处。)
All reactions