Skip to content

dsh-code 0.9.0

Latest

Choose a tag to compare

@UNLINEARITY UNLINEARITY released this 17 Aug 10:30
· 4 commits to main since this release

dsh-code 发布说明 - 0.9.0

概览

0.9.0 聚焦会话管理与委派流程。/resume 选择器默认只显示当前目录、按最近活动排序,并支持经输入框确认后永久删除会话及其子代理线程。子代理运行期间可观测,且继承当前选定的模型:新增的 /agents 信息流、/subagent 面板与 agent/request 监听将委派请求路由到当前模型选择。模型选择会持久化为全局部署默认,审批提示重建为决策对话框,补全支持 Enter 确认,并修复了子代理面板的两处缺陷(React hooks 崩溃与重复的档位后缀)。

新特性

会话管理

  • /resume 默认只显示当前目录的根会话,路径经 realpath 归一化比较;cwd 过滤可将列表扩展至全部工作区。
  • 列表按最近活动排序——以 JSONL 构件的修改时间为准,缺失时回退创建时间——并显示相对时间(5m ago2d 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