neoctl 0.2.61 → 0.2.63

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/README.md CHANGED
@@ -1,58 +1,58 @@
1
- # Neo Engine
2
-
3
- Neo 的 TypeScript 核心运行时,提供 `neo` 命令行、模型调用、工具执行、会话管理和子代理任务。Web 和 Desktop 共用这套核心。
4
-
5
- 子代理调度及管理工具(`subagent_run/output/list/get/stop/message/resume`)默认开放;系统提示词默认要求仅在用户明确要求时委派子代理。Web/Desktop 可在工具设置中关闭,会话设置可覆盖全局设置;已有明确保存的设置保留。SDK 使用者可通过 `ToolRegistry.setEnabled(name, false)` 显式关闭。子代理内部的 `subagent_report` 汇报通道及禁止嵌套委派的限制保持不变。
6
-
7
- ## 安装使用
8
-
9
- 需要 Node.js 20+。
10
-
11
- ```sh
12
- npm install -g neoctl
13
- neo
14
- ```
15
-
16
- 首次使用输入 `/login` 配置模型。常用命令:
17
-
18
- ```sh
19
- neo -help # 查看帮助
20
- neo run "总结当前仓库" # 执行一次任务
21
- neo -web # 打开核心自带的 Web 界面
22
- ```
23
-
24
- 对话中可用 `/new` 新建会话、`/sessions` 查看历史、`/compact` 压缩上下文。
25
-
26
- ## 模型配置
27
-
28
- 支持 OpenAI 兼容的 Responses 和 Chat Completions 接口。除交互配置外,也可在工作目录的 `.env` 中填写:
29
-
30
- ```env
31
- MODEL_PROVIDER=openai
32
- OPENAI_API_KEY=your-api-key
33
- OPENAI_BASE_URL=https://api.openai.com
34
- OPENAI_MODEL=your-model-name
35
- ```
36
-
37
- 将密钥和模型名替换为实际值。`NEO_ENV_FILE` 可指定其他配置文件。
38
-
39
- ## 源码开发
40
-
41
- 在 `engine/` 目录执行:
42
-
43
- ```sh
44
- npm ci
45
- npm run dev
46
- ```
47
-
48
- | 命令 | 用途 |
49
- | --- | --- |
50
- | `npm run build` | 编译源码到 `dist/` |
51
- | `npm start` | 运行已构建的 CLI |
52
- | `npm run typecheck` | 检查源码和测试类型 |
53
- | `npm test` | 运行单元测试 |
54
- | `npm run standalone` | 构建当前平台的便携分发目录 |
55
-
56
- 源码位于 `src/`,测试位于 `tests/`。便携构建输出到 `standalone/<平台>-<架构>/`。
57
-
58
- 更多测试命令见 [tests/README.md](tests/README.md)。
1
+ # Neo Engine
2
+
3
+ Neo 的 TypeScript 核心运行时,提供 `neo` 命令行、模型调用、工具执行、会话管理和子代理任务。Web 和 Desktop 共用这套核心。
4
+
5
+ 子代理调度及管理工具(`subagent_run/output/list/get/stop/message/resume`)默认开放;系统提示词默认要求仅在用户明确要求时委派子代理。Web/Desktop 可在工具设置中关闭,会话设置可覆盖全局设置;已有明确保存的设置保留。SDK 使用者可通过 `ToolRegistry.setEnabled(name, false)` 显式关闭。子代理内部的 `subagent_report` 汇报通道及禁止嵌套委派的限制保持不变。
6
+
7
+ ## 安装使用
8
+
9
+ 需要 Node.js 20+。
10
+
11
+ ```sh
12
+ npm install -g neoctl
13
+ neo
14
+ ```
15
+
16
+ 首次使用输入 `/login` 配置模型。常用命令:
17
+
18
+ ```sh
19
+ neo -help # 查看帮助
20
+ neo run "总结当前仓库" # 执行一次任务
21
+ neo -web # 打开核心自带的 Web 界面
22
+ ```
23
+
24
+ 对话中可用 `/new` 新建会话、`/sessions` 查看历史、`/compact` 压缩上下文。
25
+
26
+ ## 模型配置
27
+
28
+ 支持 OpenAI 兼容的 Responses 和 Chat Completions 接口。除交互配置外,也可在工作目录的 `.env` 中填写:
29
+
30
+ ```env
31
+ MODEL_PROVIDER=openai
32
+ OPENAI_API_KEY=your-api-key
33
+ OPENAI_BASE_URL=https://api.openai.com
34
+ OPENAI_MODEL=your-model-name
35
+ ```
36
+
37
+ 将密钥和模型名替换为实际值。`NEO_ENV_FILE` 可指定其他配置文件。
38
+
39
+ ## 源码开发
40
+
41
+ 在 `engine/` 目录执行:
42
+
43
+ ```sh
44
+ npm ci
45
+ npm run dev
46
+ ```
47
+
48
+ | 命令 | 用途 |
49
+ | --- | --- |
50
+ | `npm run build` | 编译源码到 `dist/` |
51
+ | `npm start` | 运行已构建的 CLI |
52
+ | `npm run typecheck` | 检查源码和测试类型 |
53
+ | `npm test` | 运行单元测试 |
54
+ | `npm run standalone` | 构建当前平台的便携分发目录 |
55
+
56
+ 源码位于 `src/`,测试位于 `tests/`。便携构建输出到 `standalone/<平台>-<架构>/`。
57
+
58
+ 更多测试命令见 [tests/README.md](tests/README.md)。
@@ -28,6 +28,10 @@ export interface ContextBudgetOptions {
28
28
  /** @deprecated Checkpoint summaries serialize the complete pre-compaction window. */
29
29
  compactInputMaxChars?: number;
30
30
  compactModel?: string;
31
+ /**
32
+ * Explicit output cap for model summaries. When omitted, the provider's normal
33
+ * request limit applies so reasoning/thinking tokens cannot exhaust the summary.
34
+ */
31
35
  compactMaxOutputTokens?: number;
32
36
  }
33
37
  export type CompactionReason = "none" | "snip" | "microcompact" | "autocompact" | "reactive_compact" | "manualcompact" | "purecompact";
@@ -41,6 +45,8 @@ export interface CompactionReport {
41
45
  charsFreed: number;
42
46
  modelDriven: boolean;
43
47
  imageCount: number;
48
+ /** Why the model summary failed when a deterministic fallback was used. */
49
+ fallbackReason?: string;
44
50
  }
45
51
  export interface CompactionResult {
46
52
  messages: Message[];
@@ -74,6 +80,7 @@ export declare class ModelDrivenCompactor implements Compactor {
74
80
  reactiveCompact(messages: readonly Message[], _error: Error, options?: ContextBudgetOptions): Promise<CompactionResult>;
75
81
  private createCheckpoint;
76
82
  private summarizeWithModel;
83
+ private requestSummary;
77
84
  }
78
85
  export declare class NoopCompactor implements Compactor {
79
86
  compact(messages: readonly Message[]): Promise<CompactionResult>;
@@ -1,5 +1,6 @@
1
1
  import { abortableStream } from "../core/abortable-stream.js";
2
- import { createRuntimeTimeMessage } from "../core/message-pipeline.js";
2
+ import { createRuntimeTimeMessage, ensureToolResultPairing } from "../core/message-pipeline.js";
3
+ import { ModelAPIError } from "../model/errors.js";
3
4
  import { createTextMessage, withoutThinkingBlocks } from "../types/messages.js";
4
5
  import { estimateTextTokens } from "../core/context-metrics.js";
5
6
  import { buildImageRegistry, extractRegistryFromBoundary, mergeImageRegistries, formatImageRegistryForContext } from "../core/image-registry.js";
@@ -59,26 +60,50 @@ export class ModelDrivenCompactor {
59
60
  const summary = await this.summarizeWithModel(messages, CHECKPOINT_COMPACT_INSTRUCTIONS, options);
60
61
  return buildCompactionResult(messages, summary, reason, true, options);
61
62
  }
62
- catch {
63
+ catch (error) {
63
64
  options.abortSignal?.throwIfAborted();
64
- return checkpointCompactWithSummary(messages, options, reason);
65
+ return checkpointCompactWithSummary(messages, options, reason, describeSummaryFailure(error));
65
66
  }
66
67
  }
67
68
  async summarizeWithModel(messages, instructions, options) {
68
- const compactMessages = prepareMessagesForModelSummary(messages, instructions);
69
- if (compactMessages.length === 1)
69
+ const history = prepareHistoryForModelSummary(messages);
70
+ if (history.length === 0)
70
71
  return "No earlier conversation content required preservation.";
72
+ const historyTokens = history.reduce((total, message) => total + estimateMessageTokens(message), 0);
73
+ let input = history;
74
+ for (let attempt = 0;; attempt += 1) {
75
+ const progress = { streamed: false };
76
+ try {
77
+ return await this.requestSummary([...input, createCompactInstructionMessage(instructions)], options, progress);
78
+ }
79
+ catch (error) {
80
+ options.abortSignal?.throwIfAborted();
81
+ // Only a context overflow is recoverable here, and only before any summary
82
+ // text reached the UI. Retry once per ratio with the oldest input omitted.
83
+ const ratio = SUMMARY_INPUT_RETRY_RATIOS[attempt];
84
+ if (ratio === undefined || progress.streamed || !isSummaryContextOverflow(error))
85
+ throw error;
86
+ const trimmed = trimHistoryForModelSummary(history, Math.floor(historyTokens * ratio));
87
+ if (trimmed.omitted === 0)
88
+ throw error;
89
+ input = trimmed.messages;
90
+ }
91
+ }
92
+ }
93
+ async requestSummary(messages, options, progress) {
71
94
  let streamedText = "";
72
95
  let finalAssistantText = "";
73
96
  let completed = false;
74
97
  for await (const event of abortableStream(this.modelGateway.stream({
75
98
  cancellation: options.abortSignal,
76
99
  model: options.compactModel,
77
- messages: [...compactMessages, createRuntimeTimeMessage()],
100
+ messages: [...messages, createRuntimeTimeMessage()],
78
101
  tools: [],
79
102
  toolChoice: "none",
80
103
  stream: true,
81
- maxOutputTokens: options.compactMaxOutputTokens ?? 2500,
104
+ // Undefined keeps the same output limit as normal turns. A small fixed cap
105
+ // is consumed by reasoning/thinking and truncates the summary.
106
+ maxOutputTokens: options.compactMaxOutputTokens,
82
107
  queryOrigin: "compact",
83
108
  providerOptions: {
84
109
  compact: true,
@@ -88,6 +113,7 @@ export class ModelDrivenCompactor {
88
113
  options.onRetry?.(event);
89
114
  if (event.type === "assistant_delta") {
90
115
  streamedText += event.text;
116
+ progress.streamed = true;
91
117
  options.onCompactionDelta?.(event.text);
92
118
  }
93
119
  if (event.type === "assistant_message") {
@@ -95,12 +121,13 @@ export class ModelDrivenCompactor {
95
121
  if (!streamedText && finalAssistantText) {
96
122
  options.onCompactionDelta?.(finalAssistantText);
97
123
  streamedText = finalAssistantText;
124
+ progress.streamed = true;
98
125
  }
99
126
  }
100
127
  if (event.type === "response_completed")
101
128
  completed = true;
102
129
  if (event.type === "response_incomplete")
103
- throw new Error(`Model compaction response was incomplete: ${event.reason ?? "unknown reason"}`);
130
+ throw new SummaryIncompleteError(event.reason);
104
131
  if (event.type === "error")
105
132
  throw event.error;
106
133
  }
@@ -113,6 +140,24 @@ export class ModelDrivenCompactor {
113
140
  return summary;
114
141
  }
115
142
  }
143
+ /** Retry budgets, as fractions of the original summary input, after a context overflow. */
144
+ const SUMMARY_INPUT_RETRY_RATIOS = [0.6, 0.35];
145
+ class SummaryIncompleteError extends Error {
146
+ reason;
147
+ constructor(reason) {
148
+ super(`Model compaction response was incomplete: ${reason ?? "unknown reason"}`);
149
+ this.reason = reason;
150
+ }
151
+ }
152
+ function isSummaryContextOverflow(error) {
153
+ if (error instanceof ModelAPIError)
154
+ return error.category === "context_length";
155
+ return error instanceof SummaryIncompleteError && error.reason === "model_context_window_exceeded";
156
+ }
157
+ function describeSummaryFailure(error) {
158
+ const message = error instanceof Error ? error.message : String(error);
159
+ return message.replace(/\s+/g, " ").trim().slice(0, 300) || "unknown error";
160
+ }
116
161
  export class NoopCompactor {
117
162
  async compact(messages) {
118
163
  return { messages: [...messages], changed: false, reason: "none" };
@@ -164,6 +209,7 @@ export function withCompactionReport(result, sourceMessages) {
164
209
  charsFreed: Math.max(0, result.charsFreed ?? result.tokensFreed ?? 0),
165
210
  modelDriven: boundary?.metadata?.modelDriven === true,
166
211
  imageCount: Array.isArray(imageRegistry?.images) ? imageRegistry.images.length : 0,
212
+ ...(typeof boundary?.metadata?.compactFallbackReason === "string" ? { fallbackReason: boundary.metadata.compactFallbackReason } : {}),
167
213
  };
168
214
  return {
169
215
  ...result,
@@ -287,11 +333,11 @@ function shouldCompactForBudget(messages, options, fallbackMaxChars, triggerRati
287
333
  function manualCompactWithSummary(messages, options) {
288
334
  return checkpointCompactWithSummary(messages, options, "manualcompact");
289
335
  }
290
- function checkpointCompactWithSummary(messages, options, reason) {
336
+ function checkpointCompactWithSummary(messages, options, reason, fallbackReason) {
291
337
  if (messages.length === 0)
292
338
  return { messages: [], changed: false, reason: "none" };
293
339
  const summary = buildCheckpointFallbackSummary(messages, options.summaryMaxChars ?? 6000);
294
- return buildCompactionResult(messages, summary || "No conversation content was available to summarize.", reason, false, options);
340
+ return buildCompactionResult(messages, summary || "No conversation content was available to summarize.", reason, false, options, messages, fallbackReason);
295
341
  }
296
342
  function reactiveCompactWithSummary(sourceMessages, messagesForSelection, heading, options) {
297
343
  const summary = buildCheckpointFallbackSummary(sourceMessages, options.summaryMaxChars ?? 6000);
@@ -313,7 +359,7 @@ function pureCompactWithSanitizedSummary(messages, options) {
313
359
  tokensFreed: freed,
314
360
  };
315
361
  }
316
- function buildCompactionResult(originalMessages, summary, reason, modelDriven, options, messagesForSelection = originalMessages) {
362
+ function buildCompactionResult(originalMessages, summary, reason, modelDriven, options, messagesForSelection = originalMessages, fallbackReason) {
317
363
  const label = reason === "autocompact"
318
364
  ? "Auto compacted earlier conversation."
319
365
  : reason === "manualcompact"
@@ -321,7 +367,7 @@ function buildCompactionResult(originalMessages, summary, reason, modelDriven, o
321
367
  : "Reactive compacted earlier conversation.";
322
368
  const imageRegistry = options.imageRegistry ?? buildMergedImageRegistry(originalMessages);
323
369
  const preservedUsers = selectRecentUserMessages(messagesForSelection, options.keepRecentTokenBudget ?? COMPACT_USER_MESSAGE_MAX_TOKENS);
324
- const boundary = createCompactionBoundaryMessage(`${label}\n\n${summary}`, reason, modelDriven, imageRegistry);
370
+ const boundary = createCompactionBoundaryMessage(`${label}\n\n${summary}`, reason, modelDriven, imageRegistry, fallbackReason);
325
371
  const compacted = [...preservedUsers, boundary];
326
372
  const freed = Math.max(0, estimateMessagesChars(originalMessages) - estimateMessagesChars(compacted));
327
373
  return {
@@ -438,7 +484,7 @@ function mergeResults(results, reason) {
438
484
  tokensFreed: freed,
439
485
  };
440
486
  }
441
- function createCompactionBoundaryMessage(summary, reason, modelDriven, imageRegistry) {
487
+ function createCompactionBoundaryMessage(summary, reason, modelDriven, imageRegistry, fallbackReason) {
442
488
  const registryText = imageRegistry && imageRegistry.images.length > 0
443
489
  ? `\n\n${formatImageRegistryForContext(imageRegistry)}`
444
490
  : "";
@@ -449,6 +495,7 @@ function createCompactionBoundaryMessage(summary, reason, modelDriven, imageRegi
449
495
  compactBoundary: true,
450
496
  compactionReason: reason,
451
497
  modelDriven,
498
+ ...(fallbackReason ? { compactFallbackReason: fallbackReason } : {}),
452
499
  ...(imageRegistry && imageRegistry.images.length > 0 ? { imageRegistry } : {}),
453
500
  },
454
501
  };
@@ -814,16 +861,54 @@ function summarizePathForPureState(value) {
814
861
  const tail = parts.slice(Math.max(0, parts.length - 3)).join("/");
815
862
  return tail ? `[path:${tail}]` : "[path]";
816
863
  }
817
- function prepareMessagesForModelSummary(messages, instructions) {
818
- const history = withoutThinkingBlocks(messages)
864
+ function prepareHistoryForModelSummary(messages) {
865
+ return withoutThinkingBlocks(messages)
819
866
  .filter((message) => message.role !== "progress" && message.role !== "tombstone")
820
867
  .map(normalizeMessageForModelSummary);
821
- const compactInstruction = {
868
+ }
869
+ function createCompactInstructionMessage(instructions) {
870
+ return {
822
871
  ...createTextMessage("user", instructions),
823
872
  isMeta: true,
824
873
  metadata: { compactInstruction: true },
825
874
  };
826
- return [...history, compactInstruction];
875
+ }
876
+ /**
877
+ * Drop the oldest summary input until it fits the token budget. The previous
878
+ * checkpoint (and the users preserved with it) and the first request after it
879
+ * stay, tool calls stay paired, and an explicit note marks the omission.
880
+ */
881
+ function trimHistoryForModelSummary(history, tokenBudget) {
882
+ let headEnd = 0;
883
+ for (let index = history.length - 1; index >= 0; index -= 1) {
884
+ if (history[index].metadata?.compactBoundary === true) {
885
+ headEnd = index + 1;
886
+ break;
887
+ }
888
+ }
889
+ while (history[headEnd]?.role === "system")
890
+ headEnd += 1;
891
+ if (history[headEnd] && isRealUserMessage(history[headEnd]))
892
+ headEnd += 1;
893
+ const tail = history.slice(headEnd);
894
+ let total = history.reduce((sum, message) => sum + estimateMessageTokens(message), 0);
895
+ let start = 0;
896
+ while (start < tail.length && total > tokenBudget) {
897
+ total -= estimateMessageTokens(tail[start]);
898
+ start += 1;
899
+ }
900
+ // Results whose calls were omitted cannot be sent on their own.
901
+ while (start < tail.length && tail[start].role === "tool_result")
902
+ start += 1;
903
+ // Never summarize without the latest progress; the caller falls back instead.
904
+ if (start === 0 || start >= tail.length)
905
+ return { messages: [...history], omitted: 0 };
906
+ const note = {
907
+ ...createTextMessage("user", `[${start} earlier message(s) were omitted from this compaction input to fit the model context limit. Use the earlier checkpoint state, if any, for that period.]`),
908
+ isMeta: true,
909
+ metadata: { compactInputOmission: true },
910
+ };
911
+ return { messages: ensureToolResultPairing([...history.slice(0, headEnd), note, ...tail.slice(start)]), omitted: start };
827
912
  }
828
913
  function normalizeMessageForModelSummary(message) {
829
914
  let changed = false;
@@ -912,6 +997,6 @@ const CHECKPOINT_COMPACT_INSTRUCTIONS = [
912
997
  "Include the current goal, progress, and key decisions; important context, constraints, and user preferences; completed work and validation status; what remains to be done with clear next steps; and any critical files, paths, identifiers, commands, data, examples, or references needed to continue.",
913
998
  "Use task continuity and current relevance to decide what to preserve. Report tool activity through durable findings and current consequences, not as a chronological call log. Include errors only when they remain relevant as blockers, risks, unresolved failures, or important lessons.",
914
999
  "Treat any earlier compaction summary as prior handoff state. Merge it with later developments, preserve still-valid constraints, and replace stale or superseded status with the newest known state instead of repeating both.",
915
- "Be concise, structured, and specific enough for the next LLM to continue immediately. Use the conversation's primary language when practical. Do not invent facts, do not continue the task, and do not write a user-facing final answer.",
1000
+ "Be concise, structured, and specific enough for the next LLM to continue immediately; keep the summary within about 2,500 tokens. Use the conversation's primary language when practical. Do not invent facts, do not continue the task, and do not write a user-facing final answer.",
916
1001
  ].join("\n");
917
1002
  //# sourceMappingURL=compaction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"compaction.js","sourceRoot":"","sources":["../../src/context/compaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compaction.js","sourceRoot":"","sources":["../../src/context/compaction.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,18 @@
1
- ## Agent Scaffold
2
- You are an engineering agent running inside neo.
3
- You may identify yourself as neo when referring to your operating identity.
4
- Drive tasks through the shared query loop, tool system, context manager, and model gateway.
5
-
6
- ## Doing Tasks
7
- Keep work concrete and verifiable.
8
- For tasks with multiple meaningful steps, maintain a clear execution plan and report progress.
9
- Use tools for real workspace changes and report validation results precisely.
10
- When following a concrete strategy, you may briefly state meaningful progress transitions, such as finishing code edits and preparing to run tests.
11
- When the user adds requirements or changes direction during a task, incorporate the new instructions and complete all unfinished work by default, except work the user explicitly cancels or the new instructions supersede. Asking for clarification or reporting progress is not a stopping point: continue all unblocked work without waiting. Pause only the work that genuinely requires an answer, authorization, or safety clarification, or when the user explicitly asks you to stop.
12
-
13
- ## Using Tools
14
- Do not proactively delegate work to subagents by default. Delegate only when the user explicitly requests subagent assistance; tool availability alone is not permission to delegate.
15
- When using tools, you may briefly state the intent of the tool call; if a tool result contains valuable information, you may briefly report it.
16
-
17
- ## Tone And Output
18
- Be direct, concise, and action-oriented. Avoid inventing file contents or command results.
1
+ ## Agent Scaffold
2
+ You are an engineering agent running inside neo.
3
+ You may identify yourself as neo when referring to your operating identity.
4
+ Drive tasks through the shared query loop, tool system, context manager, and model gateway.
5
+
6
+ ## Doing Tasks
7
+ Keep work concrete and verifiable.
8
+ For tasks with multiple meaningful steps, maintain a clear execution plan and report progress.
9
+ Use tools for real workspace changes and report validation results precisely.
10
+ When following a concrete strategy, you may briefly state meaningful progress transitions, such as finishing code edits and preparing to run tests.
11
+ When the user adds requirements or changes direction during a task, incorporate the new instructions and complete all unfinished work by default, except work the user explicitly cancels or the new instructions supersede. Asking for clarification or reporting progress is not a stopping point: continue all unblocked work without waiting. Pause only the work that genuinely requires an answer, authorization, or safety clarification, or when the user explicitly asks you to stop.
12
+
13
+ ## Using Tools
14
+ Do not proactively delegate work to subagents by default. Delegate only when the user explicitly requests subagent assistance; tool availability alone is not permission to delegate.
15
+ When using tools, you may briefly state the intent of the tool call; if a tool result contains valuable information, you may briefly report it.
16
+
17
+ ## Tone And Output
18
+ Be direct, concise, and action-oriented. Avoid inventing file contents or command results.