yuangs 6.9.22 → 6.9.24

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.
@@ -83,7 +83,9 @@ class StabilizationDetector {
83
83
  renderAndFinish(context, output, agentRenderer) {
84
84
  context.addMessage('assistant', output);
85
85
  if (agentRenderer) {
86
- agentRenderer.buffer = '';
86
+ // 将工具结果写入 buffer(而非清空),否则 finish() 在 quietMode 下
87
+ // 因 buffer 为空而不输出任何内容(工具结果只进了对话历史,终端看不到)。
88
+ agentRenderer.buffer = output;
87
89
  agentRenderer.quietMode = true;
88
90
  agentRenderer.finish();
89
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ExecutionStabilizer.js","sourceRoot":"","sources":["../../src/agent/ExecutionStabilizer.ts"],"names":[],"mappings":";;;AAGA;;;GAGG;AACH,MAAa,qBAAqB;IAChC,gEAAgE;IAChE,cAAc,CAAC,YAAmC,EAAE,gBAAwB;QAC1E,MAAM,UAAU,GAAG,YAAY,EAAE,UAAU,IAAI,EAAE,CAAC;QAClD,IAAI,CAAC,UAAU,IAAI,CAAC,gBAAgB;YAAE,OAAO,KAAK,CAAC;QAEnD,MAAM,UAAU,GAAG,GAAG,CAAC;QACvB,MAAM,UAAU,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QAC7D,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,UAAU,KAAK,UAAU,CAAC;QAE3C,MAAM,cAAc,GAClB,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,GAAG,EAAE;YAC1D,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAExD,OAAO,QAAQ,IAAI,cAAc,CAAC;IACpC,CAAC;IAED,sEAAsE;IACtE,kBAAkB,CAAC,MAAc,EAAE,SAAiB;QAClD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,OAAO,CAAC,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAE/D,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QAC7C,IAAI,SAAS,GAAG,EAAE;YAAE,OAAO,KAAK,CAAC;QAEjC,MAAM,CAAC,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QAElC,IAAI,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC/C,IAAI,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,CAAC;YACvD,IAAI,4BAA4B,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,CAAC;QAC9D,CAAC;QAED,IAAI,4BAA4B,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;QAE/E,IAAI,8BAA8B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,CAAC;QAChD,CAAC;QAED,IAAI,oCAAoC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE;YAAE,OAAO,IAAI,CAAC;QAEzH,IAAI,8BAA8B,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;QAEjF,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACxF,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,CAAC;QAC5C,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,qCAAqC;IACrC,mBAAmB,CAAC,MAAc,EAAE,SAAiB;QACnD,IAAI,MAAM,CAAC,MAAM,GAAG,IAAI;YAAE,OAAO,IAAI,CAAC;QACtC,IAAI,gDAAgD,CAAC,IAAI,CAAC,SAAS,CAAC;YAAE,OAAO,IAAI,CAAC;QAElF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAClC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACjE,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;gBAC3D,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;gBAC/D,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACzE,IAAI,MAAM,GAAG,KAAK,KAAK,CAAC,MAAM,QAAQ,CAAC;gBACvC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE;oBAAE,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;gBACtE,MAAM,IAAI,OAAO,IAAI,CAAC,MAAM,QAAQ,CAAC;gBACrC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE;oBAAE,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;gBACnE,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;QAE1B,IAAI,MAAM,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,MAAM,CAAC;QACjE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4CAA4C;IAC5C,eAAe,CACb,OAAgE,EAChE,MAAc,EACd,aAAiD;QAEjD,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QACxC,IAAI,aAAa,EAAE,CAAC;YACjB,aAAqB,CAAC,MAAM,GAAG,EAAE,CAAC;YAClC,aAAqB,CAAC,SAAS,GAAG,IAAI,CAAC;YACxC,aAAa,CAAC,MAAM,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IAED,yDAAyD;IACzD,WAAW,CAAC,aAAiD;QAC3D,IAAI,aAAa,EAAE,CAAC;YACjB,aAAqB,CAAC,MAAM,GAAG,EAAE,CAAC;YAClC,aAAqB,CAAC,SAAS,GAAG,IAAI,CAAC;YACxC,aAAa,CAAC,MAAM,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;CACF;AAjGD,sDAiGC"}
1
+ {"version":3,"file":"ExecutionStabilizer.js","sourceRoot":"","sources":["../../src/agent/ExecutionStabilizer.ts"],"names":[],"mappings":";;;AAGA;;;GAGG;AACH,MAAa,qBAAqB;IAChC,gEAAgE;IAChE,cAAc,CAAC,YAAmC,EAAE,gBAAwB;QAC1E,MAAM,UAAU,GAAG,YAAY,EAAE,UAAU,IAAI,EAAE,CAAC;QAClD,IAAI,CAAC,UAAU,IAAI,CAAC,gBAAgB;YAAE,OAAO,KAAK,CAAC;QAEnD,MAAM,UAAU,GAAG,GAAG,CAAC;QACvB,MAAM,UAAU,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QAC7D,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,UAAU,KAAK,UAAU,CAAC;QAE3C,MAAM,cAAc,GAClB,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,GAAG,EAAE;YAC1D,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAExD,OAAO,QAAQ,IAAI,cAAc,CAAC;IACpC,CAAC;IAED,sEAAsE;IACtE,kBAAkB,CAAC,MAAc,EAAE,SAAiB;QAClD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,OAAO,CAAC,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAE/D,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QAC7C,IAAI,SAAS,GAAG,EAAE;YAAE,OAAO,KAAK,CAAC;QAEjC,MAAM,CAAC,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QAElC,IAAI,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC/C,IAAI,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,CAAC;YACvD,IAAI,4BAA4B,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,CAAC;QAC9D,CAAC;QAED,IAAI,4BAA4B,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;QAE/E,IAAI,8BAA8B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,CAAC;QAChD,CAAC;QAED,IAAI,oCAAoC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE;YAAE,OAAO,IAAI,CAAC;QAEzH,IAAI,8BAA8B,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;QAEjF,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACxF,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,CAAC;QAC5C,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,qCAAqC;IACrC,mBAAmB,CAAC,MAAc,EAAE,SAAiB;QACnD,IAAI,MAAM,CAAC,MAAM,GAAG,IAAI;YAAE,OAAO,IAAI,CAAC;QACtC,IAAI,gDAAgD,CAAC,IAAI,CAAC,SAAS,CAAC;YAAE,OAAO,IAAI,CAAC;QAElF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAClC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACjE,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;gBAC3D,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;gBAC/D,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACzE,IAAI,MAAM,GAAG,KAAK,KAAK,CAAC,MAAM,QAAQ,CAAC;gBACvC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE;oBAAE,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;gBACtE,MAAM,IAAI,OAAO,IAAI,CAAC,MAAM,QAAQ,CAAC;gBACrC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE;oBAAE,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;gBACnE,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;QAE1B,IAAI,MAAM,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,MAAM,CAAC;QACjE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4CAA4C;IAC5C,eAAe,CACb,OAAgE,EAChE,MAAc,EACd,aAAiD;QAEjD,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QACxC,IAAI,aAAa,EAAE,CAAC;YAClB,iDAAiD;YACjD,0CAA0C;YACzC,aAAqB,CAAC,MAAM,GAAG,MAAM,CAAC;YACtC,aAAqB,CAAC,SAAS,GAAG,IAAI,CAAC;YACxC,aAAa,CAAC,MAAM,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IAED,yDAAyD;IACzD,WAAW,CAAC,aAAiD;QAC3D,IAAI,aAAa,EAAE,CAAC;YACjB,aAAqB,CAAC,MAAM,GAAG,EAAE,CAAC;YAClC,aAAqB,CAAC,SAAS,GAAG,IAAI,CAAC;YACxC,aAAa,CAAC,MAAM,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;CACF;AAnGD,sDAmGC"}
@@ -3,6 +3,7 @@ import type { AIRequestMessage } from '../core/validation';
3
3
  import { ContextManager } from './contextManager';
4
4
  export declare class LLMAdapter {
5
5
  static think(messages: AIRequestMessage[], mode?: 'chat' | 'command' | 'command+exec', onChunk?: (chunk: string, type?: 'thought' | 'json') => void, model?: string, customSystemPrompt?: string, contextManager?: ContextManager): Promise<AgentThought>;
6
+ private static VALID_ACTION_TYPES;
6
7
  static parseThought(raw: string): AgentThought;
7
8
  /**
8
9
  * 从 AI 响应中鲁棒地提取 JSON
@@ -10,20 +10,26 @@ const json5_1 = __importDefault(require("json5"));
10
10
  const protocolV2_2_1 = require("./protocolV2_2");
11
11
  class LLMAdapter {
12
12
  static async think(messages, mode = 'chat', onChunk, model, customSystemPrompt, contextManager) {
13
- const v2Config = {
14
- mode: mode === 'chat' ? 'chat' : 'command',
15
- enableStrictOutput: mode !== 'chat',
16
- enableReasoningTrace: true
17
- };
18
- let protocol = (0, protocolV2_2_1.buildV2_3ProtocolPrompt)(v2Config);
19
- const outputConstraints = (0, protocolV2_2_1.buildOutputConstraints)();
20
- protocol += `\n${outputConstraints}`;
21
- if (mode === 'command' || mode === 'command+exec') {
22
- protocol += `\n\nCOMMAND MODE ACTIVE:
13
+ // chat 模式使用轻量 chat prompt(通用助手 + 默认直接回答,不输出 PHASE 标签);
14
+ // command/workflow/replanning 模式沿用完整 agent 协议。
15
+ const protocol = mode === 'chat'
16
+ ? (0, protocolV2_2_1.buildChatProtocolPrompt)()
17
+ : (() => {
18
+ const v2Config = {
19
+ mode: 'command',
20
+ enableStrictOutput: true,
21
+ enableReasoningTrace: true
22
+ };
23
+ let p = (0, protocolV2_2_1.buildV2_3ProtocolPrompt)(v2Config);
24
+ p += `\n${(0, protocolV2_2_1.buildOutputConstraints)()}`;
25
+ if (mode === 'command' || mode === 'command+exec') {
26
+ p += `\n\nCOMMAND MODE ACTIVE:
23
27
  - Prioritize "shell_cmd" for any terminal-based task.
24
28
  - Minimize "answer" type unless task is purely conversational.
25
29
  - Direct execution is expected.`;
26
- }
30
+ }
31
+ return p;
32
+ })();
27
33
  const prompt = {
28
34
  system: customSystemPrompt ? `${protocol}\n\nGOVERNANCE POLICY:\n${customSystemPrompt}` : protocol,
29
35
  messages,
@@ -42,63 +48,81 @@ class LLMAdapter {
42
48
  thought.usedRouter = result.usedRouter;
43
49
  return thought;
44
50
  }
51
+ // 合法 action_type(与 state.ts ProposedAction.type / llm.ts AgentActionSchema 一致)
52
+ static VALID_ACTION_TYPES = new Set(['tool_call', 'shell_cmd', 'answer', 'code_diff']);
45
53
  static parseThought(raw) {
46
54
  // CoT V2.3: 提取 PHASE 1: THINK 块或 [THOUGHT] 块
47
55
  const thoughtMatch = raw.match(/\[PHASE 1: THINK - 深度推理\]([\s\S]*?)\[PHASE 2/) ||
48
56
  raw.match(/\[THOUGHT\]([\s\S]*?)\[\/THOUGHT\]/);
49
57
  const thoughtContent = thoughtMatch ? thoughtMatch[1].trim() : '';
50
58
  const parsed = this.extractJSON(raw);
51
- if (parsed) {
52
- // 如果明确标记为 done,或者动作为 answer,则视为任务结束
53
- if (parsed.is_done === true || parsed.action_type === 'answer') {
54
- return {
55
- raw,
56
- parsedPlan: parsed,
57
- isDone: true,
58
- type: 'answer',
59
- payload: {
60
- content: parsed.final_answer || parsed.content || parsed.text || raw
61
- },
62
- reasoning: thoughtContent
63
- };
64
- }
65
- // 智能推断动作类型:如果 AI 没给 action_type,我们根据字段猜测
66
- let inferredType = parsed.action_type;
67
- if (!inferredType) {
68
- if (parsed.tool_name || parsed.tool)
69
- inferredType = 'tool_call';
70
- else if (parsed.command || parsed.cmd)
71
- inferredType = 'shell_cmd';
72
- else if (parsed.diff || parsed.patch)
73
- inferredType = 'code_diff';
74
- else
75
- inferredType = 'answer';
76
- }
59
+ if (!parsed) {
60
+ // 解析失败时,回退到将原始内容作为回答
61
+ return {
62
+ raw,
63
+ parsedPlan: {},
64
+ isDone: true,
65
+ type: 'answer',
66
+ payload: { content: raw },
67
+ reasoning: ''
68
+ };
69
+ }
70
+ // === 校正 action_type ===
71
+ // 弱模型常见错误:把工具名当 action_type(如 "action_type":"search_in_files"),或给出非法值。
72
+ // 统一兜底,避免非法 type 把"本应直接回答"拖入工具死循环。
73
+ const rawActionType = parsed.action_type;
74
+ const hasTool = !!(parsed.tool_name || parsed.tool);
75
+ const hasCommand = !!(parsed.command || parsed.cmd);
76
+ const hasDiff = !!(parsed.diff || parsed.patch);
77
+ let inferredType;
78
+ if (typeof rawActionType === 'string' && LLMAdapter.VALID_ACTION_TYPES.has(rawActionType)) {
79
+ inferredType = rawActionType;
80
+ }
81
+ else if (hasTool) {
82
+ inferredType = 'tool_call';
83
+ }
84
+ else if (hasCommand) {
85
+ inferredType = 'shell_cmd';
86
+ }
87
+ else if (hasDiff) {
88
+ inferredType = 'code_diff';
89
+ }
90
+ else {
91
+ inferredType = 'answer';
92
+ }
93
+ // 合法但语义矛盾:声明要调工具/执行命令,却缺少必要字段 → 当作回答,避免执行失败死循环
94
+ if (inferredType === 'tool_call' && !hasTool)
95
+ inferredType = 'answer';
96
+ if (inferredType === 'shell_cmd' && !hasCommand)
97
+ inferredType = 'answer';
98
+ // 明确 answer 或 is_done → 任务结束
99
+ if (parsed.is_done === true || inferredType === 'answer') {
77
100
  return {
78
101
  raw,
79
102
  parsedPlan: parsed,
80
- isDone: inferredType === 'answer' || parsed.is_done === true,
81
- type: inferredType,
103
+ isDone: true,
104
+ type: 'answer',
82
105
  payload: {
83
- tool_name: parsed.tool_name || parsed.tool || '',
84
- parameters: parsed.parameters || parsed.params || {},
85
- command: parsed.command || parsed.cmd || '',
86
- diff: parsed.diff || parsed.patch || '',
87
- content: parsed.content || parsed.text || '',
88
- risk_level: parsed.risk_level || 'low',
89
- risk_explanation: parsed.risk_explanation || ''
106
+ content: parsed.final_answer || parsed.content || parsed.text || raw
90
107
  },
91
108
  reasoning: thoughtContent
92
109
  };
93
110
  }
94
- // 解析失败时,回退到将原始内容作为回答
95
111
  return {
96
112
  raw,
97
- parsedPlan: {},
98
- isDone: true,
99
- type: 'answer',
100
- payload: { content: raw },
101
- reasoning: ''
113
+ parsedPlan: parsed,
114
+ isDone: false,
115
+ type: inferredType,
116
+ payload: {
117
+ tool_name: parsed.tool_name || parsed.tool || '',
118
+ parameters: parsed.parameters || parsed.params || {},
119
+ command: parsed.command || parsed.cmd || '',
120
+ diff: parsed.diff || parsed.patch || '',
121
+ content: parsed.content || parsed.text || '',
122
+ risk_level: parsed.risk_level || 'low',
123
+ risk_explanation: parsed.risk_explanation || ''
124
+ },
125
+ reasoning: thoughtContent
102
126
  };
103
127
  }
104
128
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"llmAdapter.js","sourceRoot":"","sources":["../../src/agent/llmAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llmAdapter.js","sourceRoot":"","sources":["../../src/agent/llmAdapter.ts"],"names":[],"mappings":"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"}
@@ -19,3 +19,15 @@ export declare function buildOutputConstraints(): string;
19
19
  * 构建动态上下文注入模板
20
20
  */
21
21
  export declare function buildDynamicContextTemplate(): string;
22
+ /**
23
+ * 轻量 CHAT 模式 Prompt(通用助手 + 默认直接回答)
24
+ *
25
+ * 与 buildV2_3ProtocolPrompt 的关键差异:
26
+ * - 身份通用化(不再以"技术助手"自我设限);
27
+ * - 明确"默认直接 answer,不调工具"的规则,避免把知识问题误判为工具任务;
28
+ * - 不输出 [PHASE ...] 阶段标签(chat 推理内联);
29
+ * - 内联精简工具列表,不加载重型 JSON Schema(弱模型看长 schema 反被诱导调工具)。
30
+ *
31
+ * 仅用于 mode === 'chat'。command/workflow/replanning 仍走 buildV2_3ProtocolPrompt。
32
+ */
33
+ export declare function buildChatProtocolPrompt(): string;
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.buildV2_3ProtocolPrompt = buildV2_3ProtocolPrompt;
8
8
  exports.buildOutputConstraints = buildOutputConstraints;
9
9
  exports.buildDynamicContextTemplate = buildDynamicContextTemplate;
10
+ exports.buildChatProtocolPrompt = buildChatProtocolPrompt;
10
11
  const toolCapability_1 = require("./toolCapability");
11
12
  /**
12
13
  * 构建完整的 V2.3 协议 Prompt
@@ -248,4 +249,102 @@ function buildDynamicContextTemplate() {
248
249
  - 查看错误日志。
249
250
  `;
250
251
  }
252
+ /**
253
+ * 轻量 CHAT 模式 Prompt(通用助手 + 默认直接回答)
254
+ *
255
+ * 与 buildV2_3ProtocolPrompt 的关键差异:
256
+ * - 身份通用化(不再以"技术助手"自我设限);
257
+ * - 明确"默认直接 answer,不调工具"的规则,避免把知识问题误判为工具任务;
258
+ * - 不输出 [PHASE ...] 阶段标签(chat 推理内联);
259
+ * - 内联精简工具列表,不加载重型 JSON Schema(弱模型看长 schema 反被诱导调工具)。
260
+ *
261
+ * 仅用于 mode === 'chat'。command/workflow/replanning 仍走 buildV2_3ProtocolPrompt。
262
+ */
263
+ function buildChatProtocolPrompt() {
264
+ return `[CHAT MODE PROTOCOL]
265
+
266
+ 你是一个通用 AI 助手。你可以回答任何领域的问题,包括但不限于:知识问答、写作、翻译、解释、
267
+ 分析、闲聊,以及编程、文件操作、Git、命令行等技术任务。你不限于"技术助手"——遇到任何问题,
268
+ 请用自己的知识直接回答。
269
+
270
+ === 最重要的规则(必须严格遵守)===
271
+
272
+ 1. **默认直接回答,不要调用工具。** 对能用自己知识回答的问题,直接输出 JSON 回答,不调任何工具,
273
+ 不套用任何流程框架,不输出 [PHASE ...] 之类的阶段标签。一律直接 answer 的情况:
274
+ - 知识问答(如"Linux 的作用""什么是闭包""光合作用原理")
275
+ - 写作与创作(如"写一首诗""详细介绍 X,不少于 N 字""帮我写封邮件")
276
+ - 解释与教学、翻译、总结、头脑风暴、建议、观点、闲聊
277
+ - 用户说"继续""接着说""详细讲讲":基于上一轮对话直接继续,不要拒绝、不要搜索。
278
+ - 严格满足用户明确要求的篇幅/字数/条数:若要求"不少于 N 字""详细介绍""分 N 点",必须给出充分展开、详尽完整的长回答,不要简短敷衍。
279
+
280
+ 2. **只有当问题确实需要操作用户本地环境时,才调用工具。**
281
+ - 读取/查看/分析用户指定的具体文件 → read_file
282
+ - 在项目里搜索代码/文本 → search_in_files / search_symbol
283
+ - 查看或操作 Git → git_status / git_diff / git_log
284
+ - 执行 shell 命令、运行测试、构建 → shell_cmd
285
+ - 写入/修改文件 → write_file
286
+ 只要问题不涉及"本地文件/命令行/Git/项目代码",就一定不要调工具。
287
+
288
+ 3. **不要把整句话当搜索词。** 只有用户明确要在文件里找东西时才搜索,且用关键词,不要把自然语言提问原样塞进 pattern。
289
+
290
+ === 输出格式(唯一允许的格式)===
291
+
292
+ 每次只输出一个 JSON 对象,不要输出 JSON 之外的文字、代码块标记或阶段标签。
293
+
294
+ 情况 A —— 直接回答(绝大多数情况,优先使用):
295
+ {
296
+ "action_type": "answer",
297
+ "content": "你的完整回答,支持 Markdown,可以很长",
298
+ "is_done": true,
299
+ "risk_level": "low"
300
+ }
301
+
302
+ 情况 B —— 调用工具(仅当确实要操作本地环境):
303
+ {
304
+ "action_type": "tool_call",
305
+ "tool_name": "工具名",
306
+ "parameters": { "参数": "值" },
307
+ "risk_level": "low"
308
+ }
309
+
310
+ (可选)执行 shell 命令:
311
+ {
312
+ "action_type": "shell_cmd",
313
+ "command": "命令",
314
+ "risk_level": "medium"
315
+ }
316
+
317
+ === 可用工具(仅在确实需要时使用)===
318
+
319
+ read_file / read_file_lines / read_file_lines_from_end:读取文件内容
320
+ list_files / list_directory_tree:列出目录与项目结构
321
+ search_in_files:在文件中搜索文本(类似 grep);search_symbol:搜索代码符号(函数/类/接口)
322
+ write_file / append_file:写入或追加文件
323
+ git_status / git_diff / git_log:查看 Git 状态/差异/历史
324
+ shell_cmd:执行 shell 命令(危险命令会被拦截)
325
+ file_info:查看文件元信息
326
+
327
+ === 示例 ===
328
+
329
+ 用户:"Linux 的作用有哪些,详细介绍,不少于3000字"
330
+ 你的输出(直接 answer,不调任何工具,不输出 PHASE 标签):
331
+ { "action_type": "answer", "content": "Linux 是一个开源的类 Unix 操作系统内核……(详细长文)", "is_done": true, "risk_level": "low" }
332
+
333
+ 用户:"继续"
334
+ 你的输出(基于上一轮继续,不拒绝、不搜索):
335
+ { "action_type": "answer", "content": "(接着上一轮的内容继续详细展开)", "is_done": true, "risk_level": "low" }
336
+
337
+ 用户:"读一下 package.json"
338
+ 你的输出(确实要读文件,调工具):
339
+ { "action_type": "tool_call", "tool_name": "read_file", "parameters": { "path": "package.json" }, "risk_level": "low" }
340
+
341
+ 用户:"现在改了哪些文件"
342
+ 你的输出(要查 Git):
343
+ { "action_type": "tool_call", "tool_name": "git_status", "parameters": {}, "risk_level": "low" }
344
+
345
+ === 安全约束 ===
346
+ - risk_level: low(只读)/ medium(写文件、常规 git 操作)/ high(rm、sudo、git reset --hard 等危险操作)
347
+ - 语言:除非用户特别要求,否则主要使用中文。
348
+ `;
349
+ }
251
350
  //# sourceMappingURL=protocolV2_2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"protocolV2_2.js","sourceRoot":"","sources":["../../src/agent/protocolV2_2.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAaH,0DAsGC;AAqHD,wDAOC;AAKD,kEAeC;AAjQD,qDAAiE;AAQjE;;GAEG;AACH,SAAgB,uBAAuB,CAAC,MAA0B;IAChE,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+CtB,CAAC;IAEA,YAAY;IACZ,MAAM,eAAe,GAAG,IAAA,8CAA6B,GAAE,CAAC;IAExD,OAAO;IACP,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CxB,CAAC;IAEA,MAAM,YAAY,GAAG,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAExD,OAAO,GAAG,YAAY,KAAK,eAAe,KAAK,cAAc,KAAK,YAAY,EAAE,CAAC;AACnF,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,IAAY;IACzC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,MAAM;YACT,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkFZ,CAAC;QAEE,KAAK,UAAU,CAAC;QAChB,KAAK,SAAS;YACZ,OAAO;;;;;CAKZ,CAAC;QAEE,KAAK,YAAY;YACf,OAAO;;;;;CAKZ,CAAC;QAEE;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,sBAAsB;IACpC,OAAO;;;;;CAKR,CAAC;AACF,CAAC;AAED;;GAEG;AACH,SAAgB,2BAA2B;IACzC,OAAO;;;;;;;;;;;;;CAaR,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"protocolV2_2.js","sourceRoot":"","sources":["../../src/agent/protocolV2_2.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAaH,0DAsGC;AAqHD,wDAOC;AAKD,kEAeC;AAaD,0DAsFC;AApWD,qDAAiE;AAQjE;;GAEG;AACH,SAAgB,uBAAuB,CAAC,MAA0B;IAChE,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+CtB,CAAC;IAEA,YAAY;IACZ,MAAM,eAAe,GAAG,IAAA,8CAA6B,GAAE,CAAC;IAExD,OAAO;IACP,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CxB,CAAC;IAEA,MAAM,YAAY,GAAG,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAExD,OAAO,GAAG,YAAY,KAAK,eAAe,KAAK,cAAc,KAAK,YAAY,EAAE,CAAC;AACnF,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,IAAY;IACzC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,MAAM;YACT,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkFZ,CAAC;QAEE,KAAK,UAAU,CAAC;QAChB,KAAK,SAAS;YACZ,OAAO;;;;;CAKZ,CAAC;QAEE,KAAK,YAAY;YACf,OAAO;;;;;CAKZ,CAAC;QAEE;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,sBAAsB;IACpC,OAAO;;;;;CAKR,CAAC;AACF,CAAC;AAED;;GAEG;AACH,SAAgB,2BAA2B;IACzC,OAAO;;;;;;;;;;;;;CAaR,CAAC;AACF,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,uBAAuB;IACrC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoFR,CAAC;AACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "yuangs",
3
- "version": "6.9.22",
3
+ "version": "6.9.24",
4
4
  "description": "苑广山的个人应用集合 CLI(彩色版)",
5
5
  "author": "苑广山",
6
6
  "license": "ISC",
@@ -1 +0,0 @@
1
- {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/agent/prompt.ts"],"names":[],"mappings":"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"}