@crazyhappyone/dsh-tui 0.1.0-alpha.51 → 0.1.0-alpha.53

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,59 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.0-alpha.53 — 2026-10-22
4
+
5
+ Prerelease for DSH `0.2.1-rc.2`; npm channel: `next`.
6
+
7
+ ### Fixed
8
+
9
+ - String arrays such as `defaultInput` and `tags` stay on one editable settings row. Enter opens the value editor instead of one child row per element, and JSON or comma-separated input round-trips through the official settings patch. Arrays containing non-strings, including model lists and numeric arrays, remain browsable.
10
+ - Settings details stop measuring a long value once the visible row budget is full. The last visible row keeps the next source chunk and ends with `…`.
11
+ - Rapid settings selection updates coalesce to one notification per turn, and settled transcript rows reuse their projection while the block version and render scope stay unchanged.
12
+ - CI checks out the DSH tag named by `COMPATIBLE_DSH_VERSION`, activates that checkout's declared pnpm version, and runs the TUI tests from the mounted plugin sources.
13
+
14
+ ### Verification and upgrade
15
+
16
+ - Focused verification passed 250 tests: settings navigation, settings interaction, content wrapping, settings usability and hierarchy layout, stream view, markdown rendering, and block rows. The full TUI suite, launcher tests, typecheck, and OS PTY checks were not rerun for this patch.
17
+ - Update with `npm install --global @crazyhappyone/dsh-tui@next`, then relaunch. Source-linked installations can use `/reload` once the new bundle is available. The official profile and configuration services remain authoritative; no migration is required.
18
+
19
+ ### 中文变更说明
20
+
21
+ - `defaultInput`、`tags` 等纯字符串数组留在同一行编辑,Enter 打开值编辑器,不再为每个元素生成子行;JSON 和逗号输入都通过官方 settings patch 往返。包含非字符串的数组,包括模型列表和数字数组,仍可逐项浏览。
22
+ - 设置详情在可见行数用完后停止测量超长值,最后一行保留下一段内容并以 `…` 结束。
23
+ - 连续移动设置选中项时,每个事件循环只通知一次;已完成的聊天投影在块版本和渲染范围不变时复用。
24
+ - CI 按 `COMPATIBLE_DSH_VERSION` 检出对应 DSH tag,启用该检出声明的 pnpm 版本,再运行挂载后的 TUI 测试。
25
+ - 验证:上述聚焦测试 250 项通过。本补丁未重跑完整 TUI 套件、launcher 测试、类型检查和 OS PTY。
26
+ - 升级:`npm install --global @crazyhappyone/dsh-tui@next` 后重新启动;源码链接安装可在新 bundle 就绪后 `/reload`。继续使用官方配置服务,无需迁移。
27
+
28
+ [Full comparison](https://github.com/zhangyang-crazy-one/dsh-tui/compare/v0.1.0-alpha.52...v0.1.0-alpha.53)
29
+
30
+ ## 0.1.0-alpha.52 — 2026-10-21
31
+
32
+ Prerelease for DSH `0.2.1-rc.2`; npm channel: `next`.
33
+
34
+ ### Fixed
35
+
36
+ - Settings now shows a visible category tab bar, a contrasting selected row, bounded long-value details and the selected search result's source path. Narrow terminals keep the active category visible; plain-color mode retains bracket markers.
37
+ - Tab / Shift+Tab restores the last nested location in each category. Search supports arrow/page navigation and preserves selection when accepted. Enter changes supported booleans/choices; Right only opens nested objects. Controls describe the selected item's actual actions, and the value editor says save/cancel instead of send-message.
38
+ - Settings writes reject duplicate submissions and read-only quick changes while preserving official settings/credential ownership and unknown user fields.
39
+
40
+ ### Verification and upgrade
41
+
42
+ - Passed 2,325 TUI tests across 174 files with two workers, 46 launcher tests, four strict TypeScript projects, five bundle builds/import checks and the npm package-content check.
43
+ - Production rendering in OS PTYs at 40, 80 and 120 columns passed 12 steps each: category navigation, location restoration, search selection, editing/saving and long-value cancellation. The catalog used synthetic services with 25 providers and 65 models per provider. See the [verification and screenshots](docs/settings-usability-2026-10-21/verification.md).
44
+ - Update with `npm install --global @crazyhappyone/dsh-tui@next`, then relaunch. Source-linked installations can use `/reload` once the new bundle is available. The official profile and configuration services remain authoritative; no migration is required.
45
+ - Tabs use Tab / Shift+Tab; this release does not add mouse-click tab controls. PTY checks do not establish live model authentication or every physical terminal's behavior.
46
+
47
+ ### 中文变更说明
48
+
49
+ - 设置增加可见分类选项卡、选中行背景、长值详情和搜索结果来源路径;窄屏保留当前分类,无色模式也可识别选中项。
50
+ - Tab / Shift+Tab 切换分类并恢复深层位置;搜索中可用方向键/翻页,确认搜索保留选择。Enter 快速切换支持的布尔/枚举值,右方向键仅进入分支;编辑框明确显示保存/取消。
51
+ - 保存期间防止重复写入或切换编辑位置,禁止只读项快速修改;继续使用 DSH 官方 settings/credentials 服务并保留未知字段。
52
+ - 验证:174 个文件、2,325 项 TUI 测试、46 项 launcher 测试、4 个严格类型检查项目及构建/打包通过;40/80/120 列 OS PTY 各完成 12 个操作检查点,服务与目录数据为合成 fixture。
53
+ - 升级:`npm install --global @crazyhappyone/dsh-tui@next` 后重新启动;源码链接安装可在新 bundle 就绪后 `/reload`。分类切换使用 Tab / Shift+Tab,本版未新增鼠标点击分类控件。
54
+
55
+ [Full comparison](https://github.com/zhangyang-crazy-one/dsh-tui/compare/v0.1.0-alpha.51...v0.1.0-alpha.52)
56
+
3
57
  ## 0.1.0-alpha.51 — 2026-10-21
4
58
 
5
59
  Prerelease for DSH `0.2.1-rc.2`; npm channel: `next`.
package/README.md CHANGED
@@ -15,9 +15,9 @@ English | [中文](README.zh.md)
15
15
 
16
16
  `@crazyhappyone/dsh-tui` is a terminal interface for DeepSeek Harness (dsh), shipped as a dsh **plugin bundle** plus a `dsh-tui` launcher. The package declares `dsh.bundle`, so dsh installs it into a profile like any other plugin; the launcher only automates that install and boots the profile. This repository owns the plugin sources (`tui/`, `tui-render/`). DSH continues to own agents, sessions, tools, persistence, providers, permissions, and profile assembly.
17
17
 
18
- ## Release 0.1.0-alpha.51
18
+ ## Release 0.1.0-alpha.53
19
19
 
20
- This prerelease targets DSH `0.2.1-rc.2`. It fixes streamed text overlapping the input area, removes wheel scrolling catch-up, reduces history-rendering work, and adds hierarchical settings navigation. It also fixes failed-stream text, SSH login guidance and file paths after `/cd` (#14–#16). See the [changelog](CHANGELOG.md#010-alpha51--2026-10-21) for the full changes and verification boundaries.
20
+ This prerelease targets DSH `0.2.1-rc.2`. String arrays such as `defaultInput` now edit in place, settings details truncate long values at the visible row budget, and settled transcript rows reuse their projection while unchanged. See the [changelog](CHANGELOG.md#010-alpha53--2026-10-22) for the verification boundary.
21
21
 
22
22
  ```sh
23
23
  npm install --global @crazyhappyone/dsh-tui@next
@@ -31,11 +31,11 @@ Earlier lightweight versions used `tui`, while source mode used `deepseek-tui`.
31
31
 
32
32
  For a running source-linked installation, `/reload` loads the rebuilt bundle but preserves that process's selected profile. To change from `tui` to `deepseek-tui`, quit and launch again (or pass the desired profile explicitly). Resumed Goals require `/goal resume` to enable automatic continuation.
33
33
 
34
- `/settings` now opens a hierarchy. Use Enter to open a category, namespace, provider, model or field; ←/Esc returns one level; `/` searches; `i` edits an object's JSON; Space toggles supported values. Successful edits stay in the current location and use DSH's official settings/credential services. In the recorded PTY comparison, a nine-line wheel burst reached its target in 17.93 ms instead of 168.07 ms; 2,812 frames with published transcript snapshots had no text mismatches or input-area leaks. These are synthetic PTY results, not hardware latency guarantees. See the [fix verification](docs/performance-audit-2026-10-21/fix-verification.md) for fixtures and limits.
34
+ In `/settings`, Tab / Shift+Tab switches categories and restores each category's location. Enter opens a namespace, provider or model, edits a field, or changes a supported boolean/choice. ←/Esc returns one level and closes at the category root; `/` searches; `i` edits an editable object's JSON; Space also changes supported values. While searching, arrows and page keys move through results, Enter accepts the search without resetting selection, and Esc clears it. Successful edits stay in place and use DSH's official settings/credential services. Tabs are operated with the keyboard. See the [verification and screenshots](docs/settings-usability-2026-10-21/verification.md) for the 40/80/120-column PTY checks and their limits.
35
35
 
36
36
  ## Table of Contents
37
37
 
38
- - [Release and upgrade](#release-010-alpha51)
38
+ - [Release and upgrade](#release-010-alpha53)
39
39
  - [Changelog](CHANGELOG.md)
40
40
  - [Terminal capabilities](#terminal-capabilities)
41
41
  - [Screenshots](#screenshots)
@@ -54,7 +54,7 @@ For a running source-linked installation, `/reload` loads the rebuilt bundle but
54
54
  <a id="screenshots"></a>
55
55
  ## Screenshots
56
56
 
57
- Interactive settings pane (`/settings`):
57
+ Settings category tabs and nested provider navigation (`/settings`, 80-column OS PTY with a synthetic catalog):
58
58
 
59
59
  ![dsh-tui settings pane](assets/screenshots/dsh-tui-settings.png)
60
60
 
package/README.zh.md CHANGED
@@ -15,9 +15,9 @@ kind: "package-group"
15
15
 
16
16
  `@crazyhappyone/dsh-tui` 是 DeepSeek Harness(dsh)的终端界面,以 dsh **插件 bundle** 加 `dsh-tui` launcher 的形式发布。包声明了 `dsh.bundle`,因此 dsh 会像安装其他插件一样把它装进 profile;launcher 只负责自动完成这一安装并启动 profile。本仓库拥有插件源码(`tui/`、`tui-render/`)。Agent、会话、工具、持久化、provider、权限与 profile 组装仍由 DSH 拥有。
17
17
 
18
- ## 0.1.0-alpha.51 版本
18
+ ## 0.1.0-alpha.53 版本
19
19
 
20
- 本预发布版面向 DSH `0.2.1-rc.2`,修复实时输出穿插到输入区、滚轮逐行追赶,减少历史渲染开销,并加入设置多级导航。同时修复失败流式文本残留、SSH 登录提示和 `/cd` 后的文件路径问题(#14–#16)。完整变更与验证边界见 [changelog](CHANGELOG.md#010-alpha51--2026-10-21)。
20
+ 本预发布版面向 DSH `0.2.1-rc.2`。`defaultInput` 等纯字符串数组改为原位编辑,设置详情按可见行数截断长值,未变化的已完成聊天行复用投影。验证边界见 [changelog](CHANGELOG.md#010-alpha53--2026-10-22)。
21
21
 
22
22
  ```sh
23
23
  npm install --global @crazyhappyone/dsh-tui@next
@@ -31,11 +31,11 @@ dsh-tui
31
31
 
32
32
  正在运行的源码链接安装可通过 `/reload` 加载新构建,但会保留进程原先选中的 profile。若从 `tui` 切换到 `deepseek-tui`,需退出后重新启动,或显式指定 profile。恢复的 Goal 需执行 `/goal resume` 才会自动续跑。
33
33
 
34
- `/settings` 现在支持多级浏览。Enter 进入分类、namespace、Provider、model 或字段;←/Esc 返回上一层;`/` 搜索;`i` 编辑对象 JSON;Space 切换支持的值。保存后停留当前位置,继续使用 DSH 官方 settings/credentials 服务。本次 PTY 对照中,9 行滚动到达目标从 168.07 ms 降至 17.93 ms;2,812 个有正文快照的比较帧未发现正文不一致或越界。这是合成数据的 PTY 实测,不是硬件延迟保证。数据与边界见[修复验证](docs/performance-audit-2026-10-21/fix-verification.md)。
34
+ 在 `/settings` 中,Tab / Shift+Tab 切换分类并恢复各分类的位置;Enter 进入 namespace、Provider 或 model,编辑字段或切换支持的布尔/枚举值。←/Esc 返回上层,在分类根部关闭面板;`/` 搜索;`i` 编辑可修改对象的 JSON;Space 也可切换支持的值。搜索中可用方向键和翻页键移动结果,Enter 确认时保留选择,Esc 清除搜索。保存后停留原位,继续使用 DSH 官方 settings/credentials 服务。分类栏通过键盘操作。40/80/120 列 PTY 检查与边界见[验证记录及截图](docs/settings-usability-2026-10-21/verification.md)。
35
35
 
36
36
  ## 目录
37
37
 
38
- - [版本与升级](#010-alpha51-版本)
38
+ - [版本与升级](#010-alpha53-版本)
39
39
  - [Changelog](CHANGELOG.md)
40
40
  - [终端能力](#终端能力)
41
41
  - [截图](#screenshots)
@@ -54,7 +54,7 @@ dsh-tui
54
54
  <a id="screenshots"></a>
55
55
  ## 截图
56
56
 
57
- 交互式设置面板(`/settings`):
57
+ 设置分类栏与 Provider 多级导航(`/settings`,80 列 OS PTY,合成目录数据):
58
58
 
59
59
  ![dsh-tui 设置面板](assets/screenshots/dsh-tui-settings.png)
60
60