dsh-code 发布说明 - 0.9.0
概览
0.9.0 聚焦会话管理与委派流程。/resume 选择器默认只显示当前目录、按最近活动排序,并支持经输入框确认后永久删除会话及其子代理线程。子代理运行期间可观测,且继承当前选定的模型:新增的 /agents 信息流、/subagent 面板与 agent/request 监听将委派请求路由到当前模型选择。模型选择会持久化为全局部署默认,审批提示重建为决策对话框,补全支持 Enter 确认,并修复了子代理面板的两处缺陷(React hooks 崩溃与重复的档位后缀)。
新特性
会话管理
/resume默认只显示当前目录的根会话,路径经 realpath 归一化比较;cwd 过滤可将列表扩展至全部工作区。- 列表按最近活动排序——以 JSONL 构件的修改时间为准,缺失时回退创建时间——并显示相对时间(
5m ago、2d ago、日期)。 - 新增
/delete命令与d键,经输入框确认(y delete · any other key cancels,y 在输入框中键入)后永久删除会话及其子代理线程;选择器保持打开并立即重载。当前会话与存活会话被拒绝,删除前校验 JSONL 布局,无构件后端(SQLite)明确拒绝。
子代理
- 运行中的子代理可观测:有界活动信息流将每个子会话折叠为一行(标签、状态、最近活动),输入框上方显示单行汇总;新增
/agents面板列出 live 与持久化子会话,Enter 或t打开完整转录。 - 委派代理运行在当前模型而非启动默认:插件级
agent/request监听将内核的模型选择语义镜像到子代理请求,新增/subagent面板选择显式覆盖(inherit 行、模型列表、effort 阶段)。 - 委派类工具卡包含有界 prompt 预览,结果落地前即可在转录中看到子代理被要求做什么。
审批
- 审批提示改为决策对话框而非裸 y/n 条:粗体问句标题、带溢出标记的命令正文、编号选项(允许 / 拒绝并说明不同做法 / 拒绝继续执行),支持方向键加 Enter、y/n/d 快捷键、数字直选、Esc 显式拒绝;并发问询在屏幕后 FIFO 排队。
模型默认
- 每次
/model选择都经与 web 壳相同的agentDefaultModel服务保存为全局部署默认,重启后保留且其他界面可读;保存失败不回滚会话内的切换。 /model与/effort打开时光标定位在当前选择上;选择即时经resolveCallConfig校验,对不提供档位的模型执行/effort显示明确空态。
改进
- 补全菜单(斜杠命令、提及、裸路径)支持 Enter 确认,与 Tab 等价;完整输入的命令在回车时仍直接提交。
/resume搜索由 Ctrl+F 门控,输入不再与导航快捷键冲突(Esc 或再次 Ctrl+F 退出,Enter 提交)。
修复
- 进入/退出
/subagent的 effort 阶段不再触发 React 的 "Rendered fewer hooks than expected"(输入 hook 保持无条件调用)。 /subagent选择通知不再重复档位后缀(…flash@max@max变为…flash@max)。
行为变化
/resume默认只显示当前目录;切换 cwd 过滤可查看全部工作区。- 会话按最近活动而非创建时间排序。
- 选择器中的删除键为小写
d;确认在输入框中键入。 - 新命令:
/delete、/agents、/subagent。
重要说明
- 从 0.8.0 升级无需配置或持久会话迁移;未移除任何命令或设置。
- 运行时要求不变:Node
^22.19 || >=24与兼容的@deepseek-ai/dsh安装。 - 删除会话会同时删除其子代理线程,且不可撤销。
- 发布首日,pnpm 用户应使用精确版本
dsh-code@0.9.0,因为 pnpm 会忽略发布不足 24 小时的包。
Full Changelog: 0.8.0...0.9.0