@aiwayds/dsh-tui-pi 2.19.0 → 2.20.0

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.
Files changed (105) hide show
  1. package/README.md +12 -48
  2. package/README.zh-CN.md +11 -47
  3. package/lib/agents.js +67 -52
  4. package/lib/agents.js.map +1 -1
  5. package/lib/ask-user.js +30 -30
  6. package/lib/ask-user.js.map +1 -1
  7. package/lib/attachments.js +8 -3
  8. package/lib/attachments.js.map +1 -1
  9. package/lib/btw.d.ts +4 -2
  10. package/lib/btw.js +22 -16
  11. package/lib/btw.js.map +1 -1
  12. package/lib/custom-provider.js +34 -28
  13. package/lib/custom-provider.js.map +1 -1
  14. package/lib/footer.d.ts +9 -8
  15. package/lib/footer.js +36 -18
  16. package/lib/footer.js.map +1 -1
  17. package/lib/hard-exit.d.ts +36 -0
  18. package/lib/hard-exit.js +64 -0
  19. package/lib/hard-exit.js.map +1 -0
  20. package/lib/history-fork.d.ts +2 -2
  21. package/lib/history-fork.js +12 -9
  22. package/lib/history-fork.js.map +1 -1
  23. package/lib/history-turns.d.ts +4 -2
  24. package/lib/history-turns.js +7 -3
  25. package/lib/history-turns.js.map +1 -1
  26. package/lib/history.js +57 -45
  27. package/lib/history.js.map +1 -1
  28. package/lib/hotkeys.js +44 -33
  29. package/lib/hotkeys.js.map +1 -1
  30. package/lib/i18n/index.d.ts +54 -0
  31. package/lib/i18n/index.js +98 -0
  32. package/lib/i18n/index.js.map +1 -0
  33. package/lib/i18n/registry.d.ts +65 -0
  34. package/lib/i18n/registry.js +129 -0
  35. package/lib/i18n/registry.js.map +1 -0
  36. package/lib/index.js +216 -108
  37. package/lib/index.js.map +1 -1
  38. package/lib/language-ask.d.ts +98 -0
  39. package/lib/language-ask.js +118 -0
  40. package/lib/language-ask.js.map +1 -0
  41. package/lib/live-widgets.js +9 -8
  42. package/lib/live-widgets.js.map +1 -1
  43. package/lib/login.js +5 -4
  44. package/lib/login.js.map +1 -1
  45. package/lib/messages.d.ts +0 -4
  46. package/lib/messages.js +14 -15
  47. package/lib/messages.js.map +1 -1
  48. package/lib/model-profiles.js +32 -20
  49. package/lib/model-profiles.js.map +1 -1
  50. package/lib/panels.js +18 -17
  51. package/lib/panels.js.map +1 -1
  52. package/lib/preflight-projcache.js +9 -3
  53. package/lib/preflight-projcache.js.map +1 -1
  54. package/lib/preset-dialog.d.ts +3 -3
  55. package/lib/preset-dialog.js +20 -17
  56. package/lib/preset-dialog.js.map +1 -1
  57. package/lib/provider-catalog.d.ts +23 -7
  58. package/lib/provider-catalog.js +90 -68
  59. package/lib/provider-catalog.js.map +1 -1
  60. package/lib/queue-panel.d.ts +2 -2
  61. package/lib/queue-panel.js +13 -9
  62. package/lib/queue-panel.js.map +1 -1
  63. package/lib/repair-dialog.d.ts +4 -4
  64. package/lib/repair-dialog.js +23 -16
  65. package/lib/repair-dialog.js.map +1 -1
  66. package/lib/route-dialog.d.ts +3 -3
  67. package/lib/route-dialog.js +20 -14
  68. package/lib/route-dialog.js.map +1 -1
  69. package/lib/selectors.d.ts +15 -1
  70. package/lib/selectors.js +57 -23
  71. package/lib/selectors.js.map +1 -1
  72. package/lib/sessions.d.ts +47 -14
  73. package/lib/sessions.js +162 -53
  74. package/lib/sessions.js.map +1 -1
  75. package/lib/settings.d.ts +68 -9
  76. package/lib/settings.js +327 -78
  77. package/lib/settings.js.map +1 -1
  78. package/lib/skills-manager.js +27 -21
  79. package/lib/skills-manager.js.map +1 -1
  80. package/lib/skills.js +5 -4
  81. package/lib/skills.js.map +1 -1
  82. package/lib/startup-info.js +9 -3
  83. package/lib/startup-info.js.map +1 -1
  84. package/lib/steer-flow.d.ts +14 -4
  85. package/lib/steer-flow.js +24 -9
  86. package/lib/steer-flow.js.map +1 -1
  87. package/lib/stop-dialog.d.ts +2 -2
  88. package/lib/stop-dialog.js +16 -12
  89. package/lib/stop-dialog.js.map +1 -1
  90. package/lib/subagent-viewer.d.ts +3 -6
  91. package/lib/subagent-viewer.js +38 -36
  92. package/lib/subagent-viewer.js.map +1 -1
  93. package/lib/theme-preview.js +12 -11
  94. package/lib/theme-preview.js.map +1 -1
  95. package/lib/theme-settings.d.ts +23 -2
  96. package/lib/theme-settings.js +68 -61
  97. package/lib/theme-settings.js.map +1 -1
  98. package/lib/tui.js +2 -1
  99. package/lib/tui.js.map +1 -1
  100. package/locales/en.json +646 -0
  101. package/locales/ja.json +646 -0
  102. package/locales/ko.json +646 -0
  103. package/locales/zh-CN.json +646 -0
  104. package/package.json +2 -1
  105. package/skills/dsh-tui-pi-config/SKILL.md +9 -2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aiwayds/dsh-tui-pi",
3
- "version": "2.19.0",
3
+ "version": "2.20.0",
4
4
  "description": "A fully-featured pi-style terminal UI for DeepSeek Harness (dsh) — history look-back & fork-at-turn, guided preset switching, live subagent steering, model profiles & themes",
5
5
  "repository": {
6
6
  "type": "git",
@@ -46,6 +46,7 @@
46
46
  "templates",
47
47
  "assets",
48
48
  "themes",
49
+ "locales",
49
50
  "skills",
50
51
  "README.md",
51
52
  "LICENSE"
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: dsh-tui-pi-config
3
- description: "dsh TUI 增强套件(@aiwayds/dsh-tui-pi)使用与配置指南。凡涉及 TUI 主题/面板/footer、子代理并发与轮数限制、模型收藏与隐藏、会话保留清理与 /resume 过滤、ask_user_question 超时、preset 记忆,或要配置 dsh-tui 段时先读本指南:settings.yaml 顶层 `dsh-tui:` 段 17 键(theme/panelHeight/maxAgents/maxRounds/maxRoundsGrace/disableSubagent/registeredOnly/footerHints/cacheHitMode/iconSet/rememberPreset/favoriteModels/hiddenModels/retention/resume/askUser)、DSH_TUI_* 环境变量、快速上手向导、keybindings.json 与 /hotkeys。触发词:tui、主题、theme、面板、footer、收藏模型、隐藏模型、保留策略、panelHeight、resume、preset。"
3
+ description: "dsh TUI 增强套件使用与配置指南。凡涉及 TUI 主题/面板/footer、界面语言、子代理并发与轮数限制、模型收藏与隐藏、会话保留与 /resume 过滤、ask_user 超时、preset 记忆,或要配置 dsh-tui 段时先读本指南:settings.yaml 顶层 `dsh-tui:` 段 18 键(language/theme/panelHeight/maxAgents/maxRounds/maxRoundsGrace/disableSubagent/registeredOnly/footerHints/cacheHitMode/iconSet/rememberPreset/favoriteModels/hiddenModels/retention/resume/askUser)、DSH_TUI_* 环境变量、快速上手向导、keybindings.json 与 /hotkeys。触发词:tui、主题、theme、面板、footer、语言、language、收藏模型、隐藏模型、保留策略、panelHeight、resume、preset。"
4
4
  ---
5
5
 
6
6
  # dsh-tui-pi 使用指南(TUI 主题 / 子代理治理 / 会话管理)
@@ -12,10 +12,11 @@ description: "dsh TUI 增强套件(@aiwayds/dsh-tui-pi)使用与配置指南
12
12
  ## 配置入口(settings.yaml 顶层 `dsh-tui:` 段)
13
13
 
14
14
  在 `~/.dsh/settings.yaml` 写顶层 `dsh-tui:` 段(注意段名是 `dsh-tui`,不是 `dsh-tui-pi`)。
15
- 主题 / 面板高度 / footer 提示 / 图标集为 `applies: 'live'`——保存提交即热生效,无需重启。
15
+ 语言 / 主题 / 面板高度 / footer 提示 / 图标集为 `applies: 'live'`——保存提交即热生效,无需重启。
16
16
 
17
17
  | 键 | 类型 | 默认 | 作用 |
18
18
  |----|------|------|------|
19
+ | `language` | 任意字符串 | `en` | 界面语言:内置 `locales/` 或 `~/.dsh/locales/` 下语言文件的 id(内置 `en`、`zh-CN`、`ja`、`ko`);`/language` 经原生 ask-user 面板弹出选择(TUI 或飞书端都能答,先答先得),`/settings` 的 language 行是就地选择器,未知 id 回退 `en` |
19
20
  | `theme` | 任意字符串 | `auto` | 配色方案;`auto` 跟随终端明暗,也可填任意已注册主题名(内置 20 个 + `~/.dsh/themes/` 用户主题;`/theme` 写回同一段) |
20
21
  | `panelHeight` | `'1'\|'5'\|'7'\|'10'\|'all'` | `'1'` | think/tool 固定面板高度;`all` = 完整内容(推理 200 行尾随、工具结果 2000 行封顶) |
21
22
  | `maxAgents` | 非负整数 | `4` | 并发子代理上限,`0` = 不限 |
@@ -67,6 +68,12 @@ retention/resume/askUser 组的优先级:**settings.yaml 显式值 > env > 默
67
68
  用户要细调时再指向上面的全表:footerHints 分段、cacheHitMode、iconSet、
68
69
  favoriteModels/hiddenModels、retention/resume/askUser。
69
70
 
71
+ ### 界面语言(/language)
72
+
73
+ 每种语言一个扁平 JSON:`locales/<id>.json`(内置 `en` 规范模板 + `zh-CN` 中文)。`/language` 通过原生 ask-user 面板提问(与模型提问同一套面板:当前语言排第一并标注,面板超时自动选第一项 = 保持原语言;TUI 与飞书等任一面都可作答,先答先得),`/settings` 浏览器的 `dsh-tui.language` 行是就地选择器;`/language <id>` 仍可直接切换。切换写回 `dsh-tui.language` 并即时生效(下一帧刷新;对话 backlog 重建前保持原语言;/settings 描述文案重启生效)。
74
+ 新增语言或局部覆盖:把 `<id>.json` 放进 `~/.dsh/locales/`——同名 id 按键合并到内置文件之上(user 覆盖 wins),新 id 直接注册;
75
+ 文件契约:必有非空 `name`(该语言的显示名),其余每键一个非空字符串,`{param}` 占位符须与 en 同名键一致(测试守卫)。韩(`ko`)/日(`ja`)已内置。
76
+
70
77
  ### 自定义主题目录
71
78
 
72
79
  除了内置的 20 个主题(`themes/`),用户可在 `~/.dsh/themes/`(`$DSH_HOME` 被设置时用