# 更新日志 本项目所有值得记录的变更都会记录在本文件中。 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.1.0/), 本项目遵循 [语义化版本](https://semver.org/lang/zh-CN/)。 ## [Unreleased] ## [0.4.6] - 2026-09-13 ### 安装与版本对应 本稳定版与 0.4.5 使用相同的 DSH 兼容范围:最低兼容 DSH `0.1.5-rc.1`,同时兼容 `0.1.5-rc.2`。推荐安装 rc.2;安装 DSH 时需要显式允许其原生安装脚本: ```sh npm install -g --allow-scripts=@deepseek-ai/dsh-subprocess-local,koffi,node-pty,@google/genai,protobufjs,fs-ext @deepseek-ai/dsh@0.1.5-rc.2 dsh plugin --profile pi-tui -- add @xmoon76/dsh-pi-tui@0.4.6 dsh --profile pi-tui ``` 不要把本版本与历史 DSH `0.1.3-alpha.2` 线混用。仍需保留旧版 DSH 的用户, 请安装对应的历史 TUI 线:DSH `0.1.2-rc.1` 使用 `@xmoon76/dsh-pi-tui@0.4.1`,DSH `0.1.3-alpha.2` 使用 `@xmoon76/dsh-pi-tui@0.4.3-alpha.2`,更旧的 DSH `0.1.1-rc.1`/`rc.2` 使用 `@xmoon76/dsh-pi-tui@0.3`。 ### 新增 - **显式交付文件呈现。** `present` 工具卡现在以人类可读的文件列表显示,最终回答尾部会汇总实际交付的路径与描述,并在折叠视图中保持紧凑。 ### 修复 - **Focus 实时呈现高度与滚动稳定性。** 流式 Markdown 内容在展开 Focus 中增高或收缩时,不再因临时高度变化造成视口抖动;历史内容更新、工具准备/完成以及 Focus/fullscreen 切换会正确释放旧的高度基线,并保留用户主动滚动位置。 > **已知限制:** 当前生产默认后端仍为 Direct;remote attach 暂不支持。 ## [0.4.5] - 2026-09-11 ### 安装与版本对应 本稳定版最低兼容 DSH `0.1.5-rc.1`,同时兼容 `0.1.5-rc.2`。推荐安装 rc.2;安装 DSH 时需要显式允许其原生安装脚本: ```sh npm install -g --allow-scripts=@deepseek-ai/dsh-subprocess-local,koffi,node-pty,@google/genai,protobufjs,fs-ext @deepseek-ai/dsh@0.1.5-rc.2 dsh plugin --profile pi-tui -- add @xmoon76/dsh-pi-tui@0.4.5 dsh --profile pi-tui ``` 不要把本版本与历史 DSH `0.1.3-alpha.2` 线混用。仍需保留旧版 DSH 的用户, 请安装对应的历史 TUI 线:DSH `0.1.2-rc.1` 使用 `@xmoon76/dsh-pi-tui@0.4.1`,DSH `0.1.3-alpha.2` 使用 `@xmoon76/dsh-pi-tui@0.4.3-alpha.2`,更旧的 DSH `0.1.1-rc.1`/`rc.2` 使用 `@xmoon76/dsh-pi-tui@0.3`。 ### 新增 - **PTC / `run_code` 嵌套工具树。** `run_code` 内的子调用现在会作为递归树显示在 根 Code 卡片下,不再散落成顶层工具行;Focus、`/search` 和 Markdown 导出也会 保留嵌套关系,并显示紧凑的活跃子调用提示。 - **会话呈现对齐 DSH Session 语义(兼容 V2/V3 持久化代)。** 实时回答、工具结果、 Thinking 与冷恢复会话的显示更加一致;Focus、Transcript 和 Stats 不再把瞬态流内容重复展示。 - **`/search` 收敛进会话浏览器。** `/sessions`、`/resume` 与 `/search` 共用同一个 全局搜索视图,同时匹配会话元数据和内容;早期会话也能被找到,内容搜索不可用时 仍可用元数据筛选,浏览器不会关闭。 - **统一附件摄取。** `@` 提及、`/image` 参数与粘贴内容现在共享一条附件流水线, 图片、普通文件、占位符和草稿提交的行为保持一致。 - **草稿中补全内联 `/skill` 引用。** `/名称` token 可从 detached skill 目录补全; 接受后只插入引用,最终普通提问再由 Host 注入识别出的 skill。 - **Workflow 可扩展 UI。** Run/Phase 卡片在小规模运行中展示成员,在大规模运行中展示 聚合摘要、异常预览和可筛选的 Task Viewer;completed、cancelled 与 interrupted 状态也有明确的展示。 - **Workflow 生命周期/模型对齐 DSH alpha.2。** Workflow 保留完整运行与成员状态, 冷回放、实时记录、搜索和 `/transcript` 使用同一套结果。 - **`/export` 现在保存完整 Session 归档。** 导出包含子代理与附件,并生成可恢复的完整 Session 文件;旧的单日志 JSONL 导出已移除。 - **新增 `/transcript` 命令。** 将当前 Session 保存为可读的 Markdown 对话记录到 Client 本地目录,与 `/export` 相同的无参数/保存位置交互。 - **Welcome Card 视觉重构。** 首屏欢迎卡引入原创圆润鲸鱼 ASCII mascot(5 种变体,每次启动随机一个),按终端宽度使用三档响应式布局:72 列以上鲸鱼与 session facts 左右并排,24~71 列鲸鱼居中、facts 在下,24 列以下切换为紧凑文本布局(🐋 标题)。鲸鱼保留 cyan → blue 品牌渐变,不随主题切换改色;facts 继续完整显示(长值 wrap、不截断),idle 邀请、`setWelcomeCard()` 契约、fullscreen 滚动/锚点/点击映射均保持不变。 ### 变更 - **内置 Footer 默认布局更新。** 未自定义 Footer 的默认 statusline 现在是两行:第一行左侧为权限、Model、Tasks、目录、分支与扩展条目,右侧为 Plan 状态和 Focus Mode;第二行左侧为 token 用量、cache 命中、TTFB、吞吐与 turn/step 计数(stats-line 的语义拆解),右侧为完整 Context 用量(`已用/窗口 (百分比)`)。已保存自定义 `footerLayout` 的用户不受影响。 ### 改进 - **流式工具准备 UX 增强。** 准备卡片在块结束前的身份迁移更稳:延迟到达的 名称保留有界前缀,空 id 在 block 结束时迁移到权威 id,并行预览独立累计 字节与摘要。 - **内容块呈现完善。** 打开中的不透明 assistant 块立即渲染(不再等流结束), pending final 有栅栏防护,过期确认的 assistant 预览会刷新;continuable 子代理查看器保留查看历史。 - **命令与普通输入按"整行"判定,不再按命令名判定。** DSH 的命令判定表 (`CommandDescriptor.input`)区分两类命令:`leadingInput` 命令(如 `/goal`)把参数一起当作调用, 无参数命令(如 `/compact`)只有**裸命令**才是调用。此前只要名字出现在命令表里,整行就会走命令 通道——`/compact 任意内容` 会被当成命令执行,运行中也不跟随 queue/steer 策略,带图片时还会被按 命令附件规则拒绝。现在这类"带参数的无参数命令"与普通提示完全一致:跟随忙碌策略(queue/steer、 Ctrl+Enter 取反),图片作为多模态提示进入模型;而 `/compact`、`/goal `、`/plan ` 等真正的调用仍然走命令通道,附件规则也只在"这一行确实被命令接管"时生效。 - **`!`/`!!` 本地 shell 行不再把占位符带进 shell。** 本地 shell 本来就不 admit/consume 草稿,`!echo [image #1]` 会把占位符当普通 shell 参数执行、图片留在 store 里。现在与其它本地命令一致:直接拒绝,并把草稿(含附件)退回。 - **命令附件按命令自身的声明处理。** 只有 descriptor 声明了 `input.attachments` 的命令才允许带附件调用; 其余命令在派发前直接拒绝(`/ does not accept attachments; remove them first`),不再把"只有占位符、 没有内容"的行交给 host。声明过的命令会在 host 命令调用上收到编码后的图片附件;命令提交**只在 handler 成功后才 consume 附件**——失败的命令会连同附件一起还原草稿。文件附件对命令一律拒绝(host 需要上传 receipt,本 client 尚无该通道)。skill 调用不受影响:显式 `/skill [image #1]` 与 skill wrapper 仍属 agent-facing,图片随投递的 prompt 进入模型,而不是走命令通道。策略按**最终 authority** 复核: 未知的 `/name [image #1]` 若其命令在 session 建立后才出现(session 级 host 命令),会在 session 解析后 再判一次——未声明的命令会被拒绝,而不是带着空 payload 执行并把草稿 consume 掉。 - **带附件的 `/name args` 行不再被当成 client 命令。** client 命令 contribution 只 claim **裸 `/name`**, 所以 `/deploy [image #1]` 这类带参数(附件必然引入参数)的行本来就**不是** contribution 调用:它作为 普通多模态提交进入模型,插件 handler 不执行、也不会再报 "local command" 附件拒绝。 - **deferred start 期间插件重载不会串代执行。** 首次输入触发的 session 解析过程中,如果该 contribution 被卸载/重载(即使 owner 与 id 相同),已提交的命令**不会**执行新一代的 handler,也**不会**降级成模型 prompt:提交被中止、提示 `/ is no longer available`,草稿还原后可直接重试。 - **Ctrl+Enter 与 Web 提交语义对齐。** 运行中按 Ctrl+Enter 现在取"忙碌提交行为"的**相反值**:默认 `busyEnter=queue` 时它 steer,`busyEnter=steer` 时它入队(空闲时一律入队)。旧的 `app.input.queue` 动作保留为 deprecated、无默认键,已有自定义绑定仍然是"入队",不会被悄悄改成 相反行为;新的 `app.input.submitAccelerated` 独立拥有 Ctrl+Enter。 - **吞吐统计口径统一。** Footer 的 tok/s 现在按可观察到的 decode 输出 token 与对应观测时间窗计算;burst samples 不再与完整 LLM wall time 或其它阶段计数混合。 - **Focus 中的 steer 时间线更可靠。** 早到、迟到以及时间戳相同的 steer/answer 事件会按可证明的边界处理,跨 steer 的回答不会被错误吞掉或重复显示。 ### 修复 - **过期的命令 handle 不再删除新一代注册。** handle 只代表**一次**注册:重复或迟到的 `dispose()`(HMR 重载后才到达的 fiber cleanup)不会删掉同 id 的新 contribution,也不会误清新一代的健康记录。 - **文本输入态的键盘所有权修正。** 自由输入编辑不再被父层抢走行编辑键:Question 的“Type something.”自由输入里 `←/→` 现在是文本光标(此前会误提交或翻页),`Home/End/Ctrl+A/E/B/F/Delete` 等编辑键统一进入共享输入。无选项的纯文本问题改为明确的两层状态:编辑层里 `←/→` 编辑文本、`↵` 提交、`Esc/Ctrl+C` 只退出编辑回到导航层,导航层里 `↵` 重新进入编辑、`←/→` 翻题(或跳过)、`Esc/Ctrl+C` 才取消整个流程(此前按 Esc 会把这类问题困在无法重新编辑的半死状态,或直接取消整个提问)。Question 编辑态与 Task Center 搜索态的底部提示改为只描述当前模式真实行为(不再宣传 `↑↓ select` / `A active/all` 等列表动作)。Transcript 搜索现在可用 Esc 或 Ctrl+C 关闭(`app.transcript.search.close` 默认键扩充,Ctrl+C 此前被搜索输入框吞掉),并在输入框下显示 `↵ next · ⇧↵ prev · esc/ctrl+c close` 指引。`/keybindings` 的搜索框改为共享 Input 渲染:支持光标移动/Home/End/删除/词移动等完整行编辑,提示随查询是否为空在 `Esc: clear` 与 `Esc: close` 间切换。 - **退出时完整回收 Direct 会话。** 退出 TUI 时,主 Agent、continuable subagent 与 Agent 作用域后台任务现在按固定顺序回收:取消主 Agent 并等待静默 → 排空 continuable 后代 → 最终持久化 flush → 释放 AgentHandle。此前退出后进程可能残留约 5 分钟(continuable subagent 仍存活);现在退出在数秒内完成,且诊断日志能区分 surface 关闭、Host 回收与 launcher 退出。会话切换(/new、/fork、rewind、/sessions)提交后也会回收旧 owner 的 continuable 后代。 - **展示细节修正。** diff 展示对齐官方语义(折叠的多 hunk 有界、编辑 header 与结果 parity 保留);`@` 文件补全保留完整路径,marquee 提示路由与宿主清理修正;fork/rewind 后模型选择引用保留;Focus thought 后的非用户回合 steer 保留,并区分 opening steer 与回合中途输入;assistant 工具结果展示在呈现流水线后保持不变。 - **会话打开与切换更稳健。** 打开/切换会话(/new、/resume、fork、rewind、/sessions)期间不再丢状态:新会话加载完成前旧会话保持可见可用,新会话初始化失败也不会卡死表面(重试仍能正常打开);切换期间旧 Agent 保持写入权威直到新会话接管;迟到的 assistant 流片段按官方语义归位,不再产生残缺或悬空的块。 ### 兼容性 - **客户端命令 contribution 改为"仅裸命令"调用(破坏性)。** 对齐 DSH `matchEnter`:contribution 是 斜杠**菜单项**,只 claim **裸 `/name`**;`/name args` 不是调用——它作为普通提交进入模型(跟随忙碌 策略、附件照常投递),插件的 handler 完全不执行。此前 `/deploy prod` 会执行插件 handler。需要参数的 插件应在裸命令里自行打开面板/选择器,或把该能力做成模型可用的工具。 - **扩展 API 版本升到 2(破坏性)。** `api().apiVersion` 现在返回 `2`:下面的插件命令 contribution 契约对 STABLE 面是破坏性变更(移除 `execution`/`argumentProvider`、`handler` 变为必填);`1` 仍是 M0–M3 基础版,插件可据此区分两套 schema。仍声明旧 v1 shape 的插件会在注册时**直接报错**,不会 被静默重新解释。 - **插件命令 contribution 对齐 DSH 客户端命令模型(破坏性)。** `execution: 'local' | 'submission'` 已**移除**:contribution 就是"客户端自有的命令"(必有 `handler`,无 host descriptor),会进入 `/` 命令菜单并本地执行、永不 steer;名字与当前 host catalog 冲突时**候选合成整体失败**(不安装任何菜单 行、记录扩展健康并在界面提示一次,提示中列出该轮全部冲突的 contribution),host 命令始终保留自己的 claim,**绝不会被降级成模型 prompt**。 用于广告 prompt 型名字的 `submission` 请直接不要注册 contribution(未 claim 的 `/name args` 本来就 是 prompt,发现渠道是 host 侧 skill)。`sessionless: true` 表示可在没有 session 时执行;默认 `false` 会先解析/创建 session 再执行。与 **session 级 host catalog 同名**属于合成期冲突:整轮候选 合成失败(对齐上游 `source-failed`,该 source 的命令行全部撤下,直到下一次成功合成),但 host claim 已先行刷新,输入归属不受影响,冲突记录在该 contribution 的健康上并按 identity/失败代次提示一次(提示列出该轮全部冲突); TUI 静态命令名冲突则在注册时直接抛错。另外从未接线的 `argumentProvider` 字段一并移除(请用 `registerAutocomplete`)。 - **保留 standalone composition caller 的 `ModelSelectionRef` 兼容性。** 根导出的 `composeAgent(ctx, ref)` 形式继续可用,返回的 setup 会安装调用方持有的 selection, 无需 Agent;Direct runner 继续使用显式 Agent-local installer 形式。 > **已知限制:** 当前生产默认后端仍为 Direct;remote attach 暂不支持。 ## [0.4.3-alpha.2] - 2026-09-08 ### 安装与版本对应 当前预发布线建议按以下顺序安装,先安装匹配的 DSH,再将 TUI bundle 加入 profile: ```sh npm install -g @deepseek-ai/dsh@0.1.3-alpha.2 dsh plugin --profile pi-tui -- add @xmoon76/dsh-pi-tui@0.4.3-alpha.2 dsh --profile pi-tui ``` 需要保留旧 DSH 的用户按下列对应固定 TUI 版本:`0.1.1-rc.2` 用 `@xmoon76/dsh-pi-tui@0.3`;`0.1.2-alpha.2`/`alpha.3` 用 `@xmoon76/dsh-pi-tui@0.4.0-alpha.1`;`0.1.2-alpha.4`/`alpha.5` 用 `@xmoon76/dsh-pi-tui@0.4.0-alpha.2`;`0.1.2-rc.1` 用 `@xmoon76/dsh-pi-tui@0.4.1`。完整版本矩阵和更新/卸载命令见 README 的 「安装到 DSH Profile」。 ### 新增 - **PTC / `run_code` 嵌套工具树。** `run_code` 程序内派发的子调用现在作为 递归子调用树挂在根 Code 卡片下:完整身份链(`subCallId`/`parentCallId`/ `rootCallId`)支持孙级拓扑;未知父级的孤儿 start/settle 事实先私有暂存, 父级出现时挂接,绝不提升为顶层 surface 行。子调用树与 Focus、展示与搜索 等表面对齐:折叠 Focus 中 `run_code` 仍是正式 Tool 槽,并附加紧凑的活跃 子调用提示(如 `Bash running` / `Bash ×2 running` / `Bash +1 running`, 带宽度降级);`/search` 语料递归包含子调用(命中定位到根 Code 卡); markdown 导出保留嵌套输出。 - **会话呈现对齐 DSH v2 语义。** Direct 适配器按官方语义摄取 `agent/assistant-stream` 实时帧(完成回合栅栏、修订间隔重同步), Transcript/Focus/Stats 折叠瞬态平面;冷回放从 assistant/message block 恢复 thinking;移除旧的 durable assistant/chunk 私有路径。 - **`/search` 收敛进会话浏览器。** `/sessions`、`/resume` 与 `/search` 现在共用 同一个会话浏览器:输入查询后进入全局搜索结果视图(本地元数据匹配 ∪ 内容 匹配),不再按工作区裁剪搜索结果;命中片段直接显示在对应会话行上;内容搜索 不可用或失败时,本地元数据筛选照常工作,浏览器不会关闭。 - **会话内容搜索对齐 DSH 官方语义。** Direct 适配器改用 `sessionQuery.searchSessions()`(与 DSH master `ApiSessionList.search()` 一致:可见性授权、去重、游标翻页、20 条结果窗口),移除了旧的“最新 100 个 会话 + filterEvents”私有搜索规则——很早创建的会话中的匹配现在也能被找到。 - **统一附件摄取。** `@` 提及、`/image` 参数与粘贴内容走同一条附件 intake 流水线:有界签名探测区分图片与普通文件,普通文件保留元数据并在提交时 流式送入;占位与草稿提交行为一致化。 - **草稿中补全内联 `/skill` 引用。** 提示模式草稿中空白边界的 `/名称` token 现在按 detached 的人类 skill 目录补全;接受时插入字面引用而不提交, 最终普通提问由 Host 的 `dsh-tool-skill` pre-step 注入所有已识别 skill。 ### 改进 - **流式工具准备 UX 增强。** 准备卡片在块结束前的身份迁移更稳:延迟到达的 名称保留有界前缀,空 id 在 block 结束时迁移到权威 id,并行预览独立累计 字节与摘要。 - **内容块呈现完善。** 打开中的不透明 assistant 块立即渲染(不再等流 结束),pending final 有栅栏防护,过期确认的 assistant 预览会刷新; continuable 子代理查看器保留查看历史。 ### 修复 - **过期的命令 handle 不再删除新一代注册。** handle 只代表**一次**注册:重复或迟到的 `dispose()`(HMR 重载后 才到达的 fiber cleanup)不会删掉同 id 的新 contribution,也不会误清新一代的健康记录。 - **文本输入态的键盘所有权修正。** 自由输入编辑不再被父层抢走行编辑键: Question 的“Type something.”自由输入里 `←/→` 现在是文本光标(此前会误 提交或翻页),`Home/End/Ctrl+A/E/B/F/Delete` 等编辑键统一进入共享输入; 无选项的纯文本问题改为明确的两层状态:编辑层里 `←/→` 编辑文本、`↵` 提交、 `Esc/Ctrl+C` 只退出编辑回到导航层,导航层里 `↵` 重新进入编辑、`←/→` 翻题 (或跳过)、`Esc/Ctrl+C` 才取消整个流程(此前按 Esc 会把这类问题困在无法 重新编辑的半死状态,或直接取消整个提问);Question 编辑态与 Task Center 搜索态的底部提示改为只描述当前模式真实行为(不再宣传 `↑↓ select` / `A active/all` 等列表动作)。Transcript 搜索现在可用 Esc 或 Ctrl+C 关闭 (`app.transcript.search.close` 默认键扩充,Ctrl+C 此前被搜索输入框吞掉), 并在输入框下显示 `↵ next · ⇧↵ prev · esc/ctrl+c close` 指引。 `/keybindings` 的搜索框改为共享 Input 渲染:支持光标移动/Home/End/删除/ 词移动等完整行编辑,提示随查询是否为空在 `Esc: clear` 与 `Esc: close` 间 切换。 - **退出时完整回收 Direct 会话。** 退出 TUI 时,主 Agent、continuable subagent 与 Agent 作用域后台任务现在按固定顺序回收:取消主 Agent 并等待 静默 → 排空 continuable 后代 → 最终持久化 flush → 释放 AgentHandle。 此前退出后进程可能残留约 5 分钟(continuable subagent 仍存活);现在 退出在数秒内完成,且诊断日志能区分 surface 关闭、Host 回收与 launcher 退出三个阶段。会话切换(/new、/fork、rewind、/sessions)提交后也会 回收旧 owner 的 continuable 后代。 - **展示细节修正。** diff 展示对齐官方语义(折叠的多 hunk 有界、编辑 header 与结果 parity 保留);`@` 文件补全保留完整路径,marquee 提示 路由与宿主清理修正;fork/rewind 后模型选择引用保留;Focus thought 后 的非用户回合 steer 保留,并区分 opening steer 与回合中途输入; assistant 工具结果展示在呈现流水线后保持不变。 - **会话打开与切换更稳健。** 打开/切换会话(/new、/resume、fork、rewind、 /sessions)期间不再丢状态:新会话加载完成前旧会话保持可见可用,新会话 初始化失败也不会卡死表面(重试仍能正常打开);切换期间旧 Agent 保持 写入权威直到新会话接管;迟到的 assistant 流片段按官方语义归位,不再 产生残缺或悬空的块。 ### 兼容性 - **`next` 线要求 DeepSeek Harness `0.1.3-alpha.2` 或更高版本。** 旧 runtime 的启动提示现在给出精确的 npm 升级命令 (`npm install -g @deepseek-ai/dsh@0.1.3-alpha.2`),不再引用未发布的 master source baseline。 - **本次已按精确的 npm `0.1.3-alpha.2` family 验证。** peer floor 为 `>=0.1.3-alpha.2`,开发/测试依赖与冻结 lockfile 解析到该精确 family; 兼容性与 preset/边界 smoke 直接对 registry 上的该 family 运行。 > **已知限制:** 当前生产默认后端仍为 Direct;remote attach 暂不支持。 ## [0.4.1] - 2026-09-04 ### 安装与版本对应 当前稳定版建议按以下顺序安装,先安装匹配的 DSH,再将 TUI bundle 加入 profile: ```sh npm install -g @deepseek-ai/dsh@0.1.2-rc.1 dsh plugin --profile pi-tui -- add @xmoon76/dsh-pi-tui@0.4.1 dsh --profile pi-tui ``` 需要保留 DSH `0.1.1-rc.2` 的用户应改用 `@xmoon76/dsh-pi-tui@0.3`。完整版本 矩阵和更新/卸载命令见 README 的「安装到 DSH Profile」。 ### 新增 - **流式工具准备卡片。** 工具调用在准备阶段即可显示实时卡片;Focus 视图 同步显示准备中的工具摘要,并在工具名称延迟到达时保持稳定位置。 ### 改进 - **Focus 准备状态投影。** 普通视图、Focus 展开视图和不同 viewer 之间切换时, 准备中的工具状态保持正确顺序;block 结束后会迁移到正式工具卡片或安全清理。 - **统一键盘退出确认。** Ctrl+C/Ctrl+D 等内置退出入口使用同一按键二次确认, 避免不同按键交叉确认;非空编辑器中的 Ctrl+D 仍保持 forward-delete,自定义退出 键映射不受影响。 ### 修复 - 修正流式工具准备标识在 block 结束和 viewer 切换期间的迁移,避免卡片重复、 错位或被迟到事件错误清理。 - 修正退出确认提示与编辑器/命令 surface 的按键路由,窄终端下仍保留必要提示。 ### 兼容性 - **继续使用 DSH `0.1.2-rc.1`。** 0.4.1 仍声明支持范围 `>=0.1.2-rc.1`;需要保留 DSH `0.1.1-rc.2` 的用户应使用 `@xmoon76/dsh-pi-tui@0.3`。 - 0.4.1 沿用 0.4 线的 Session 与旧数据兼容策略。 > **已知限制:** 当前生产默认后端仍为 Direct;remote attach 暂不支持。 ## [0.4.0] - 2026-09-03 ### 安装与版本对应 当前稳定版建议按以下顺序安装,先安装匹配的 DSH,再将 TUI bundle 加入 profile: ```sh npm install -g @deepseek-ai/dsh@0.1.2-rc.1 dsh plugin --profile pi-tui -- add @xmoon76/dsh-pi-tui@0.4.0 dsh --profile pi-tui ``` 需要保留 DSH `0.1.1-rc.2` 的用户应改用 `@xmoon76/dsh-pi-tui@0.3`;DSH `0.1.2-alpha.2`/`alpha.3` 用户应固定 `@xmoon76/dsh-pi-tui@0.4.0-alpha.1`, alpha.4/alpha.5 用户应固定 `@xmoon76/dsh-pi-tui@0.4.0-alpha.2`。完整版本 矩阵和更新/卸载命令见 README 的「安装到 DSH Profile」。 ### 新增 - **任务中心(Task Center)。** `/tasks` 重构为三层任务表面:footer 徽标 → Quick Tasks(footer 下方向键,Active 范围)→ 完整任务中心(`/tasks`, All 范围)。支持显式搜索模式(可打印键只作为查询文本,绝不触发破坏性 操作,Esc 先退出搜索再关闭面板);`Stop`(`S` → `Y` 确认)取代原来的裸 `i` 中断,并在派发时重新校验会话栅栏与 agent 注册表;footer 徽标分别 显示运行/总数与未确认的失败提醒,打开任一表面只确认实际可见的失败行。 - **终端完成通知。** 主 agent 在终端失焦时完成回合,会通过系统通知提醒 (OSC 9 / OSC 777 / 铃声,按终端环境自动选择)。只在真正 settle 时触发, 不会在重试、压缩、队列续跑或子代理结束时打扰。`/settings` 新增 `Completion notification` 模式(Unfocused / Always / Off)与方式 (Auto / OSC 9 / OSC 777 / Bell)两行。 - **`/settings` 新增 Subagent model selection。** 开关与 "Subagent allowed models" 路由选择器直接读写官方 `subagent-model-selection` 设置(默认 关闭;开启需要至少一条路由;在新会话组合时生效,不改写运行中的会话)。 - **工具卡 action payload 成为一等公民。** 紧凑工具卡直接展示 action 载荷, 展开保留空行,窄宽度与零宽行有明确处理。 - **Footer 自定义命令项。** `/footer` 的 Add picker 新增 `+ Create Custom Command`,可创建带刷新间隔、超时与语义色的自定义命令 条目;命令只从 USER 层 trusted 来源激活(项目配置永远不能提供或激活 命令),渲染路径永不 spawn。 - **`/model` 选择按 live Agent 持久化。** 每个 live Agent 拥有自己的模型 选择引用,footer 与 `/model` 跟随当前 Agent;全局默认与 Session 本地 选择分离,latest-wins 栅栏防止迟到操作覆盖新意图。 - **Focus 展开视图恢复 steer 时间线。** 展开的 Thought 中 initial user 保持在 Thought 前,后续 steer/user 回到实际发生位置;折叠 Message 成为 第三个 process slot(Think → Tool → Message),显示最新最多 3 行。 - **全屏鼠标滚轮步长可配置。** `/settings` 新增 `Mouse wheel lines` (1/2/3/5/8,默认 1)。 - **Todo 面板交互优化。** ≤5 条时两态(summary ↔ list);快速连点合并为 一次手势,不再"一闪就消失"。 - **长会话搜索改为稳定的索引化投影。** 全屏搜索基于稳定条目身份与单一 语料源,查询只遍历脏条目(O(#dirty)),跳转按稳定 turn 锚定。 - **状态行与 `/status` 上下文读数统一去重。** 普通刷新读缓存,`/status` 强制一次测量进缓存,面板与 footer 读数不再分叉。 ### 改进 - **`/sessions` 与 `/resume` 更快、可取消。** picker 输入优先打开(加载中 Enter 绝不触发 resume);每个会话只有一次合并投影读取(live 行读内存 快照、冷行读持久化缓存、真正的 cache miss 才做有界 observe);渐进富化 可取消,关闭/退出/重开都会中止扫描;`/resume <参数>` 共享同一生命周期。 - **粘贴处理更可靠。** 大粘贴后 `Ctrl+G` 外部编辑器不再丢内容(`$EDITOR` 看到展开后的完整文本);出站草稿(steer / submit / queue / 子代理提交) 统一展开 paste marker,不再把字面 marker 泄漏到 wire。 - **编辑器提交键独立。** 新增 `tui.editor.submit` 绑定(仅编辑器消费), question/搜索框不再被 `submit: ctrl+x` 类配置误提交。 ### 修复 - **终端 resize 后各表面保持状态。** 队列窗格 / Todo 面板 / 历史搜索 overlay / 审批弹窗在缩放与全屏切换后重建内容而不丢失组件状态、焦点与 叠层语义。 - **diff 视图不再显示无法证明的行号。** DSH 的 FileDiff 契约不带 hunk 锚点时隐藏行号 gutter,绝不猜测绝对行号。 - **Focus 展开视图的 initial user prompt 保持在 Thought 之前。** 系统行 注入不再把首条用户消息挤到 Thought 下方。 - **Todo 面板关闭后内置 summary 恢复。** 扩展宿主存在时,关闭面板不再让 dock 的 todo 摘要永久为空。 - **稳定性加固。** 进程槽持有至最终 dispose、编辑器挂载/组件 dispose 硬化,减少退出与 HMR 场景下的竞态。 - 显式 cold resume 在 TUI mount 前显示启动进度(`Resuming session…` / `Preparing conversation…`),不再让空白终端看起来像卡死。 - 搜索 overlay 的 Next/Prev 不再跳过新出现的匹配。 - 实时尾部追加刷新整个读组,搜索跳转不锚定旧窗口。 - 立即退出的 footer 命令子进程不再崩溃 TUI(EPIPE 吞掉)。 ### 迁移说明与兼容性 - **0.4 线切换到 DeepSeek Harness 0.1.2。** 声明支持范围 `>=0.1.2-rc.1`;低于 rc.1 的运行时收到启动提示:alpha.4/alpha.5 回退到 `@xmoon76/dsh-pi-tui@0.4.0-alpha.2`,alpha.2/alpha.3 回退到 `@xmoon76/dsh-pi-tui@0.4.0-alpha.1`,更旧的运行时回退到 0.3。 - 开发/测试依赖与 Source Mode pin 同步到 `dsh-v0.1.2-rc.1`;发布包 peer 下限保持 `>=0.1.2-rc.1`。 - Agent preset 身份按 roster 解析;旧数据中省略的 `code` 默认值在 roster 不含 `code` 时回退到 `ptc`。 - 上游 alpha 注意事项:DSH 0.1.2-alpha.1 的 subagent dispose 行为仍有 上游 caveat。 > **已知限制:** 当前生产默认后端仍为 Direct;remote attach 暂不支持。 ## [0.4.0-alpha.2] - 2026-09-03 ### 安装与版本对应 当前预发布页面建议按以下顺序安装,先安装匹配的 DSH,再将 TUI bundle 加入 profile: ```sh npm install -g @deepseek-ai/dsh@0.1.2-alpha.5 dsh plugin --profile pi-tui -- add @xmoon76/dsh-pi-tui@0.4.0-alpha.2 dsh --profile pi-tui ``` 需要保留 DSH `0.1.1-rc.2` 的用户应改用 `@xmoon76/dsh-pi-tui@0.3`;DSH `0.1.2-alpha.2`/`alpha.3` 用户应固定 `@xmoon76/dsh-pi-tui@0.4.0-alpha.1`。 完整版本矩阵和更新/卸载命令见 README 的「安装到 DSH Profile」。 ### 新增 - **任务中心(Task Center)。** `/tasks` 重构为三层任务表面:footer 徽标 → Quick Tasks(footer 下方向键,Active 范围)→ 完整任务中心(`/tasks`, All 范围)。支持显式搜索模式(可打印键只作为查询文本,绝不触发破坏性 操作,Esc 先退出搜索再关闭面板);`Stop`(`S` → `Y` 确认)取代原来的裸 `i` 中断,并在派发时重新校验会话栅栏与 agent 注册表;footer 徽标分别 显示运行/总数与未确认的失败提醒,打开任一表面只确认实际可见的失败行。 - **终端完成通知。** 主 agent 在终端失焦时完成回合,会通过系统通知提醒 (OSC 9 / OSC 777 / 铃声,按终端环境自动选择)。只在真正 settle 时触发, 不会在重试、压缩、队列续跑或子代理结束时打扰。`/settings` 新增 `Completion notification` 模式(Unfocused / Always / Off)与方式 (Auto / OSC 9 / OSC 777 / Bell)两行。 - **`/settings` 新增 Subagent model selection。** 开关与 "Subagent allowed models" 路由选择器直接读写官方 `subagent-model-selection` 设置(默认 关闭;开启需要至少一条路由;在新会话组合时生效,不改写运行中的会话)。 - **工具卡 action payload 成为一等公民。** 紧凑工具卡直接展示 action 载荷, 展开保留空行,窄宽度与零宽行有明确处理。 ### 改进 - **`/sessions` 与 `/resume` 更快、可取消。** picker 输入优先打开(加载中 Enter 绝不触发 resume);每个会话只有一次合并投影读取(live 行读内存 快照、冷行读持久化缓存、真正的 cache miss 才做有界 observe);渐进富化 可取消,关闭/退出/重开都会中止扫描;`/resume <参数>` 共享同一生命周期。 - **粘贴处理更可靠。** 大粘贴后 `Ctrl+G` 外部编辑器不再丢内容(`$EDITOR` 看到展开后的完整文本);出站草稿(steer / submit / queue / 子代理提交) 统一展开 paste marker,不再把字面 marker 泄漏到 wire。 - **编辑器提交键独立。** 新增 `tui.editor.submit` 绑定(仅编辑器消费), question/搜索框不再被 `submit: ctrl+x` 类配置误提交。 ### 修复 - **终端 resize 后各表面保持状态。** 队列窗格 / Todo 面板 / 历史搜索 overlay / 审批弹窗在缩放与全屏切换后重建内容而不丢失组件状态、焦点与 叠层语义。 - **diff 视图不再显示无法证明的行号。** DSH 的 FileDiff 契约不带 hunk 锚点时隐藏行号 gutter,绝不猜测绝对行号。 - **Focus 展开视图的 initial user prompt 保持在 Thought 之前。** 系统行 注入不再把首条用户消息挤到 Thought 下方。 - **Todo 面板关闭后内置 summary 恢复。** 扩展宿主存在时,关闭面板不再让 dock 的 todo 摘要永久为空。 - **稳定性加固。** 进程槽持有至最终 dispose、编辑器挂载/组件 dispose 硬化,减少退出与 HMR 场景下的竞态。 ### 兼容性 - **最低 DSH 版本提升到 `>=0.1.2-alpha.4`**(原为 `>=0.1.2-alpha.2`)。 低于 alpha.4 的运行时收到启动提示:alpha.2/alpha.3 回退到 `@xmoon76/dsh-pi-tui@0.4.0-alpha.1`,更旧的运行时回退到 0.3。 - 开发/测试依赖与 Source Mode pin 同步到 `dsh-v0.1.2-alpha.5`;发布包 peer 下限保持 `>=0.1.2-alpha.4`。 > **已知限制:** 当前生产默认后端仍为 Direct;remote attach 暂不支持。 ## [0.4.0-alpha.1] - 2026-09-01 ### 安装与版本对应 ```sh npm install -g @deepseek-ai/dsh@0.1.2-alpha.3 dsh plugin --profile pi-tui -- add @xmoon76/dsh-pi-tui@0.4.0-alpha.1 dsh --profile pi-tui ``` 需要保留 DSH `0.1.1-rc.2` 的用户应改用 `@xmoon76/dsh-pi-tui@0.3`。 ### 新增 - **Footer 自定义命令项。** `/footer` 的 Add picker 新增 `+ Create Custom Command`,可创建带刷新间隔、超时与语义色的自定义命令 条目;命令只从 USER 层 trusted 来源激活(项目配置永远不能提供或激活 命令),渲染路径永不 spawn。 - **`/model` 选择按 live Agent 持久化。** 每个 live Agent 拥有自己的模型 选择引用,footer 与 `/model` 跟随当前 Agent;全局默认与 Session 本地 选择分离,latest-wins 栅栏防止迟到操作覆盖新意图。 - **Focus 展开视图恢复 steer 时间线。** 展开的 Thought 中 initial user 保持在 Thought 前,后续 steer/user 回到实际发生位置;折叠 Message 成为 第三个 process slot(Think → Tool → Message),显示最新最多 3 行。 - **全屏鼠标滚轮步长可配置。** `/settings` 新增 `Mouse wheel lines` (1/2/3/5/8,默认 1)。 - **Todo 面板交互优化。** ≤5 条时两态(summary ↔ list);快速连点合并为 一次手势,不再"一闪就消失"。 - **长会话搜索改为稳定的索引化投影。** 全屏搜索基于稳定条目身份与单一 语料源,查询只遍历脏条目(O(#dirty)),跳转按稳定 turn 锚定。 - **状态行与 `/status` 上下文读数统一去重。** 普通刷新读缓存,`/status` 强制一次测量进缓存,面板与 footer 读数不再分叉。 ### 修复 - 显式 cold resume 在 TUI mount 前显示启动进度(`Resuming session…` / `Preparing conversation…`),不再让空白终端看起来像卡死。 - 搜索 overlay 的 Next/Prev 不再跳过新出现的匹配。 - 实时尾部追加刷新整个读组,搜索跳转不锚定旧窗口。 - 立即退出的 footer 命令子进程不再崩溃 TUI(EPIPE 吞掉)。 ### 迁移说明 - **0.4.0-alpha.1 切换到 DeepSeek Harness 0.1.2。** 声明支持范围 `>=0.1.2-alpha.2`;保留 DSH 0.1.1 的用户固定安装 `@xmoon76/dsh-pi-tui@0.3`。 - Agent preset 身份按 roster 解析;旧数据中省略的 `code` 默认值在 roster 不含 `code` 时回退到 `ptc`。 - 上游 alpha 注意事项:DSH 0.1.2-alpha.1 的 subagent dispose 行为仍有 上游 caveat。 ## [0.3.6] - 2026-08-31 ### 新增 - `@` 提及与 `/image` 参数共用统一的文件补全引擎(路径解析、排序、引号、 目录续补)。 - 长会话支持有界的转录窗口(重叠翻页、`Ctrl+End` 回最新、窗口锚点保留)。 - 提交即时反馈与可观测延迟时间线(`Submitting…` / `Queued…`)。 ### 变更 - `/footer` 保存流程可发现且事务化(Save changes / Unsaved 状态、Esc 确认)。 - 会话写入安全模型改为 fail-closed(owner lock + 单写者边界)。 ### 修复 - 异步补全结果始终重绘当前活动屏幕。 - Footer 在窄终端/全屏切换/command surface 下遵守真实可用预算。 - 转录窗口切换、搜索与实时跟随不再丢失 viewport 锚点。 > **已知限制:** 当前生产默认后端仍为 Direct;M2–M8 尚未完成,暂不支持 > remote attach。 ## [0.3.5] - 2026-08-28 ### 新增 - **`/footer` 配置器重构为层级式 status-line 编辑器。** Row Selector → Edit Row → Item Editor 三级;`A` 打开可搜索 Add Picker;Preview 与帮助 成为固定 shell;保存键改为 `S`。 - **Footer 支持用户自定义静态文本条目。** `+ Create Custom Text`,只从 USER 设置层读取。 - **内置 Footer 条目提供有意义的有限 Style。** Model / Permission / Working directory / Context / Token usage / Performance / Turns 等条目 新增可区分变体。 - **插件主题选择身份改为 SOURCE-QUALIFIED(`plugin:/`)。** 插件与文件主题不再共享裸名字空间;插件卸载后确定性回退到内置 dark。 - **`Icon style` 设置。** Emoji / Symbols / Minimal 三种结构图标风格, 切换即时生效。 - **快捷键可用户编排。** 语义 action + context-aware keymap; `/keybindings` 显示生效表、`conflicts` 列冲突、`reload` 重读、`reset` 清除;`X` 多键绑定;`DSH_PI_TUI_SAFE_KEYBINDINGS=1` 忽略所有 覆盖。 - **`/help` 与 `/settings` 按键文案语义化。** 不再写会因改键而过时的物理 键文案。 - **受信任的命令状态行(Claude/Kimi 风格)。** `footer: command` 把状态 表面交给用户配置的命令(JSON 快照进 stdin、stdout 渲染、周期刷新、失败 回退原生布局);只有 USER 层的 `footerCommand` 会被执行。 ### 变更 - Footer 成为可组合、可用户配置的表面(`custom` 预设 + 版本化 `footerLayout`)。 - 插件可贡献可配置的 Footer 条目(`chrome.footer.item` 槽位)。 - 问题流与任务浏览器改经语义组件 action 路由按键。 ### 修复 - 空输入不再制造消息或副作用(Enter / Ctrl+Enter / Ctrl+S 静默 no-op)。 - 编辑器 ↑/↓ 历史按当前会话投影。 - 终端窗口标题改为人类可读(`dsh · `,清洗 ANSI/OSC)。 - compaction/prune 后的幽灵 Tool Card 不再出现。 ## [0.3.4] - 2026-08-25 ### 新增 - **Ctrl+R 搜索输入历史。** 模态面板实时过滤,`Tab` 循环 Current session / Current directory / All directories;有界最近优先扫描(全局 5000 行 预算);分页 continuation;`Enter` 放回编辑器继续编辑。 - **`/tasks` 树形展示完整 subagent 世系。** 深度缩进 + `├─` 连接符,稳定 pre-order;嵌套后代只读。 - **选中行超长标签横向滚动(marquee)。** ### 变更 - **Thinking 块是 disclosure 不再是 visibility。** `Alt+T` 是唯一 bulk 拥有者;`Ctrl+O` 只拥有 tool/system/compaction detail。 - **`!` / `!!` shell 行升级为一等公民编辑器模式。** 提示符变为 `!`/`!!`, 粘贴 `!git status` 落成模式+命令。 - **本地 shell 卡片改为预览。** 运行中折叠为最新 5 行,已结束最多 20 行; `Alt+K` 快速清除已结束卡片。 ### 修复 - 启动期 TDZ 修复(footer command 生命周期槽声明过晚)。 - Linux Wayland/X11 下 Ctrl+V 图片粘贴恢复(强制 buffer 编码)。 - Task 弹层不再在边框旁出现黑色遮罩。 ## [0.3.3] - 2026-08-24 ### 新增 - **continuable 子代理查看器可交互。** 实时对话界面、子代理自己的草稿、 FIFO 投递、失败合并回草稿;one-shot 保持只读。 - **任务浏览器显示子代理 mode。** `continuable` / `one-shot` 标注。 - **Focus Mode。** 运行中 turn 的中间过程折叠进 live Thought 区块,点击 展开持续接收流式内容。 - **`/settings` 新增 `Home/End keys`。** Input / Viewport 两种习惯。 - **`@` 文件提及以绝对路径发给模型。** - **任务浏览器按行类型过滤。** Tab 循环 All → subagent → bash → pwsh。 - **Pi 风格 rewind:`Esc Esc`(或 `/rewind`)。** 从更早的用户回合 fork 对话;原会话从不修改。 - **`/fork` 与 `/rewind` 共用同一条 fork 链路。** ### 变更 - Esc 不再清空队列(keepInbox 语义)。 - `/sessions` 按目录限定范围(Current directory / All directories)。 - 问题 Review 页回归纯审阅(Enter 提交、Esc 取消、`←` 返回)。 ### 修复 - 会话切换改为单写事务:切换等待当前活动结束、失败不留半成品分支、同一 会话不会被两个进程同时写入。 - Double-Esc rewind 和弦真正连续。 - fullscreen 拖选与 `/copy` 不再假报复制成功(tmux / 平台工具 / OSC 52 兜底)。 - `Press Ctrl+C again to exit` 提示只存在于 footer 且与退出窗口同生命周期。 - 已结束的后台任务卡片保留命令行。 - `@dir` 补全不再依赖尾部斜杠。 ## [0.3.2] - 2026-08-22 ### 新增 - **用户输入渲染为品牌蓝气泡**,输入框同款 `❯` 提示符(可覆盖调色板 token)。 - **`/image <path>` 路径补全。** - **图文混合消息保留内联 `🖼️` 占位符。** - **全屏点击附件折叠/展开图片**(常驻身份行)。 ### 修复 - 注入上下文行展开不再泄漏原始 XML 信封。 - 图片摘要标记 `🖼️`(U+FE0F)不再与文件名重叠。 - write / skill / read_image 卡片折叠时不再泄漏原始 XML 信封。 ## [0.3.1] - 2026-08-21 ### 变更 - 不支持的宿主版本有明确的启动提示(版本、最低要求、升级命令)。 - `/login` 文案区分 API-key 与 provider 两个凭据平面。 ## [0.3.0] - 2026-08-21 ### 新增 - **provider-native 登录。** `/login` 识别两个凭据平面:API-key 流程与 OAuth / device-code 原生登录;secret 提示默认掩码。 - **`/logout` 覆盖两个凭据平面。** ### 变更 - **最低兼容 DSH 提升到 `dsh-v0.1.1-rc.1`**(不再支持 0.1.0-rc.8)。 - header 版本徽标先显示 dsh 版本再显示 `tui-` 版本。 ### 安全 - authorization secret 永不写入日志、历史、转录或 `/status`。 ## [0.2.2] - 2026-08-21 ### 新增 - **合并任务浏览器成为唯一后台表面。** `/tasks` 可搜索列表覆盖 job 与 子代理;`/subagents` 成为别名。 - **TUI 命令别名注册。** `/quit`、`/resume`、`/rename`、`/subagents`。 - **子代理家族工具卡显示模型。** - **`!` / `!!` 行像真实 shell 一样补全。** 命令名、`$VAR`、git 子命令。 - **本地 shell 沙箱偏好。** 用户手动命令默认 bypass 沙箱。 - **问题卡展示答案、Goal 卡可读。** 折叠预览不再泄露 JSON。 - **全屏 todo dock 点击。** ### 变更 - 队列窗格通知分类(用户行 `❯` / 通知行 `⏳`)。 - Ctrl+J 不再是 host 键位。 - `!` / `!!` 在会话工作区执行。 ### 移除 - **`/queue` 命令彻底移除。** 队列窗格是唯一队列面。 ### 修复 - Alt+↑ 出队只拉回用户自己的消息。 - 双击 Ctrl+C 退出和弦可见且更宽容(1.5s 窗口 + 提示)。 - 折叠卡不再泄露裸 JSON。 ## [0.2.1] - 2026-08-21 ### 变更 - 仓库根目录即发布包(对 npm 消费者无行为变化)。 ## [0.2.0] - 2026-08-21 ### 新增 - **扩展平台 v1。** 第三方 Cordis 插件可贡献 chrome、widget、斜杠命令、 主题、设置行、补全、按键绑定、渲染器、overlay,甚至替换编辑器;插件只 导入 `@xmoon76/dsh-pi-tui/extensions`,完全生命周期化。 - **分层扩展面。** stable `extensions` + `advanced`(实验性)+ `unstable`(不保证兼容)三层。 - **`/login` 可新增未配置过的供应商。** 引导向导 + 端点模型探测。 - **真实插件验证。** vim 模态编辑器、questionnaire 表单、交互式 shell 示例。 - **`@dir/` 补全 Tab 接受后自动展开。** - **`/sessions` 与 `/resume` 分类会话列表。** Main / All / Subagents。 - **会话标题加载更快。** 分批渐进 + 本地缓存。 - **上下文压缩的进度与结果。** 通知 + 可展开压缩卡片。 - **`/model` 选择 effort 后自动关闭。** - **footer 窄终端自动换行。** ### 变更 - TUI surface 显式生命周期(generation / dispose)。 - Ctrl+C 与 Esc 改为 pi 的编辑器语义。 ### 安全 - 插件文本不再能注入终端控制序列。 ### 修复 - 宿主永不会被插件遮蔽或拖垮。 - 编辑器替换安全(原子交接、陈旧句柄惰性化)。 - 窄终端保持完好。 ## [0.1.8] - 2026-08-18 ### 变更 - 问题卡片 back/skip 改为方向键(`→` / `←` / `↑↓`)。 ### 修复 - Kitty 键盘协议终端(zellij、WezTerm、Windows Terminal、kitty)上 方向键/Esc/Tab 恢复正常。 - Skill 斜杠命令不再吞掉用户参数。 ## [0.1.7] - 2026-08-18 ### 修复 - 用户加载的 skill 现在真正执行(空闲 agent 也会开启新回合)。 - subagent transcript 查看器不再冻结主 transcript。 ## [0.1.6] - 2026-08-18 ### 新增 - 打开时会话锁(拒绝第二个进程同时打开同一会话,崩溃锁自动接管)。 - 纯 `exit` 退出。 - `/login` 与 `/logout` 解析凭据目标。 - 按 cwd 保存的输入历史(JSONL)。 - 编辑器内联 skill 自动补全。 - Web 对齐的工具卡片(web 结果、todo 清单、计划评审)。 - 任务浏览器面板(状态圆点、实时跳动)。 ### 变更 - 后台子代理结算通知移出队列面板。 - 编辑器区域布局(todo 摘要移入 dock 条)。 ### 修复 - 问题对话框方向键在滚动视口边缘滚动。 - 会话修复剥离尾部空 zstd 帧。 ### 移除 - 失效的 `@deepseek-ai/dsh-session-query` peer 依赖。 ## [0.1.5] - 2026-08-17 ### 新增 - 表面目录协调器(恢复会话预取、冷 skill 读取)。 - 统一的问题页滚动视口(展开、滚动位置保持)。 ## [0.1.4] - 2026-08-16 ### 新增 - Busy-Enter 设置(运行时 Enter 改为 steer)。 - `!` shell 提交命令+输出进会话;`!!` 本地执行。 - 子代理只读查看器。 - 任务浏览器合并可续接子代理与任务注册表。 - `/rename` 作为 `/title` 别名。 ### 变更 - 问题对话框位于编辑器 seat。 - 会话记录 markdown 在 resize 时重新换行。 ## [0.1.3] - 2026-08-16 ### 新增 - 后台任务独立表面(队列通知、footer 徽章、任务浏览器、输出查看器)。 - 主题检测链与 diff 令牌。 - `@` 文件提及。 - `/quit` 作为 `/exit` 别名。 ### 变更 - 多行工具卡片(命令/diff 预览)。 - 性能:窗口投影、跨轮读取分组、消息组件缓存。 ### 修复 - 问题流 FIFO 串行化。 - 会话修复(撕裂 zstd 尾部安全、fsync 备份)。 - 本地 shell 输出有界。 ## [0.1.2] - 2026-08-15 ### 新增 - 队列输入面板与 `/queue` 管理;Ctrl+S 整体 steer。 - `ask_user_question` 可导航复核流程。 - 会话创建推迟到第一条用户消息。 - `/yolo` 别名;权限模式徽章。 - edit/write 工具卡片 LCS diff 渲染。 ### 修复 - 通知在重绘后存活。 - 斜杠命令自动补全不再滞后。 ## [0.1.1] - 2026-08-15 ### 修复 - `@deepseek-ai/*` 声明为 peerDependencies(profile 中不再出现重复副本)。 ## [0.1.0] - 2026-08-15 ### 新增 - 首个公开版本:`@xmoon76/dsh-pi-tui`,面向 DeepSeek Harness profile (`dsh --profile pi-tui`)的 TUI 界面,构建于 vendored pi-tui fork 之上,打包为单一自包含包。 - 会话记录引擎(窗口化、增量折叠、web 对齐工具卡片)。 - 审批对话框与权限模式;斜杠命令齐全。 - 全屏布局、Ctrl+F 搜索、主题系统。 - 单包发布模型。 [Unreleased]: https://github.com/XMoon/dsh-pi-tui/compare/v0.4.6...HEAD [0.4.6]: https://github.com/XMoon/dsh-pi-tui/compare/v0.4.5...v0.4.6 [0.4.5]: https://github.com/XMoon/dsh-pi-tui/compare/v0.4.1...v0.4.5 [0.4.3-alpha.2]: https://github.com/XMoon/dsh-pi-tui/compare/v0.4.1...next-v0.4.3-alpha.2 [0.4.1]: https://github.com/XMoon/dsh-pi-tui/compare/v0.4.0...v0.4.1 [0.4.0]: https://github.com/XMoon/dsh-pi-tui/compare/v0.3.6...v0.4.0 [0.4.0-alpha.2]: https://github.com/XMoon/dsh-pi-tui/compare/next-v0.4.0-alpha.1...next-v0.4.0-alpha.2 [0.4.0-alpha.1]: https://github.com/XMoon/dsh-pi-tui/compare/v0.3.6...next-v0.4.0-alpha.1 [0.3.6]: https://github.com/XMoon/dsh-pi-tui/compare/v0.3.5...v0.3.6 [0.3.5]: https://github.com/XMoon/dsh-pi-tui/compare/v0.3.4...v0.3.5 [0.3.4]: https://github.com/XMoon/dsh-pi-tui/compare/v0.3.3...v0.3.4 [0.3.3]: https://github.com/XMoon/dsh-pi-tui/compare/v0.3.2...v0.3.3 [0.3.2]: https://github.com/XMoon/dsh-pi-tui/compare/v0.3.1...v0.3.2 [0.3.1]: https://github.com/XMoon/dsh-pi-tui/compare/v0.3.0...v0.3.1 [0.3.0]: https://github.com/XMoon/dsh-pi-tui/compare/v0.2.2...v0.3.0 [0.2.2]: https://github.com/XMoon/dsh-pi-tui/compare/v0.2.1...v0.2.2 [0.2.1]: https://github.com/XMoon/dsh-pi-tui/compare/v0.2.0...v0.2.1 [0.2.0]: https://github.com/XMoon/dsh-pi-tui/compare/v0.1.8...v0.2.0 [0.1.8]: https://github.com/XMoon/dsh-pi-tui/compare/v0.1.7...v0.1.8 [0.1.7]: https://github.com/XMoon/dsh-pi-tui/compare/v0.1.6...v0.1.7 [0.1.6]: https://github.com/XMoon/dsh-pi-tui/compare/v0.1.5...v0.1.6 [0.1.5]: https://github.com/XMoon/dsh-pi-tui/compare/v0.1.4...v0.1.5 [0.1.4]: https://github.com/XMoon/dsh-pi-tui/compare/v0.1.3...v0.1.4 [0.1.3]: https://github.com/XMoon/dsh-pi-tui/compare/v0.1.2...v0.1.3 [0.1.2]: https://github.com/XMoon/dsh-pi-tui/compare/v0.1.1...v0.1.2 [0.1.1]: https://github.com/XMoon/dsh-pi-tui/compare/v0.1.0...v0.1.1 [0.1.0]: https://github.com/XMoon/dsh-pi-tui/releases/tag/v0.1.0