openhorse 0.2.8 → 0.2.10

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 (184) hide show
  1. package/README.md +2 -2
  2. package/README.zh-CN.md +10 -1
  3. package/dist/cli.d.ts +1 -1
  4. package/dist/cli.js +9 -16
  5. package/dist/cli.js.map +1 -1
  6. package/dist/commands/index.d.ts.map +1 -1
  7. package/dist/commands/index.js +70 -26
  8. package/dist/commands/index.js.map +1 -1
  9. package/dist/commands/types.d.ts +7 -28
  10. package/dist/commands/types.d.ts.map +1 -1
  11. package/dist/commands/types.js.map +1 -1
  12. package/dist/framework/prompt.d.ts.map +1 -1
  13. package/dist/framework/prompt.js +15 -2
  14. package/dist/framework/prompt.js.map +1 -1
  15. package/dist/framework/query.d.ts +2 -0
  16. package/dist/framework/query.d.ts.map +1 -1
  17. package/dist/framework/query.js +82 -4
  18. package/dist/framework/query.js.map +1 -1
  19. package/dist/framework/tool-scheduler.d.ts +3 -0
  20. package/dist/framework/tool-scheduler.d.ts.map +1 -1
  21. package/dist/framework/tool-scheduler.js +9 -0
  22. package/dist/framework/tool-scheduler.js.map +1 -1
  23. package/dist/ink-ui/App.d.ts +2 -2
  24. package/dist/ink-ui/App.d.ts.map +1 -1
  25. package/dist/ink-ui/components/PixelHorseBanner.d.ts +2 -2
  26. package/dist/ink-ui/components/PixelHorseBanner.d.ts.map +1 -1
  27. package/dist/ink-ui/components/RunningHorseIndicator.d.ts.map +1 -1
  28. package/dist/ink-ui/components/RunningHorseIndicator.js +2 -1
  29. package/dist/ink-ui/components/RunningHorseIndicator.js.map +1 -1
  30. package/dist/ink-ui/components/StatusLine.d.ts +2 -2
  31. package/dist/ink-ui/components/StatusLine.d.ts.map +1 -1
  32. package/dist/ink-ui/launch.d.ts +2 -2
  33. package/dist/ink-ui/launch.d.ts.map +1 -1
  34. package/dist/ink-ui/launch.js.map +1 -1
  35. package/dist/ink-ui/screens/ReplScreen.d.ts +2 -2
  36. package/dist/ink-ui/screens/ReplScreen.d.ts.map +1 -1
  37. package/dist/ink-ui/screens/ReplScreen.js +4 -2
  38. package/dist/ink-ui/screens/ReplScreen.js.map +1 -1
  39. package/dist/print-ui/launch.d.ts +44 -2
  40. package/dist/print-ui/launch.d.ts.map +1 -1
  41. package/dist/print-ui/launch.js +12 -0
  42. package/dist/print-ui/launch.js.map +1 -1
  43. package/dist/runtime/agent-runtime-controller.d.ts +4 -1
  44. package/dist/runtime/agent-runtime-controller.d.ts.map +1 -1
  45. package/dist/runtime/agent-runtime-controller.js +34 -2
  46. package/dist/runtime/agent-runtime-controller.js.map +1 -1
  47. package/dist/runtime/agent-runtime-protocol.d.ts +7 -1
  48. package/dist/runtime/agent-runtime-protocol.d.ts.map +1 -1
  49. package/dist/runtime/agent-runtime-protocol.js +12 -0
  50. package/dist/runtime/agent-runtime-protocol.js.map +1 -1
  51. package/dist/runtime/agent-status.d.ts +4 -0
  52. package/dist/runtime/agent-status.d.ts.map +1 -0
  53. package/dist/runtime/agent-status.js +15 -0
  54. package/dist/runtime/agent-status.js.map +1 -0
  55. package/dist/runtime/chat-controller.d.ts +4 -1
  56. package/dist/runtime/chat-controller.d.ts.map +1 -1
  57. package/dist/runtime/chat-controller.js +35 -3
  58. package/dist/runtime/chat-controller.js.map +1 -1
  59. package/dist/runtime/ui-events.d.ts +29 -2
  60. package/dist/runtime/ui-events.d.ts.map +1 -1
  61. package/dist/runtime/ui-events.js +34 -0
  62. package/dist/runtime/ui-events.js.map +1 -1
  63. package/dist/services/compact/auto-compact.d.ts +19 -0
  64. package/dist/services/compact/auto-compact.d.ts.map +1 -1
  65. package/dist/services/compact/auto-compact.js +55 -7
  66. package/dist/services/compact/auto-compact.js.map +1 -1
  67. package/dist/services/config-dir.d.ts +2 -0
  68. package/dist/services/config-dir.d.ts.map +1 -1
  69. package/dist/services/config-dir.js +5 -0
  70. package/dist/services/config-dir.js.map +1 -1
  71. package/dist/services/config.d.ts +9 -2
  72. package/dist/services/config.d.ts.map +1 -1
  73. package/dist/services/config.js +45 -11
  74. package/dist/services/config.js.map +1 -1
  75. package/dist/services/doctor.d.ts.map +1 -1
  76. package/dist/services/doctor.js +36 -4
  77. package/dist/services/doctor.js.map +1 -1
  78. package/dist/services/format.d.ts +2 -0
  79. package/dist/services/format.d.ts.map +1 -0
  80. package/dist/services/format.js +20 -0
  81. package/dist/services/format.js.map +1 -0
  82. package/dist/services/global-config.d.ts +10 -9
  83. package/dist/services/global-config.d.ts.map +1 -1
  84. package/dist/services/global-config.js +5 -20
  85. package/dist/services/global-config.js.map +1 -1
  86. package/dist/services/llm.d.ts +2 -0
  87. package/dist/services/llm.d.ts.map +1 -1
  88. package/dist/services/llm.js +57 -20
  89. package/dist/services/llm.js.map +1 -1
  90. package/dist/services/model-context.d.ts +10 -1
  91. package/dist/services/model-context.d.ts.map +1 -1
  92. package/dist/services/model-context.js +53 -14
  93. package/dist/services/model-context.js.map +1 -1
  94. package/dist/services/storage-maintenance.d.ts.map +1 -1
  95. package/dist/services/storage-maintenance.js +3 -9
  96. package/dist/services/storage-maintenance.js.map +1 -1
  97. package/dist/services/usage-state.d.ts +20 -0
  98. package/dist/services/usage-state.d.ts.map +1 -0
  99. package/dist/services/usage-state.js +128 -0
  100. package/dist/services/usage-state.js.map +1 -0
  101. package/dist/terminal-ui/launch.d.ts +44 -2
  102. package/dist/terminal-ui/launch.d.ts.map +1 -1
  103. package/dist/terminal-ui/launch.js +102 -36
  104. package/dist/terminal-ui/launch.js.map +1 -1
  105. package/dist/terminal-ui/raw-editor.d.ts +2 -0
  106. package/dist/terminal-ui/raw-editor.d.ts.map +1 -1
  107. package/dist/terminal-ui/raw-editor.js +30 -1
  108. package/dist/terminal-ui/raw-editor.js.map +1 -1
  109. package/dist/tools/index.d.ts.map +1 -1
  110. package/dist/tools/index.js +259 -43
  111. package/dist/tools/index.js.map +1 -1
  112. package/dist/tui-core/input-parser.d.ts +4 -0
  113. package/dist/tui-core/input-parser.d.ts.map +1 -1
  114. package/dist/tui-core/input-parser.js +30 -0
  115. package/dist/tui-core/input-parser.js.map +1 -1
  116. package/dist/tui-ui/launch.d.ts +2 -2
  117. package/dist/tui-ui/launch.d.ts.map +1 -1
  118. package/dist/tui-ui/launch.js +2 -0
  119. package/dist/tui-ui/launch.js.map +1 -1
  120. package/dist/tui-ui/layout.d.ts.map +1 -1
  121. package/dist/tui-ui/layout.js +2 -13
  122. package/dist/tui-ui/layout.js.map +1 -1
  123. package/dist/tui-ui/runner.d.ts.map +1 -1
  124. package/dist/tui-ui/runner.js +6 -0
  125. package/dist/tui-ui/runner.js.map +1 -1
  126. package/dist/tui-ui/state.d.ts +13 -1
  127. package/dist/tui-ui/state.d.ts.map +1 -1
  128. package/dist/tui-ui/state.js +13 -0
  129. package/dist/tui-ui/state.js.map +1 -1
  130. package/dist/ui/command-panel.d.ts +1 -1
  131. package/dist/ui/command-panel.d.ts.map +1 -1
  132. package/dist/ui/command-panel.js +37 -34
  133. package/dist/ui/command-panel.js.map +1 -1
  134. package/dist/ui/file-completion.d.ts +1 -1
  135. package/dist/ui/file-completion.d.ts.map +1 -1
  136. package/dist/ui/file-completion.js +4 -4
  137. package/dist/ui/file-completion.js.map +1 -1
  138. package/dist/ui/shared/command-palette.d.ts +3 -0
  139. package/dist/ui/shared/command-palette.d.ts.map +1 -0
  140. package/dist/ui/shared/command-palette.js +54 -0
  141. package/dist/ui/shared/command-palette.js.map +1 -0
  142. package/dist/ui/shared/command-suggestions.d.ts +19 -0
  143. package/dist/ui/shared/command-suggestions.d.ts.map +1 -0
  144. package/dist/ui/shared/command-suggestions.js +67 -0
  145. package/dist/ui/shared/command-suggestions.js.map +1 -0
  146. package/dist/ui/shared/input-frame.d.ts +19 -0
  147. package/dist/ui/shared/input-frame.d.ts.map +1 -0
  148. package/dist/ui/shared/input-frame.js +74 -0
  149. package/dist/ui/shared/input-frame.js.map +1 -0
  150. package/dist/ui/shared/text.d.ts +5 -0
  151. package/dist/ui/shared/text.d.ts.map +1 -0
  152. package/dist/ui/shared/text.js +55 -0
  153. package/dist/ui/shared/text.js.map +1 -0
  154. package/dist/ui/shared/types.d.ts +27 -0
  155. package/dist/ui/shared/types.d.ts.map +1 -0
  156. package/dist/ui/shared/types.js +3 -0
  157. package/dist/ui/shared/types.js.map +1 -0
  158. package/dist/ui/user-input.js +2 -2
  159. package/dist/ui/user-input.js.map +1 -1
  160. package/dist/ui-v2/components/command-palette.d.ts +1 -5
  161. package/dist/ui-v2/components/command-palette.d.ts.map +1 -1
  162. package/dist/ui-v2/components/command-palette.js +15 -54
  163. package/dist/ui-v2/components/command-palette.js.map +1 -1
  164. package/dist/ui-v2/components/shell.d.ts +1 -14
  165. package/dist/ui-v2/components/shell.d.ts.map +1 -1
  166. package/dist/ui-v2/components/shell.js +4 -55
  167. package/dist/ui-v2/components/shell.js.map +1 -1
  168. package/dist/ui-v2/runtime/text.d.ts +1 -7
  169. package/dist/ui-v2/runtime/text.d.ts.map +1 -1
  170. package/dist/ui-v2/runtime/text.js +15 -55
  171. package/dist/ui-v2/runtime/text.js.map +1 -1
  172. package/dist/ui-v2/state/sessions.d.ts +1 -1
  173. package/dist/ui-v2/state/sessions.d.ts.map +1 -1
  174. package/dist/ui-v2/state/sessions.js +5 -18
  175. package/dist/ui-v2/state/sessions.js.map +1 -1
  176. package/dist/ui-v2/state/suggestions.d.ts +1 -21
  177. package/dist/ui-v2/state/suggestions.d.ts.map +1 -1
  178. package/dist/ui-v2/state/suggestions.js +15 -67
  179. package/dist/ui-v2/state/suggestions.js.map +1 -1
  180. package/dist/ui-v2/types.d.ts +1 -32
  181. package/dist/ui-v2/types.d.ts.map +1 -1
  182. package/dist/ui-v2/types.js +15 -6
  183. package/dist/ui-v2/types.js.map +1 -1
  184. package/package.json +4 -1
package/README.md CHANGED
@@ -66,7 +66,7 @@ openhorse diff
66
66
  # Generate a read-only commit plan and suggested message
67
67
  openhorse commit
68
68
 
69
- # Run one non-interactive task for scripts/CI
69
+ # Try the early experimental non-interactive path
70
70
  openhorse -p "review the current git diff"
71
71
  echo "summarize this project" | openhorse --print
72
72
  ```
@@ -84,7 +84,7 @@ echo "summarize this project" | openhorse --print
84
84
  | **Safety Boundaries** | Bash safety checks, audit logging, permission modes |
85
85
  | **Streaming Output** | Real-time LLM responses with Markdown rendering |
86
86
  | **Skills System** | Builtin, user, and project-level skill extensions |
87
- | **Print Mode** | `-p/--print` one-shot tasks with text or JSON output |
87
+ | **Print Mode** | Experimental `-p/--print` one-shot path for future automation/remote UI work |
88
88
  | **Doctor Diagnostics** | `openhorse doctor` / `/doctor` checks config, tools, MCP, skills, sessions, and harness |
89
89
  | **Workspace Diff** | `openhorse diff` / `/diff` summarizes staged, unstaged, and untracked changes |
90
90
  | **Commit Planning** | `openhorse commit` / `/commit` suggests a commit message without creating a commit |
package/README.zh-CN.md CHANGED
@@ -44,6 +44,8 @@
44
44
  | **会话管理** | 会话持久化、历史恢复、摘要生成 |
45
45
  | **安全边界** | Bash 安全检查、审计日志、权限模式 |
46
46
  | **流式输出** | 实时 LLM 响应,Markdown 渲染 |
47
+ | **Terminal UI** | 默认稳定 scrollback 终端 UI;Ink/TUI 仅作为显式 beta 实验 |
48
+ | **Print Mode** | 实验性 `-p/--print` 一次性入口,用于后续自动化/remote UI 验证 |
47
49
  | **状态栏** | 实时显示 Token 用量、成本、模型、上下文百分比 |
48
50
  | **精简配置** | 仅 4 个用户字段,其余由 Agent 内部管理 |
49
51
 
@@ -79,8 +81,15 @@ cp .env.example .env
79
81
  # 方式 3: ~/.openhorse/openhorse.json(推荐)
80
82
  # 首次运行时自动创建
81
83
 
82
- # 启动交互式 CLI
84
+ # 启动默认稳定 terminal UI
83
85
  npm start
86
+
87
+ # 显式尝试 beta renderer
88
+ npm start -- --ui tui
89
+ npm start -- --ui ink
90
+
91
+ # 尝试早期实验性的非交互入口
92
+ npm start -- --print "review the current git diff"
84
93
  ```
85
94
 
86
95
  ### 全局安装
package/dist/cli.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * openhorse - Ink/React CLI entry
2
+ * openhorse - CLI entry
3
3
  */
4
4
  import 'dotenv/config';
5
5
  //# sourceMappingURL=cli.d.ts.map
package/dist/cli.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  /**
3
- * openhorse - Ink/React CLI entry
3
+ * openhorse - CLI entry
4
4
  */
5
5
  var __importDefault = (this && this.__importDefault) || function (mod) {
6
6
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -55,7 +55,7 @@ function showCliHelp() {
55
55
  console.log(' openhorse doctor Run local diagnostics and exit');
56
56
  console.log(' openhorse diff Summarize current git workspace changes');
57
57
  console.log(' openhorse commit Create a read-only commit plan and suggested message');
58
- console.log(' openhorse -p "task" Run one non-interactive task and print the result');
58
+ console.log(' openhorse -p "task" Run an experimental non-interactive task');
59
59
  console.log(' openhorse --help Show this help message');
60
60
  console.log(' openhorse --version Show version');
61
61
  console.log(' openhorse --ui terminal Start the stable native terminal UI explicitly');
@@ -65,11 +65,11 @@ function showCliHelp() {
65
65
  console.log(ACCENT('Options:'));
66
66
  console.log(' -h, --help Show help');
67
67
  console.log(' -v, --version Show version');
68
- console.log(' -p, --print Non-interactive print mode');
69
- console.log(' --ui <mode> UI renderer: terminal, tui, ink');
68
+ console.log(' -p, --print Experimental non-interactive print mode');
69
+ console.log(` --ui <mode> UI renderer: ${config_1.SUPPORTED_UI_RENDERERS.join(', ')}`);
70
70
  console.log(' --output-format <text|json> Print-mode output format');
71
71
  console.log();
72
- console.log(DIM('terminal is the default. tui and ink remain experimental renderers.'));
72
+ console.log(DIM('terminal is the stable default. tui and ink are beta; print is experimental.'));
73
73
  console.log();
74
74
  }
75
75
  function parseCliOptions(args) {
@@ -95,16 +95,9 @@ function parseCliOptions(args) {
95
95
  if (uiValue !== undefined) {
96
96
  if (arg === '--ui')
97
97
  i++;
98
- if (uiValue === 'terminal' || uiValue === 'stable') {
99
- uiRenderer = 'terminal';
100
- continue;
101
- }
102
- if (uiValue === 'tui') {
103
- uiRenderer = 'tui';
104
- continue;
105
- }
106
- if (uiValue === 'ink') {
107
- uiRenderer = 'ink';
98
+ const resolvedRenderer = (0, config_1.resolveUIRenderer)(uiValue);
99
+ if (resolvedRenderer) {
100
+ uiRenderer = resolvedRenderer;
108
101
  continue;
109
102
  }
110
103
  if (uiValue === 'legacy' || uiValue === 'v2') {
@@ -113,7 +106,7 @@ function parseCliOptions(args) {
113
106
  continue;
114
107
  }
115
108
  console.error(ERROR(`Invalid --ui value: ${uiValue}`));
116
- console.error(DIM('Expected: terminal, tui, ink'));
109
+ console.error(DIM(`Expected: ${config_1.SUPPORTED_UI_RENDERERS.join(', ')}`));
117
110
  process.exit(1);
118
111
  }
119
112
  const outputFormatValue = arg === '--output-format'
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,aAAa,EAEnB,MAAM,SAAS,CAAC;AA2FjB,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,eAAe,GAAG,SAAS,GAAG,MAAM,CAErF;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,CAQrE;AA2qBD,iBAAe,UAAU,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAuTpF;AAuoCD,wBAAgB,WAAW,IAAI,YAAY,EAAE,CAE5C;AAED,wBAAgB,kBAAkB,IAAI,YAAY,EAAE,CAEnD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAElE;AAED,wBAAgB,eAAe,IAAI,MAAM,EAAE,CAE1C;AAED,OAAO,EAAE,UAAU,IAAI,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,aAAa,EAEnB,MAAM,SAAS,CAAC;AA2GjB,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,eAAe,GAAG,SAAS,GAAG,MAAM,CAErF;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,CAQrE;AA6sBD,iBAAe,UAAU,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CA2TpF;AA8nCD,wBAAgB,WAAW,IAAI,YAAY,EAAE,CAE5C;AAED,wBAAgB,kBAAkB,IAAI,YAAY,EAAE,CAEnD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAElE;AAED,wBAAgB,eAAe,IAAI,MAAM,EAAE,CAE1C;AAED,OAAO,EAAE,UAAU,IAAI,WAAW,EAAE,CAAC"}
@@ -17,14 +17,14 @@ exports.getCommandNames = getCommandNames;
17
17
  exports.executeChat = handleChat;
18
18
  const chalk_1 = __importDefault(require("chalk"));
19
19
  const types_1 = require("./types");
20
+ const ui_events_1 = require("../runtime/ui-events");
20
21
  const task_manager_1 = require("../services/task-manager");
21
22
  const agent_runner_1 = require("../services/agent-runner");
22
23
  const config_1 = require("../services/config");
23
24
  const box_1 = require("../ui/box");
24
25
  const stream_markdown_1 = require("../ui/stream-markdown");
25
26
  const progress_1 = require("../ui/progress");
26
- const ui_v2_1 = require("../ui-v2");
27
- const sessions_1 = require("../ui-v2/state/sessions");
27
+ const format_1 = require("../services/format");
28
28
  const framework_1 = require("../framework");
29
29
  const tools_1 = require("../tools");
30
30
  const mcp_1 = require("../tools/mcp");
@@ -37,9 +37,11 @@ const file_context_1 = require("../services/file-context");
37
37
  const project_instructions_1 = require("../services/project-instructions");
38
38
  const prompt_context_1 = require("../services/prompt-context");
39
39
  const doctor_1 = require("../services/doctor");
40
+ const model_context_1 = require("../services/model-context");
40
41
  const workspace_diff_1 = require("../services/workspace-diff");
41
42
  const commit_plan_1 = require("../services/commit-plan");
42
43
  const storage_maintenance_1 = require("../services/storage-maintenance");
44
+ const agent_status_1 = require("../runtime/agent-status");
43
45
  // ============================================================================
44
46
  // 颜色常量
45
47
  // ============================================================================
@@ -60,6 +62,19 @@ const CATEGORY_ORDER = [
60
62
  'diagnostics',
61
63
  'legacy',
62
64
  ];
65
+ function commandUICapabilities(ctx) {
66
+ return (0, ui_events_1.resolveUiRendererCapabilities)(ctx.uiCapabilities);
67
+ }
68
+ function formatTokenCount(tokens) {
69
+ if (tokens >= 1000000)
70
+ return `${(tokens / 1000000).toFixed(1)}M`;
71
+ if (tokens >= 1000)
72
+ return `${Math.round(tokens / 1000)}K`;
73
+ return String(tokens);
74
+ }
75
+ function formatThreshold(value) {
76
+ return `${Math.round(value * 100)}%`;
77
+ }
63
78
  const CATEGORY_LABELS = {
64
79
  workflow: 'Workflow',
65
80
  session: 'Session',
@@ -150,6 +165,12 @@ function showStatus(ctx) {
150
165
  const storeStats = ctx.runtime.store.getStats();
151
166
  console.log(` Mode ${BRAND(ctx.config.mode)}`);
152
167
  console.log(` Log level ${DIM(ctx.config.logLevel)}`);
168
+ const modelId = ctx.llm?.getModel() ?? snapshotCurrentModel(ctx);
169
+ const modelContext = (0, model_context_1.resolveModelContext)(modelId);
170
+ const compactStats = (0, auto_compact_1.getAutoCompact)({ modelId }).getStats();
171
+ console.log(` Model ${BRAND(modelId)}`);
172
+ console.log(` Context ${DIM(`${formatTokenCount(modelContext.contextWindow)} tokens (${modelContext.source}${modelContext.source === 'fuzzy' ? `:${modelContext.matchedId}` : ''})`)}`);
173
+ console.log(` Compact ${compactStats.enabled ? SUCCESS('auto') : WARN('off')} ${DIM(`predict ${formatThreshold(compactStats.predictiveCompactThreshold)}, hard ${formatThreshold(compactStats.threshold)}, used ${compactStats.ctxPercent}%`)}`);
153
174
  console.log();
154
175
  console.log(` Agents ${SUCCESS(brainStatus.agents.length)} registered`);
155
176
  console.log(` Tasks ${brainStatus.pendingTasks} pending (${brainStatus.strategy} strategy)`);
@@ -196,6 +217,9 @@ function showStatus(ctx) {
196
217
  console.log();
197
218
  return { success: true };
198
219
  }
220
+ function snapshotCurrentModel(ctx) {
221
+ return ctx.store.getSnapshot().currentModel || ctx.config.model;
222
+ }
199
223
  function showAgents(ctx) {
200
224
  console.log();
201
225
  console.log(HEADER('Registered Agents'));
@@ -395,6 +419,18 @@ function showHarness(ctx, args = '') {
395
419
  console.log(DIM(' No prompt assembly stats recorded yet. Run a chat turn first.'));
396
420
  }
397
421
  console.log();
422
+ console.log(HEADER(' Auto Compact'));
423
+ const compactStats = (0, auto_compact_1.getAutoCompact)({
424
+ modelId: state.promptAssemblyStats?.modelId ?? snapshotCurrentModel(ctx),
425
+ }).getStats();
426
+ const contextInfo = (0, model_context_1.resolveModelContext)(compactStats.modelId);
427
+ console.log(` Model ${ACCENT(compactStats.modelId)}`);
428
+ console.log(` Window ${DIM(`${formatTokenCount(contextInfo.contextWindow)} tokens (${contextInfo.source}${contextInfo.source === 'fuzzy' ? `:${contextInfo.matchedId}` : ''})`)}`);
429
+ console.log(` Thresholds ${DIM(`predict ${formatThreshold(compactStats.predictiveCompactThreshold)}, hard ${formatThreshold(compactStats.threshold)}, prewarm ${formatThreshold(compactStats.preCompactThreshold)}`)}`);
430
+ console.log(` Usage ${DIM(`${compactStats.lastTokenCount} tokens, ${compactStats.ctxPercent}%`)}`);
431
+ console.log(` Armed ${compactStats.preCompactArmed ? SUCCESS('yes') : DIM('no')}`);
432
+ console.log(` Last mode ${DIM(compactStats.lastCompactMode ?? 'none')}`);
433
+ console.log();
398
434
  return { success: true };
399
435
  }
400
436
  console.log();
@@ -492,6 +528,8 @@ function handleModel(ctx, args) {
492
528
  if (ctx.llm) {
493
529
  const currentModel = ctx.llm.getModel();
494
530
  const aliasEntry = AVAILABLE_MODELS.find(m => m.name === currentModel || m.alias === currentModel);
531
+ const contextInfo = (0, model_context_1.resolveModelContext)(currentModel);
532
+ const compactStats = (0, auto_compact_1.getAutoCompact)({ modelId: currentModel }).getStats();
495
533
  console.log(HEADER('Current Model'));
496
534
  console.log(DIM('─'.repeat(40)));
497
535
  console.log(` Model ${BRAND(currentModel)}`);
@@ -499,6 +537,12 @@ function handleModel(ctx, args) {
499
537
  console.log(` Alias ${ACCENT(aliasEntry.alias)}`);
500
538
  console.log(` Provider ${DIM(aliasEntry.provider)}`);
501
539
  }
540
+ console.log(` Context ${DIM(`${formatTokenCount(contextInfo.contextWindow)} tokens`)}`);
541
+ if (contextInfo.maxOutputTokens) {
542
+ console.log(` Output ${DIM(`${formatTokenCount(contextInfo.maxOutputTokens)} tokens`)}`);
543
+ }
544
+ console.log(` Source ${DIM(`${contextInfo.source}${contextInfo.source === 'fuzzy' ? `:${contextInfo.matchedId}` : ''}`)}`);
545
+ console.log(` Compact ${compactStats.enabled ? SUCCESS('auto') : WARN('off')} ${DIM(`predict ${formatThreshold(compactStats.predictiveCompactThreshold)}, hard ${formatThreshold(compactStats.threshold)}`)}`);
502
546
  }
503
547
  else {
504
548
  console.log(ERROR('LLM not initialized. Set OPENHORSE_API_KEY first.'));
@@ -515,7 +559,8 @@ function handleModel(ctx, args) {
515
559
  for (const m of AVAILABLE_MODELS) {
516
560
  const isCurrent = m.name === currentModel || m.alias === currentModel;
517
561
  const marker = isCurrent ? SUCCESS('●') : DIM('○');
518
- console.log(` ${marker} ${ACCENT(m.name)} ${DIM(`(${m.alias})`)} ${isCurrent ? BRAND('(current)') : ''}`);
562
+ const contextInfo = (0, model_context_1.resolveModelContext)(m.name);
563
+ console.log(` ${marker} ${ACCENT(m.name)} ${DIM(`(${m.alias})`)} ${DIM(`${formatTokenCount(contextInfo.contextWindow)} ctx`)} ${isCurrent ? BRAND('(current)') : ''}`);
519
564
  console.log(` ${DIM(m.provider)}`);
520
565
  }
521
566
  console.log();
@@ -547,8 +592,11 @@ function handleModel(ctx, args) {
547
592
  // 解析别名
548
593
  const resolvedModel = MODEL_ALIASES[trimmedArgs] || args.trim();
549
594
  ctx.llm.setModel(resolvedModel);
595
+ (0, auto_compact_1.getAutoCompact)({ modelId: resolvedModel });
550
596
  ctx.store.setState({ currentModel: resolvedModel });
551
597
  console.log(SUCCESS(`✔ Model changed to ${BRAND(resolvedModel)}`));
598
+ const contextInfo = (0, model_context_1.resolveModelContext)(resolvedModel);
599
+ console.log(DIM(` Context window ${formatTokenCount(contextInfo.contextWindow)} tokens (${contextInfo.source})`));
552
600
  console.log();
553
601
  return { success: true };
554
602
  }
@@ -709,6 +757,7 @@ async function handleRun(ctx, args) {
709
757
  return { success: true };
710
758
  }
711
759
  async function handleChat(ctx, input) {
760
+ const ui = commandUICapabilities(ctx);
712
761
  const writeOutput = ctx.writeOutput ?? ((text) => process.stdout.write(text));
713
762
  const writeLine = ctx.writeLine ?? ((text = '') => console.log(text));
714
763
  if (!input) {
@@ -769,7 +818,7 @@ async function handleChat(ctx, input) {
769
818
  };
770
819
  const systemPrompt = (0, framework_1.getSystemPrompt)(promptCtx);
771
820
  const spinner = (0, box_1.createSpinner)();
772
- const useSpinner = ctx.config.ui?.renderer !== 'v2';
821
+ const useSpinner = !ui.inlineProgress;
773
822
  if (useSpinner) {
774
823
  spinner.start('Thinking');
775
824
  }
@@ -859,7 +908,7 @@ async function handleChat(ctx, input) {
859
908
  // 停止 spinner,等待 LLM 响应
860
909
  spinner.stop();
861
910
  writeLine();
862
- writeLine(DIM(`Turn ${event.turn}...`));
911
+ writeLine(DIM((0, agent_status_1.agentStepStatus)(event.turn)));
863
912
  // 重置流式渲染器
864
913
  streamRenderer = (0, stream_markdown_1.createStreamRenderer)();
865
914
  // Issue #22: 重置工具调用计数器
@@ -867,6 +916,9 @@ async function handleChat(ctx, input) {
867
916
  lastProgressUpdate = 0;
868
917
  break;
869
918
  case 'assistant_tool_calls':
919
+ if (event.toolCalls.length > 1) {
920
+ writeLine(DIM((0, agent_status_1.runningToolsStatus)(event.toolCalls.length)));
921
+ }
870
922
  sessionMessagesToRecord.push({
871
923
  role: 'assistant',
872
924
  content: event.content || '',
@@ -961,11 +1013,11 @@ async function handleChat(ctx, input) {
961
1013
  }
962
1014
  if (responseStarted) {
963
1015
  writeLine();
964
- if (ctx.config.ui?.renderer === 'v2') {
1016
+ if (ui.extraAssistantSpacing) {
965
1017
  writeLine();
966
1018
  }
967
1019
  }
968
- if (ctx.config.ui?.renderer !== 'v2') {
1020
+ if (!ui.suppressLegacyTokenMeta) {
969
1021
  const stats = [
970
1022
  finalUsage ? `tokens: ${finalUsage.promptTokens}+${finalUsage.completionTokens}` : '',
971
1023
  finalModel ? finalModel : '',
@@ -980,7 +1032,7 @@ async function handleChat(ctx, input) {
980
1032
  writeLine();
981
1033
  if (isAbortError(error, ctx.abortSignal)) {
982
1034
  (0, progress_1.hideProgress)();
983
- if (ctx.config.ui?.renderer !== 'v2') {
1035
+ if (!ui.suppressAbortNotice) {
984
1036
  writeLine(DIM('Interrupted.'));
985
1037
  }
986
1038
  }
@@ -1375,7 +1427,7 @@ function printSessionRows(sessions, options = {}) {
1375
1427
  console.log(`${index}${status} ${BRAND(session.id.slice(0, 8))}${name} ${DIM(session.model)}`);
1376
1428
  console.log(` ${truncateText(sessionTitle(session), 96)}`);
1377
1429
  console.log(` ${DIM(`Started: ${startTime}`)} ${DIM(`Updated: ${updatedTime}`)} ${DIM(`Duration: ${duration}`)}`);
1378
- console.log(` ${DIM(`Messages: ${session.messageCount ?? 0}`)} ${DIM(`Size: ${(0, sessions_1.formatBytes)(session.historySizeBytes ?? 0)}`)} ${DIM(`Tokens: ${session.tokenCount}`)} ${DIM(`Cost: $${session.cost.toFixed(4)}`)}`);
1430
+ console.log(` ${DIM(`Messages: ${session.messageCount ?? 0}`)} ${DIM(`Size: ${(0, format_1.formatBytes)(session.historySizeBytes ?? 0)}`)} ${DIM(`Tokens: ${session.tokenCount}`)} ${DIM(`Cost: $${session.cost.toFixed(4)}`)}`);
1379
1431
  if (options.showIndexSummary) {
1380
1432
  const indexSummary = (0, session_index_1.loadSessionIndex)(session.id, session.projectPath);
1381
1433
  if (indexSummary) {
@@ -1411,22 +1463,13 @@ function printSessionConflict(ref, matches) {
1411
1463
  console.log();
1412
1464
  }
1413
1465
  function printSessionPicker(sessions, options) {
1414
- const lines = (0, ui_v2_1.renderSessionPicker)({
1415
- title: options.title,
1416
- sessions,
1417
- width: process.stdout.columns || 80,
1418
- showProject: options.showProject,
1419
- moreCount: options.moreCount,
1420
- footer: ' Use /resume <number|session-id|name> /resume --last',
1421
- theme: {
1422
- accent: ACCENT,
1423
- dim: DIM,
1424
- selected: text => chalk_1.default.bgHex('#1E293B').hex('#E2E8F0')(text),
1425
- },
1426
- });
1427
- for (const line of lines) {
1428
- console.log(line);
1466
+ console.log(HEADER(options.title));
1467
+ console.log(DIM('─'.repeat(Math.min(process.stdout.columns || 80, 96))));
1468
+ printSessionRows(sessions, { indexed: true, showProject: options.showProject });
1469
+ if (options.moreCount && options.moreCount > 0) {
1470
+ console.log(DIM(`... ${options.moreCount} more sessions. Use /sessions to list them, or /resume <session-id>.`));
1429
1471
  }
1472
+ console.log(DIM('Use /resume <number|session-id|name> or /resume --last.'));
1430
1473
  }
1431
1474
  function handleSessions(ctx, args = '') {
1432
1475
  const scope = parseSessionScopeArgs(args, ctx.cwd);
@@ -1485,6 +1528,7 @@ function handleSessions(ctx, args = '') {
1485
1528
  return { success: true };
1486
1529
  }
1487
1530
  function handleResume(ctx, args) {
1531
+ const ui = commandUICapabilities(ctx);
1488
1532
  const scope = parseSessionScopeArgs(args, ctx.cwd);
1489
1533
  const sessionRef = scope.query;
1490
1534
  const scopedSessions = (scope.allProjects ? (0, session_storage_1.listSessions)() : (0, session_storage_1.listProjectSessions)(scope.projectPath))
@@ -1508,7 +1552,7 @@ function handleResume(ctx, args) {
1508
1552
  allProjects: scope.allProjects,
1509
1553
  maxVisibleItems: 10,
1510
1554
  };
1511
- if (ctx.config.ui?.renderer === 'v2' || ctx.config.ui?.renderer === 'ink' || ctx.config.ui?.renderer === 'terminal' || ctx.config.ui?.renderer === 'tui') {
1555
+ if (ui.structuredPickers) {
1512
1556
  return { success: true, sessionPicker: picker };
1513
1557
  }
1514
1558
  const visibleSessions = scopedSessions.slice(0, 10);
@@ -1670,7 +1714,7 @@ async function handleEditPreview(ctx) {
1670
1714
  console.log(ERROR(parsed.error || 'Preview failed'));
1671
1715
  }
1672
1716
  console.log();
1673
- // Return structured data for v2/TUI/Ink picker rendering
1717
+ // Return structured data for terminal/TUI/Ink picker rendering.
1674
1718
  if (parsed.success && parsed.metadata?.candidates && Array.isArray(parsed.metadata.candidates)) {
1675
1719
  return {
1676
1720
  success: true,