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
A custom agent preset created via create-mode may itself be broken (e.g. fails to mount). Once it is selected as the active/in-use preset, every "New Session" click from an existing session silently fails: the UI shows nothing at all, and the only trace is new session failed: SessionCreateError ... agent-preset-invalid/not-found in the browser console. Client-side root cause: startSession() treats connect failures as non-fatal and only does console.warn. Reinstalling DSH does not help either, because the broken preset persists under ~/.dsh/.agent-presets/ and stays active. Suggest surfacing the error in the UI, offering a fallback to a working preset, and dry-run validating presets on switch/create.
🐛 问题描述
通过 Web GUI 的创造模式创建一个自定义 Agent 预设。这类自定义预设完全可能配置有误、依赖缺失或加载失败(即"不可用"),但创造模式仍会把它创建出来。当把 Agent 预设切换为这个不可用的自定义预设后,在任意一个已有历史的旧会话中点击「新会话」(+),会话无法启动,界面上没有任何反应、没有报错提示,用户只能通过 F12 控制台才能看到失败原因。
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.
English TL;DR
A custom agent preset created via create-mode may itself be broken (e.g. fails to mount). Once it is selected as the active/in-use preset, every "New Session" click from an existing session silently fails: the UI shows nothing at all, and the only trace is
new session failed: SessionCreateError ... agent-preset-invalid/not-foundin the browser console. Client-side root cause:startSession()treats connect failures as non-fatal and only doesconsole.warn. Reinstalling DSH does not help either, because the broken preset persists under~/.dsh/.agent-presets/and stays active. Suggest surfacing the error in the UI, offering a fallback to a working preset, and dry-run validating presets on switch/create.🐛 问题描述
通过 Web GUI 的创造模式创建一个自定义 Agent 预设。这类自定义预设完全可能配置有误、依赖缺失或加载失败(即"不可用"),但创造模式仍会把它创建出来。当把 Agent 预设切换为这个不可用的自定义预设后,在任意一个已有历史的旧会话中点击「新会话」(+),会话无法启动,界面上没有任何反应、没有报错提示,用户只能通过 F12 控制台才能看到失败原因。
复现步骤
期望行为
新会话正常创建;若当前激活预设不可用,至少应在 UI 上给出可见的错误提示(含错误码与原因),并提供回退到可用预设的途径。
实际行为
点击无任何可见反应,新会话无法创建。
代码定位(npm 全局安装 @deepseek-ai/dsh 0.1.1-rc.2 编译产物)
@deepseek-ai/dsh-client-runtime/lib/client.js中startSession():注释明确写着 "Connect failures are non-fatal (console diagnostics; the current view stays usable)",失败分支仅console.warn("new session failed:", reason);@deepseek-ai/dsh-host-apiproxy)session.create 对应的 wire 错误码包括agent-preset-not-found/agent-preset-invalid/agent-preset-read-only,但这些信息从未到达 UI 层。与现有讨论的关系
#818(tool-cordis 注册冲突)、#1839(默认预设被删后新会话静默失败)、#3717(删除自定义 agent 后旧会话 resume 失败)、#3498(npm 缺包导致 agent-preset-invalid)、#4004(新建会话按钮无反应)各自有具体触发条件,但共同点是:预设挂载失败导致 session.create 失败时,UI 完全静默。本报告希望聚焦这个通用的 UX 缺陷,以及创造模式缺少保存时校验的问题。
影响
一旦切到坏预设,所有工作区的「新会话」全部失效(bricked),普通用户无从得知原因,极易误以为是 DSH 整体故障;结合 #3717 中说明的有历史会话
agentPreset.select锁死行为,恢复成本较高。另外值得强调的是:重装 DSH 也无法解决这个问题。自定义 Agent 预设持久化在用户主目录(
~/.dsh/.agent-presets/)而非安装目录,重装后这个出问题的用户自定义预设会原样保留;只要它仍是激活的默认预设,重装完成后新会话依旧全部失败。也就是说,普通用户最常见的自救手段(重装软件)在此完全无效,只会进一步加深"DSH 本身坏了"的误解,直到用户偶然发现要去清理~/.dsh下的预设文件或切换回内置预设为止。改进建议
agent-preset-invalid/not-found/read-only提供"一键回退到上一个可用预设 / shipped 默认预设"的操作;All reactions