@ai-zen/cli 1.0.0-alpha.2 → 1.0.0-alpha.4

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 (83) hide show
  1. package/CHANGELOG.md +47 -0
  2. package/README.md +12 -12
  3. package/README.zh.md +12 -12
  4. package/dist/config.d.ts +1 -1
  5. package/dist/config.js +1 -1
  6. package/dist/conversation-persist-plugin.js +1 -1
  7. package/dist/conversation-persist-plugin.js.map +1 -1
  8. package/dist/conversation-repository.js +1 -1
  9. package/dist/conversation-repository.js.map +1 -1
  10. package/dist/index.js +5 -2
  11. package/dist/index.js.map +1 -1
  12. package/dist/migration-service.js +1 -1
  13. package/dist/migration-service.js.map +1 -1
  14. package/dist/session-pointer.d.ts +22 -9
  15. package/dist/session-pointer.d.ts.map +1 -1
  16. package/dist/session-pointer.js +55 -23
  17. package/dist/session-pointer.js.map +1 -1
  18. package/dist/tui/chat-session.d.ts +34 -47
  19. package/dist/tui/chat-session.d.ts.map +1 -1
  20. package/dist/tui/chat-session.js +62 -66
  21. package/dist/tui/chat-session.js.map +1 -1
  22. package/dist/tui/config-wizard/types.d.ts +9 -0
  23. package/dist/tui/config-wizard/types.d.ts.map +1 -1
  24. package/dist/tui/config-wizard/wizard.d.ts.map +1 -1
  25. package/dist/tui/config-wizard/wizard.js +4 -3
  26. package/dist/tui/config-wizard/wizard.js.map +1 -1
  27. package/dist/tui/highlight.d.ts +3 -2
  28. package/dist/tui/highlight.d.ts.map +1 -1
  29. package/dist/tui/highlight.js +3 -2
  30. package/dist/tui/highlight.js.map +1 -1
  31. package/dist/tui/index.d.ts +1 -0
  32. package/dist/tui/index.d.ts.map +1 -1
  33. package/dist/tui/index.js +5 -5
  34. package/dist/tui/index.js.map +1 -1
  35. package/dist/tui/screens/chat-commands.d.ts +4 -2
  36. package/dist/tui/screens/chat-commands.d.ts.map +1 -1
  37. package/dist/tui/screens/chat-commands.js +10 -11
  38. package/dist/tui/screens/chat-commands.js.map +1 -1
  39. package/dist/tui/screens/chat.d.ts +0 -4
  40. package/dist/tui/screens/chat.d.ts.map +1 -1
  41. package/dist/tui/screens/chat.js +81 -60
  42. package/dist/tui/screens/chat.js.map +1 -1
  43. package/dist/tui/screens/frame-buffer.d.ts +47 -0
  44. package/dist/tui/screens/frame-buffer.d.ts.map +1 -0
  45. package/dist/tui/screens/frame-buffer.js +78 -0
  46. package/dist/tui/screens/frame-buffer.js.map +1 -0
  47. package/dist/tui/screens/index.d.ts +6 -6
  48. package/dist/tui/screens/index.d.ts.map +1 -1
  49. package/dist/tui/screens/index.js +5 -5
  50. package/dist/tui/screens/index.js.map +1 -1
  51. package/dist/tui/screens/layout.d.ts +5 -3
  52. package/dist/tui/screens/layout.d.ts.map +1 -1
  53. package/dist/tui/screens/layout.js +3 -8
  54. package/dist/tui/screens/layout.js.map +1 -1
  55. package/dist/tui/screens/lines.d.ts +12 -41
  56. package/dist/tui/screens/lines.d.ts.map +1 -1
  57. package/dist/tui/screens/lines.js +87 -95
  58. package/dist/tui/screens/lines.js.map +1 -1
  59. package/dist/tui/screens/messages-view.d.ts +10 -0
  60. package/dist/tui/screens/messages-view.d.ts.map +1 -0
  61. package/dist/tui/screens/messages-view.js +115 -0
  62. package/dist/tui/screens/messages-view.js.map +1 -0
  63. package/dist/tui/screens/notice.d.ts +32 -0
  64. package/dist/tui/screens/notice.d.ts.map +1 -0
  65. package/dist/tui/screens/notice.js +46 -0
  66. package/dist/tui/screens/notice.js.map +1 -0
  67. package/dist/tui/screens/render.d.ts +2 -4
  68. package/dist/tui/screens/render.d.ts.map +1 -1
  69. package/dist/tui/screens/render.js +7 -43
  70. package/dist/tui/screens/render.js.map +1 -1
  71. package/dist/tui/text.d.ts +5 -0
  72. package/dist/tui/text.d.ts.map +1 -1
  73. package/dist/tui/text.js +7 -0
  74. package/dist/tui/text.js.map +1 -1
  75. package/dist/tui/theme.d.ts +7 -1
  76. package/dist/tui/theme.d.ts.map +1 -1
  77. package/dist/tui/theme.js +15 -3
  78. package/dist/tui/theme.js.map +1 -1
  79. package/package.json +3 -3
  80. package/dist/tui/screens/state.d.ts +0 -13
  81. package/dist/tui/screens/state.d.ts.map +0 -1
  82. package/dist/tui/screens/state.js +0 -75
  83. package/dist/tui/screens/state.js.map +0 -1
@@ -1,9 +1,10 @@
1
1
  /**
2
- * TUI 对话会话 —— Agent 装配与结构化流式事件
2
+ * TUI 对话会话 —— Agent 装配 + 「内容变更」信号
3
3
  *
4
- * 与旧的行式渲染器(`src/conversation-runner.ts`)不同,这里把流式 delta
5
- * 翻译成**结构化事件**交给 React 层渲染,而非直接写 stdout,从而支持 Ink 的
6
- * 可控重绘(增量、无撕裂)。
4
+ * 渲染以 SDK 的 `agent.messages` 为**唯一数据源**:本模块不再把流式 delta 翻译成
5
+ * 自定义事件 / 中间模型(Block / LiveAssistant),只做两件事:
6
+ * 1. SDK 事件到达时通知上层「messages 变了,该重渲染了」;
7
+ * 2. 把系统级提示(notice / error)转发到独立通道(绝不写进 messages)。
7
8
  *
8
9
  * 本模块不依赖 React / Ink,可独立单测。
9
10
  */
@@ -18,10 +19,9 @@ import { AutoMigrateConfirmPlugin } from "../auto-migrate-confirm-plugin.js";
18
19
  import { createMigrationService } from "../migration-service.js";
19
20
  import { conversationRepository, generateConversationId } from "../conversation-repository.js";
20
21
  import { writeLastSession } from "../session-pointer.js";
21
- /** 去掉 CwdTrackerPlugin 追加在用户消息末尾的工作目录提示 */
22
- export function stripCwdNote(text) {
23
- return text.replace(/\n+(?:\[工作目录变更\]\n)?当前工作目录: [^\n]*$/, "");
24
- }
22
+ import { stripCwdNote } from "./text.js";
23
+ /** 去掉 CwdTrackerPlugin 追加在用户消息末尾的工作目录提示(转发自 ./text.js) */
24
+ export { stripCwdNote };
25
25
  export class ChatSession {
26
26
  modelId;
27
27
  agentId;
@@ -31,10 +31,10 @@ export class ChatSession {
31
31
  agent;
32
32
  ctx;
33
33
  migrationService;
34
- onEvent;
34
+ notifier;
35
35
  requestConfirm;
36
36
  disposers = [];
37
- constructor(migrationService, ctx, options, maxTokens, onEvent) {
37
+ constructor(migrationService, ctx, options, maxTokens, notifier) {
38
38
  this.migrationService = migrationService;
39
39
  this.ctx = ctx;
40
40
  this.modelId = options.modelId;
@@ -42,11 +42,11 @@ export class ChatSession {
42
42
  this.maxTokens = maxTokens;
43
43
  this.currentId = ctx.currentId || generateConversationId();
44
44
  this.currentName = ctx.currentName;
45
- this.onEvent = onEvent;
45
+ this.notifier = notifier;
46
46
  this.requestConfirm = options.requestConfirm;
47
47
  }
48
- /** 创建会话:装配 Agent、插件与流式事件 */
49
- static async create(options, onEvent) {
48
+ /** 创建会话:装配 Agent、插件与「变更信号」 */
49
+ static async create(options, notifier) {
50
50
  const config = await readConfig();
51
51
  const model = config.models.find((m) => m.id === options.modelId);
52
52
  const maxTokens = model?.maxContextTokens ??
@@ -63,15 +63,16 @@ export class ChatSession {
63
63
  running: true,
64
64
  };
65
65
  const migrationService = createMigrationService(ctx, {
66
- // 迁移进度/结果经 Ink 渲染为 notice 块,避免直接写 stdout 撕裂画面
67
- log: (text) => onEvent({ type: "notice", text }),
66
+ // 迁移进度/结果经通知通道渲染,避免直接写 stdout 撕裂画面
67
+ log: (text) => notifier.onNotice(text, "info"),
68
68
  });
69
69
  ctx.migrationService = migrationService;
70
- const session = new ChatSession(migrationService, ctx, options, maxTokens, onEvent);
70
+ const session = new ChatSession(migrationService, ctx, options, maxTokens, notifier);
71
71
  session.agent = agent;
72
72
  await session.attach(agent);
73
73
  return session;
74
74
  }
75
+ /** 对话消息(唯一真相源) */
75
76
  get messages() {
76
77
  return this.agent.messages;
77
78
  }
@@ -79,25 +80,32 @@ export class ChatSession {
79
80
  get lastUsage() {
80
81
  return this.agent.lastUsage;
81
82
  }
82
- /** 发送一条消息;事件通过 `onEvent` 持续回传;resolve 表示本轮结束 */
83
+ /** 发送一条消息;内容变化经 `notifier.onChange` 通知,`resolve` 表示本轮结束 */
83
84
  async send(input) {
84
- this.onEvent({ type: "user", text: input });
85
85
  try {
86
86
  await this.agent.send(input);
87
87
  }
88
88
  catch (error) {
89
- this.onEvent({ type: "error", text: error?.message ?? String(error) });
89
+ this.notifier.onNotice(error?.message ?? String(error), "error");
90
90
  }
91
91
  finally {
92
- this.onEvent({ type: "done" });
92
+ this.notifier.onChange(true);
93
93
  }
94
94
  }
95
95
  /** 中止当前请求(Ctrl+C 语义:仅取消本轮,不退出) */
96
96
  abort() {
97
97
  this.agent.abort();
98
98
  }
99
- /** 重置会话(/new):清空历史并重建 Agent */
99
+ /**
100
+ * 重置会话(/new):先把当前对话归档(有内容才存),再清空历史并重建 Agent。
101
+ *
102
+ * 归档必须先于 `currentId` 切换:`save()` 按 `this.currentId` 落盘,若先换 id
103
+ * 会把旧内容写到新会话文件上(等于旧对话丢失)。返回被归档的会话 id,
104
+ * 无内容可存时返回 null。
105
+ */
100
106
  async reset() {
107
+ const hasContent = this.agent.messages.some((m) => m.role === AgentNS.Role.User);
108
+ const archivedId = hasContent ? await this.save() : null;
101
109
  this.dispose();
102
110
  const agent = await createAgent({
103
111
  agentId: this.agentId === "default" ? undefined : this.agentId,
@@ -109,6 +117,8 @@ export class ChatSession {
109
117
  this.currentName = this.currentId;
110
118
  this.ctx.currentName = this.currentName;
111
119
  await this.attach(agent);
120
+ this.notifier.onChange(true);
121
+ return archivedId;
112
122
  }
113
123
  /**
114
124
  * 应用外部配置变更(如 `/config` 改了当前端点的 API Key / Base URL):
@@ -128,6 +138,7 @@ export class ChatSession {
128
138
  this.agent = agent;
129
139
  this.ctx.agent = agent;
130
140
  await this.attach(agent);
141
+ this.notifier.onChange(true);
131
142
  }
132
143
  /** 手动任务迁移(/migrate):与自动迁移共用同一服务实例 */
133
144
  async migrate() {
@@ -138,6 +149,7 @@ export class ChatSession {
138
149
  // 迁移后服务会开启新会话,同步会话元信息
139
150
  this.currentName = this.ctx.currentName;
140
151
  this.currentId = this.ctx.currentId ?? generateConversationId();
152
+ this.notifier.onChange(true);
141
153
  }
142
154
  /** 撤回:删除索引 index 起的消息,返回被撤回的首条用户消息文本(用于预填输入) */
143
155
  rollbackTo(index) {
@@ -163,7 +175,7 @@ export class ChatSession {
163
175
  createdAt: existing?.createdAt ?? now,
164
176
  updatedAt: now,
165
177
  });
166
- await writeLastSession(id);
178
+ await writeLastSession(process.cwd(), id);
167
179
  return id;
168
180
  }
169
181
  /** 释放事件监听(重建 Agent 时调用,避免监听器泄漏) */
@@ -180,7 +192,7 @@ export class ChatSession {
180
192
  agentId: this.agentId,
181
193
  modelId: this.modelId,
182
194
  cwd: process.cwd(),
183
- onError: (text) => this.onEvent({ type: "notice", text }),
195
+ onError: (text) => this.notifier.onNotice(text, "info"),
184
196
  }));
185
197
  if (this.maxTokens && this.maxTokens > 0) {
186
198
  agent.use(new ContextGuardPlugin({ maxTokens: this.maxTokens }));
@@ -190,74 +202,58 @@ export class ChatSession {
190
202
  // TUI 下由 Ink 层提供确认通道
191
203
  shouldConfirm: () => Boolean(this.requestConfirm),
192
204
  confirm: (info) => this.requestConfirm(`上下文即将超限(${info.promptTokens}/${info.maxTokens} tokens),是否立即执行任务迁移?`),
193
- log: (text) => this.onEvent({ type: "notice", text }),
205
+ log: (text) => this.notifier.onNotice(text, "info"),
194
206
  }));
195
207
  agent.use(new SubAgentGuardInstallerPlugin({ maxTokens: this.maxTokens }));
196
208
  }
197
209
  this.wire(agent);
198
210
  await agent.init();
199
211
  }
212
+ /**
213
+ * 订阅 SDK 事件,仅把它们当作「messages 可能已变化」的信号:
214
+ * - `chunk-parsed`(每片 delta 应用后):高频 → 走合帧(`immediate=false`);
215
+ * - `open` / `parsed` / `finally`:轮次边界 → 立即上屏;
216
+ * - `error`:转发到通知通道。
217
+ */
200
218
  wire(agent) {
201
- const onOpen = () => this.onEvent({ type: "assistant-start" });
202
- const onChunk = (chunk) => this.emitDelta(chunk);
203
- const onError = (error) => this.onEvent({ type: "error", text: error?.message ?? String(error) });
219
+ const notify = (immediate) => this.notifier.onChange(immediate);
220
+ const onOpen = () => notify(true);
221
+ const onChunk = () => notify(false);
222
+ const onParsed = () => notify(true);
223
+ const onFinally = () => notify(true);
224
+ const onError = (error) => {
225
+ this.notifier.onNotice(error?.message ?? String(error), "error");
226
+ notify(true);
227
+ };
204
228
  const onSubStart = ({ subAgent, toolCallContext }) => {
205
229
  const name = toolCallContext?.tool_call?.function?.name || "子任务";
206
- this.onEvent({ type: "subagent-start", name });
230
+ this.notifier.onNotice(`🧩 子任务 ${name} 运行中…`, "info");
207
231
  subAgent.events.on("open", onOpen);
208
- subAgent.events.on("chunk", onChunk);
232
+ subAgent.events.on("chunk-parsed", onChunk);
209
233
  subAgent.events.on("error", onError);
234
+ notify(true);
210
235
  };
211
236
  const onSubEnd = ({ toolCallContext }) => {
212
237
  const name = toolCallContext?.tool_call?.function?.name || "子任务";
213
- this.onEvent({ type: "subagent-end", name });
238
+ this.notifier.onNotice(`✓ 子任务 ${name} 完成`, "info");
239
+ notify(true);
214
240
  };
215
241
  agent.events.on("open", onOpen);
216
- agent.events.on("chunk", onChunk);
242
+ agent.events.on("chunk-parsed", onChunk);
243
+ agent.events.on("parsed", onParsed);
244
+ agent.events.on("finally", onFinally);
217
245
  agent.events.on("error", onError);
218
246
  agent.events.on("sub-agent-start", onSubStart);
219
247
  agent.events.on("sub-agent-end", onSubEnd);
220
248
  this.disposers.push(() => {
221
249
  agent.events.off("open", onOpen);
222
- agent.events.off("chunk", onChunk);
250
+ agent.events.off("chunk-parsed", onChunk);
251
+ agent.events.off("parsed", onParsed);
252
+ agent.events.off("finally", onFinally);
223
253
  agent.events.off("error", onError);
224
254
  agent.events.off("sub-agent-start", onSubStart);
225
255
  agent.events.off("sub-agent-end", onSubEnd);
226
256
  });
227
257
  }
228
- /** 把流式 delta 翻译为结构化事件 */
229
- emitDelta(chunk) {
230
- const delta = chunk?.choices?.[0]?.delta;
231
- if (!delta)
232
- return;
233
- if (delta.reasoning_content) {
234
- this.onEvent({ type: "reasoning", text: delta.reasoning_content });
235
- }
236
- if (delta.content) {
237
- if (typeof delta.content === "string") {
238
- this.onEvent({ type: "content", text: delta.content });
239
- }
240
- else if (Array.isArray(delta.content)) {
241
- for (const part of delta.content) {
242
- if (part.type === "text" && part.text) {
243
- this.onEvent({ type: "content", text: part.text });
244
- }
245
- else if (part.type === "image_url") {
246
- this.onEvent({ type: "notice", text: `[图片: ${part.image_url.url}]` });
247
- }
248
- }
249
- }
250
- }
251
- if (delta.tool_calls) {
252
- for (const tc of delta.tool_calls) {
253
- this.onEvent({
254
- type: "tool",
255
- index: tc.index ?? 0,
256
- name: tc.function?.name,
257
- args: tc.function?.arguments,
258
- });
259
- }
260
- }
261
- }
262
258
  }
263
259
  //# sourceMappingURL=chat-session.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat-session.js","sourceRoot":"","sources":["../../src/tui/chat-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-session.js","sourceRoot":"","sources":["../../src/tui/chat-session.ts"],"names":[],"mappings":"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"}
@@ -115,6 +115,15 @@ export interface ConfigWizardProps {
115
115
  config: AppConfig;
116
116
  /** 起始步骤(默认配置中心菜单) */
117
117
  initialStep?: WizardStep;
118
+ /**
119
+ * 终端尺寸覆盖(供测试固定帧高用)。
120
+ * 缺省时按真实窗口尺寸(`useWindowSize`),再退默认 80×24。
121
+ * 注入后「吸底」帧高不再依赖运行环境能否探测到终端高度。
122
+ */
123
+ terminalSize?: {
124
+ columns: number;
125
+ rows: number;
126
+ };
118
127
  /** 首启引导模式:文案更完整,Esc 语义为「放弃」 */
119
128
  onboarding?: boolean;
120
129
  /** 保存成功后直接关闭(首启引导 / `/key`),否则回到配置中心菜单 */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/tui/config-wizard/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/tui/config-wizard/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"wizard.d.ts","sourceRoot":"","sources":["../../../src/tui/config-wizard/wizard.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAUpD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,6BAkBpD"}
1
+ {"version":3,"file":"wizard.d.ts","sourceRoot":"","sources":["../../../src/tui/config-wizard/wizard.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAUpD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,6BAmBpD"}
@@ -16,9 +16,10 @@ import { renderNewEndpointStep } from "./step-new-endpoint.js";
16
16
  * 引擎与各步骤模块共享同一个 `WizardContext`(引擎状态 + 尺寸 + props)。
17
17
  */
18
18
  export function ConfigWizard(props) {
19
- const { columns, rows: terminalRows } = useWindowSize();
20
- const cols = columns ?? 80;
21
- const rows = terminalRows ?? 24;
19
+ const windowSize = useWindowSize();
20
+ // 优先用注入的尺寸(测试固定帧高),否则按真实窗口尺寸,再退默认 80×24
21
+ const cols = props.terminalSize?.columns ?? windowSize.columns ?? 80;
22
+ const rows = props.terminalSize?.rows ?? windowSize.rows ?? 24;
22
23
  const engine = useWizardEngine(props);
23
24
  const ctx = { ...engine, cols, rows, props };
24
25
  return (renderMenuStep(ctx) ??
@@ -1 +1 @@
1
- {"version":3,"file":"wizard.js","sourceRoot":"","sources":["../../../src/tui/config-wizard/wizard.tsx"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,eAAe,EAAsB,MAAM,aAAa,CAAC;AAElE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,KAAwB;IACnD,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,aAAa,EAAE,CAAC;IACxD,MAAM,IAAI,GAAG,OAAO,IAAI,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAG,YAAY,IAAI,EAAE,CAAC;IAEhC,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,GAAG,GAAkB,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IAE5D,OAAO,CACL,cAAc,CAAC,GAAG,CAAC;QACnB,kBAAkB,CAAC,GAAG,CAAC;QACvB,mBAAmB,CAAC,GAAG,CAAC;QACxB,gBAAgB,CAAC,GAAG,CAAC;QACrB,aAAa,CAAC,GAAG,CAAC;QAClB,gBAAgB,CAAC,GAAG,CAAC;QACrB,gBAAgB,CAAC,GAAG,CAAC;QACrB,qBAAqB,CAAC,GAAG,CAAC,CAC3B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"wizard.js","sourceRoot":"","sources":["../../../src/tui/config-wizard/wizard.tsx"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,eAAe,EAAsB,MAAM,aAAa,CAAC;AAElE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,KAAwB;IACnD,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,wCAAwC;IACxC,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,EAAE,OAAO,IAAI,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC;IACrE,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,EAAE,IAAI,IAAI,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC;IAE/D,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,GAAG,GAAkB,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IAE5D,OAAO,CACL,cAAc,CAAC,GAAG,CAAC;QACnB,kBAAkB,CAAC,GAAG,CAAC;QACvB,mBAAmB,CAAC,GAAG,CAAC;QACxB,gBAAgB,CAAC,GAAG,CAAC;QACrB,aAAa,CAAC,GAAG,CAAC;QAClB,gBAAgB,CAAC,GAAG,CAAC;QACrB,gBAAgB,CAAC,GAAG,CAAC;QACrB,qBAAqB,CAAC,GAAG,CAAC,CAC3B,CAAC;AACJ,CAAC"}
@@ -27,8 +27,9 @@ export declare function supportedLanguages(): string[];
27
27
  /**
28
28
  * 把正文切成「普通文本 / 围栏代码块」两类片段。
29
29
  *
30
- * 围栏行(``` 与 ```lang)本身作为分隔符**丢弃**,不进入任何片段 —— 渲染时代码块以
31
- * 高亮行呈现,无需再显示裸围栏。
30
+ * 围栏行(``` 与 ```lang)本身作为分隔符**不进入片段**,只解析出语言存进 `lang`;
31
+ * 渲染时由 `contentLines` 依据 `lang` 重新画出围栏行(`​```lang` / `​```),
32
+ * 从而既能按语言高亮代码、又能保留围栏边界。
32
33
  */
33
34
  export declare function splitFences(text: string): CodeSegment[];
34
35
  //# sourceMappingURL=highlight.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"highlight.d.ts","sourceRoot":"","sources":["../../src/tui/highlight.ts"],"names":[],"mappings":"AAeA,kEAAkE;AAClE,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,gBAAgB;AAChB,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAgClD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,EAAE,CAcpE;AAED,wDAAwD;AACxD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,EAAE,CAErD;AAED,wBAAwB;AACxB,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAE7C;AAMD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE,CAgCvD"}
1
+ {"version":3,"file":"highlight.d.ts","sourceRoot":"","sources":["../../src/tui/highlight.ts"],"names":[],"mappings":"AAeA,kEAAkE;AAClE,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,gBAAgB;AAChB,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAgClD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,EAAE,CAcpE;AAED,wDAAwD;AACxD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,EAAE,CAErD;AAED,wBAAwB;AACxB,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAE7C;AAMD;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE,CAgCvD"}
@@ -77,8 +77,9 @@ const FENCE_RE = /^\s*```(.*)$/;
77
77
  /**
78
78
  * 把正文切成「普通文本 / 围栏代码块」两类片段。
79
79
  *
80
- * 围栏行(``` 与 ```lang)本身作为分隔符**丢弃**,不进入任何片段 —— 渲染时代码块以
81
- * 高亮行呈现,无需再显示裸围栏。
80
+ * 围栏行(``` 与 ```lang)本身作为分隔符**不进入片段**,只解析出语言存进 `lang`;
81
+ * 渲染时由 `contentLines` 依据 `lang` 重新画出围栏行(`​```lang` / `​```),
82
+ * 从而既能按语言高亮代码、又能保留围栏边界。
82
83
  */
83
84
  export function splitFences(text) {
84
85
  const segments = [];
@@ -1 +1 @@
1
- {"version":3,"file":"highlight.js","sourceRoot":"","sources":["../../src/tui/highlight.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"highlight.js","sourceRoot":"","sources":["../../src/tui/highlight.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,7 @@
25
25
  export declare const RENDER_OPTIONS: {
26
26
  readonly exitOnCtrlC: false;
27
27
  readonly alternateScreen: false;
28
+ readonly incrementalRendering: true;
28
29
  readonly kittyKeyboard: {
29
30
  readonly mode: "disabled";
30
31
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tui/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA0CH;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,cAAc;;;;;;CAIjB,CAAC;AAuLX,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CA6C5C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tui/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA0CH;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,cAAc;;;;;;;CAOjB,CAAC;AAkLX,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CA6C5C"}
package/dist/tui/index.js CHANGED
@@ -62,6 +62,9 @@ let activeInstance = null;
62
62
  export const RENDER_OPTIONS = {
63
63
  exitOnCtrlC: false,
64
64
  alternateScreen: false,
65
+ // 只重绘「变化的行」,而不是每帧擦除 + 重写整屏(Ink 默认 false,走 createStandard)。
66
+ // 流式高频下把每帧输出量从 O(屏幕大小) 降到 O(变化量),显著减轻 SSH 带宽 / 背压压力。
67
+ incrementalRendering: true,
65
68
  kittyKeyboard: { mode: "disabled" },
66
69
  };
67
70
  function mount(node) {
@@ -120,7 +123,7 @@ async function modelExists(modelId) {
120
123
  }
121
124
  /** 读取「上一轮会话 id」指针,续接该会话(指针缺失或会话不存在时返回 null) */
122
125
  async function resumeLastSession() {
123
- const pointer = await readLastSession();
126
+ const pointer = await readLastSession(process.cwd());
124
127
  if (!pointer)
125
128
  return null;
126
129
  const conversation = await conversationRepository.read(pointer.id);
@@ -153,9 +156,8 @@ async function runChat(target) {
153
156
  let current = target;
154
157
  let messages = target.messages;
155
158
  let initialInput;
156
- let clearTranscript = false;
157
159
  while (true) {
158
- const result = await mount(_jsx(Chat, { modelId: current.modelId, agentId: current.agentId, messages: messages, conversationId: current.conversationId, conversationName: current.conversationName, initialInput: initialInput, clearTranscript: clearTranscript }));
160
+ const result = await mount(_jsx(Chat, { modelId: current.modelId, agentId: current.agentId, messages: messages, conversationId: current.conversationId, conversationName: current.conversationName, initialInput: initialInput }));
159
161
  if (result && typeof result === "object") {
160
162
  const value = result;
161
163
  if (value.load) {
@@ -168,13 +170,11 @@ async function runChat(target) {
168
170
  };
169
171
  messages = value.load.messages;
170
172
  initialInput = undefined;
171
- clearTranscript = false;
172
173
  continue;
173
174
  }
174
175
  if (value.restart) {
175
176
  messages = value.messages ?? messages;
176
177
  initialInput = value.initialInput;
177
- clearTranscript = Boolean(value.clearTranscript);
178
178
  continue;
179
179
  }
180
180
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tui/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tui/index.tsx"],"names":[],"mappings":"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"}
@@ -2,10 +2,12 @@ import { Dispatch, SetStateAction } from "react";
2
2
  import { SelectItem } from "../components.js";
3
3
  import { ChatSession } from "../chat-session.js";
4
4
  import { WizardStep } from "../config-wizard/index.js";
5
- import { ChatAction } from "./state.js";
6
5
  export interface ChatCommandHost {
7
6
  session: ChatSession;
8
- dispatch: Dispatch<ChatAction>;
7
+ /** 通知通道:命令反馈(保存 / 清除 / 迁移结果 …)走独立栏位,不进 messages */
8
+ notice: (text: string, tone?: "info" | "error") => void;
9
+ /** 清屏(保留上下文):把转录显示起点推到最新 */
10
+ clearTranscript: () => void;
9
11
  rows: number;
10
12
  exit: (arg?: any) => void;
11
13
  suspendTerminal: (fn: () => void | Promise<void>) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"chat-commands.d.ts","sourceRoot":"","sources":["../../../src/tui/screens/chat-commands.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAMjD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAgB,MAAM,oBAAoB,CAAC;AAI/D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGxC,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,WAAW,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAC1B,eAAe,EAAE,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,UAAU,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,cAAc,EAAE,QAAQ,CACtB,cAAc,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAAC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC,CAC/G,CAAC;IACF,eAAe,EAAE,QAAQ,CAAC,cAAc,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IAC1G,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA+KhG"}
1
+ {"version":3,"file":"chat-commands.d.ts","sourceRoot":"","sources":["../../../src/tui/screens/chat-commands.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAMjD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAgB,MAAM,oBAAoB,CAAC;AAI/D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAGvD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,WAAW,CAAC;IACrB,mDAAmD;IACnD,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,KAAK,IAAI,CAAC;IACxD,4BAA4B;IAC5B,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAC1B,eAAe,EAAE,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,UAAU,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,cAAc,EAAE,QAAQ,CACtB,cAAc,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAAC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC,CAC/G,CAAC;IACF,eAAe,EAAE,QAAQ,CAAC,cAAc,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IAC1G,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAiLhG"}
@@ -9,12 +9,9 @@ import { conversationRepository, listConversations } from "../../conversation-re
9
9
  import { formatShortTime } from "../../format-time.js";
10
10
  import { truncate } from "./render.js";
11
11
  export async function runCommand(name, raw, host) {
12
- const { session, dispatch, rows, exit, suspendTerminal, openWizard, openKeyEditor, doExit, setPickerState, setConfirmState, setInputText, } = host;
12
+ const { session, notice, clearTranscript, rows, exit, suspendTerminal, openWizard, openKeyEditor, doExit, setPickerState, setConfirmState, setInputText, } = host;
13
13
  const push = (text, tone = "info") => {
14
- if (tone === "error")
15
- dispatch({ type: "error", text });
16
- else
17
- dispatch({ type: "notice", text });
14
+ notice(text, tone);
18
15
  };
19
16
  switch (name) {
20
17
  case "config":
@@ -32,14 +29,16 @@ export async function runCommand(name, raw, host) {
32
29
  break;
33
30
  }
34
31
  case "clear":
35
- // 清屏但保留上下文:重挂载对话屏且不重建历史
36
- exit({ restart: true, messages: session.messages, clearTranscript: true });
32
+ // 清屏但保留上下文:仅把转录显示起点推到最新
33
+ clearTranscript();
37
34
  break;
38
- case "new":
39
- await session.reset();
40
- dispatch({ type: "clear" });
41
- push("已开始新对话");
35
+ case "new": {
36
+ // reset 会先归档当前对话(有内容才存),返回存档 id(无内容为 null)
37
+ const archivedId = await session.reset();
38
+ clearTranscript();
39
+ push(archivedId ? `旧对话已存档:${archivedId}\n已开始新对话` : "已开始新对话");
42
40
  break;
41
+ }
43
42
  case "save": {
44
43
  try {
45
44
  const id = await session.save();