yuangs 5.50.0 → 5.52.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent/codeSummary.js +17 -1
- package/dist/agent/codeSummary.js.map +1 -1
- package/dist/agent/errorHandling.d.ts +4 -0
- package/dist/agent/errorHandling.js +39 -26
- package/dist/agent/errorHandling.js.map +1 -1
- package/dist/agent/llmAdapter.js +6 -3
- package/dist/agent/llmAdapter.js.map +1 -1
- package/dist/agent/prompt.js +4 -4
- package/dist/agent/prompt.js.map +1 -1
- package/dist/agent/protocolV2_2.d.ts +6 -7
- package/dist/agent/protocolV2_2.js +44 -154
- package/dist/agent/protocolV2_2.js.map +1 -1
- package/dist/agent/smartContextManager.d.ts +1 -0
- package/dist/agent/smartContextManager.js +20 -1
- package/dist/agent/smartContextManager.js.map +1 -1
- package/dist/cli.js +3 -3
- package/dist/cli.js.map +1 -1
- package/dist/commands/contextBuffer.d.ts +6 -0
- package/dist/commands/contextBuffer.js +12 -2
- package/dist/commands/contextBuffer.js.map +1 -1
- package/dist/commands/git/auto.js +171 -1
- package/dist/commands/git/auto.js.map +1 -1
- package/dist/commands/git/utils.js +6 -6
- package/dist/commands/git/utils.js.map +1 -1
- package/dist/commands/handleAIChat.js +23 -6
- package/dist/commands/handleAIChat.js.map +1 -1
- package/dist/core/capability/CapabilityLevel.d.ts +31 -0
- package/dist/core/capability/CapabilityLevel.js +80 -0
- package/dist/core/capability/CapabilityLevel.js.map +1 -1
- package/dist/core/fileReader.d.ts +6 -1
- package/dist/core/fileReader.js +54 -1
- package/dist/core/fileReader.js.map +1 -1
- package/dist/core/git/CodeReviewer.d.ts +1 -0
- package/dist/core/git/CodeReviewer.js +13 -1
- package/dist/core/git/CodeReviewer.js.map +1 -1
- package/dist/core/git/ConflictResolver.d.ts +15 -0
- package/dist/core/git/ConflictResolver.js +110 -54
- package/dist/core/git/ConflictResolver.js.map +1 -1
- package/dist/core/git/ContextGatherer.js +38 -16
- package/dist/core/git/ContextGatherer.js.map +1 -1
- package/dist/core/git/InteractiveReview.d.ts +33 -0
- package/dist/core/git/InteractiveReview.js +296 -0
- package/dist/core/git/InteractiveReview.js.map +1 -0
- package/dist/core/git/ReviewCache.d.ts +53 -0
- package/dist/core/git/ReviewCache.js +392 -0
- package/dist/core/git/ReviewCache.js.map +1 -0
- package/dist/core/git/semantic/SemanticDiffEngine.js +6 -6
- package/dist/core/git/semantic/SemanticDiffEngine.js.map +1 -1
- package/dist/core/workflows/AutoWorkflow.js +24 -8
- package/dist/core/workflows/AutoWorkflow.js.map +1 -1
- package/dist/core/workflows/GitWorkflowSession.d.ts +7 -0
- package/dist/core/workflows/GitWorkflowSession.js +16 -0
- package/dist/core/workflows/GitWorkflowSession.js.map +1 -1
- package/dist/core/workflows/PlanWorkflow.js +4 -0
- package/dist/core/workflows/PlanWorkflow.js.map +1 -1
- package/dist/utils/renderer.js +23 -21
- package/dist/utils/renderer.js.map +1 -1
- package/dist/utils/syntaxHandler.js +1 -1
- package/dist/utils/syntaxHandler.js.map +1 -1
- package/package.json +1 -1
|
@@ -155,9 +155,25 @@ function extractPythonSymbols(lines, symbols) {
|
|
|
155
155
|
});
|
|
156
156
|
}
|
|
157
157
|
function extractGoSymbols(lines, symbols) {
|
|
158
|
+
let inImportBlock = false;
|
|
158
159
|
lines.forEach((line, index) => {
|
|
159
160
|
const lineNum = index + 1;
|
|
160
161
|
const trimmed = line.trim();
|
|
162
|
+
if (trimmed === 'import (') {
|
|
163
|
+
inImportBlock = true;
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
if (inImportBlock && trimmed === ')') {
|
|
167
|
+
inImportBlock = false;
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
if (inImportBlock && trimmed.startsWith('"')) {
|
|
171
|
+
symbols.push({
|
|
172
|
+
name: trimmed.replace(/"/g, ''),
|
|
173
|
+
type: 'import',
|
|
174
|
+
line: lineNum
|
|
175
|
+
});
|
|
176
|
+
}
|
|
161
177
|
if (trimmed.startsWith('import ')) {
|
|
162
178
|
symbols.push({
|
|
163
179
|
name: trimmed,
|
|
@@ -227,7 +243,7 @@ function extractJavaSymbols(lines, symbols) {
|
|
|
227
243
|
line: lineNum
|
|
228
244
|
});
|
|
229
245
|
}
|
|
230
|
-
const classMatch = trimmed.match(/^class\s+(\w+)/);
|
|
246
|
+
const classMatch = trimmed.match(/^(?:public|private|protected|static|\s)*class\s+(\w+)/);
|
|
231
247
|
if (classMatch) {
|
|
232
248
|
symbols.push({
|
|
233
249
|
name: classMatch[1],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codeSummary.js","sourceRoot":"","sources":["../../src/agent/codeSummary.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,wCA+BC;
|
|
1
|
+
{"version":3,"file":"codeSummary.js","sourceRoot":"","sources":["../../src/agent/codeSummary.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* 智能处理LLM调用失败,提供自动重试和替代方案
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.isRetryableError = isRetryableError;
|
|
7
8
|
exports.withRetry = withRetry;
|
|
8
9
|
exports.withAlternatives = withAlternatives;
|
|
9
10
|
exports.generateErrorExplanation = generateErrorExplanation;
|
|
@@ -100,34 +101,34 @@ async function withAlternatives(primary, alternatives, config = {}) {
|
|
|
100
101
|
// 先尝试主要策略(带重试)
|
|
101
102
|
const primaryResult = await withRetry(primary, config);
|
|
102
103
|
if (primaryResult.success) {
|
|
103
|
-
return
|
|
104
|
+
return {
|
|
105
|
+
...primaryResult,
|
|
106
|
+
fallbackUsed: false
|
|
107
|
+
};
|
|
104
108
|
}
|
|
105
109
|
// 主策略失败,尝试替代方案
|
|
106
110
|
console.log(`[替代方案] 主策略失败,尝试${alternatives.length}个替代方案...`);
|
|
111
|
+
let totalAttempts = primaryResult.attempts;
|
|
107
112
|
for (const alternative of alternatives) {
|
|
108
113
|
console.log(`[替代方案] 尝试: ${alternative.name} - ${alternative.description}`);
|
|
109
|
-
|
|
110
|
-
|
|
114
|
+
// 对每个替代方案也进行重试
|
|
115
|
+
const altResult = await withRetry(alternative.execute, config);
|
|
116
|
+
totalAttempts += altResult.attempts;
|
|
117
|
+
if (altResult.success) {
|
|
111
118
|
return {
|
|
112
119
|
success: true,
|
|
113
|
-
data,
|
|
114
|
-
attempts:
|
|
115
|
-
totalDuration: primaryResult.totalDuration,
|
|
120
|
+
data: altResult.data,
|
|
121
|
+
attempts: totalAttempts,
|
|
122
|
+
totalDuration: primaryResult.totalDuration + altResult.totalDuration,
|
|
116
123
|
fallbackUsed: true,
|
|
117
124
|
};
|
|
118
125
|
}
|
|
119
|
-
catch (error) {
|
|
120
|
-
const errorMsg = error instanceof Error && typeof error.message === 'string'
|
|
121
|
-
? error.message
|
|
122
|
-
: String(error);
|
|
123
|
-
console.log(`[替代方案] ${alternative.name} 失败: ${errorMsg}`);
|
|
124
|
-
}
|
|
125
126
|
}
|
|
126
127
|
// 所有方案都失败
|
|
127
128
|
return {
|
|
128
129
|
success: false,
|
|
129
130
|
error: new Error('所有执行方案均失败'),
|
|
130
|
-
attempts:
|
|
131
|
+
attempts: totalAttempts,
|
|
131
132
|
totalDuration: primaryResult.totalDuration,
|
|
132
133
|
lastError: primaryResult.lastError,
|
|
133
134
|
fallbackUsed: true,
|
|
@@ -137,30 +138,42 @@ async function withAlternatives(primary, alternatives, config = {}) {
|
|
|
137
138
|
* 生成错误解释
|
|
138
139
|
*/
|
|
139
140
|
function generateErrorExplanation(error, context = '') {
|
|
141
|
+
// Safely extract error message
|
|
142
|
+
let errorMessage = '';
|
|
143
|
+
if (typeof error.message === 'string') {
|
|
144
|
+
errorMessage = error.message;
|
|
145
|
+
}
|
|
146
|
+
else if (typeof error === 'string') {
|
|
147
|
+
errorMessage = error;
|
|
148
|
+
}
|
|
149
|
+
const lowerMessage = errorMessage.toLowerCase();
|
|
150
|
+
// Rate limit errors
|
|
151
|
+
if (lowerMessage.includes('rate limit')) {
|
|
152
|
+
return `❌ 错误类型: rate limit\nAPI调用频率超限。请稍后重试,或考虑升级API计划以获得更高的速率限制${context ? '\n\n上下文: ' + context : ''}`;
|
|
153
|
+
}
|
|
154
|
+
// Authentication errors
|
|
155
|
+
if (lowerMessage.includes('authentication')) {
|
|
156
|
+
return `❌ 错误类型: authentication\n认证失败。请检查API密钥或认证凭证${context ? '\n\n上下文: ' + context : ''}`;
|
|
157
|
+
}
|
|
158
|
+
// Context length errors
|
|
159
|
+
if (lowerMessage.includes('context length')) {
|
|
160
|
+
return `❌ 错误类型: context length\n上下文长度超限。请减少输入内容或使用更短的Prompt${context ? '\n\n上下文: ' + context : ''}`;
|
|
161
|
+
}
|
|
162
|
+
// 429 errors
|
|
163
|
+
if (lowerMessage.includes('429')) {
|
|
164
|
+
return `❌ 错误类型: 429\n请求过多。超过了API的速率限制,请等待一段时间后重试${context ? '\n\n上下文: ' + context : ''}`;
|
|
165
|
+
}
|
|
140
166
|
const explanations = {
|
|
141
167
|
network: '网络连接失败。请检查:1. 网络连接是否正常 2. 防火墙设置 3. 代理配置',
|
|
142
168
|
timeout: '请求超时。可能原因:1. 网络延迟 2. 服务器响应慢 3. 请求处理时间过长',
|
|
143
|
-
'rate limit': 'API调用频率超限。请稍后重试,或考虑升级API计划以获得更高的速率限制',
|
|
144
169
|
'econnreset': '连接被重置。可能是网络不稳定或服务器暂时不可用',
|
|
145
170
|
'etimedout': '连接超时。请检查网络连接和服务器状态',
|
|
146
171
|
'503': '服务暂时不可用。服务器可能正在维护或过载,请稍后重试',
|
|
147
172
|
'502': '网关错误。服务器返回了无效的响应,请稍后重试',
|
|
148
|
-
'429': '请求过多。超过了API的速率限制,请等待一段时间后重试',
|
|
149
173
|
'enotfound': '主机未找到。请检查:1. 域名拼写 2. DNS配置 3. 网络连接',
|
|
150
|
-
'authentication': '认证失败。请检查API密钥或认证凭证',
|
|
151
174
|
'authorization': '授权失败。您可能没有执行此操作的权限',
|
|
152
175
|
'invalid request': '请求无效。请检查请求格式和参数',
|
|
153
|
-
'context length': '上下文长度超限。请减少输入内容或使用更短的Prompt',
|
|
154
176
|
};
|
|
155
|
-
// Safely extract error message
|
|
156
|
-
let errorMessage = '';
|
|
157
|
-
if (typeof error.message === 'string') {
|
|
158
|
-
errorMessage = error.message;
|
|
159
|
-
}
|
|
160
|
-
else if (typeof error === 'string') {
|
|
161
|
-
errorMessage = error;
|
|
162
|
-
}
|
|
163
|
-
const lowerMessage = errorMessage.toLowerCase();
|
|
164
177
|
// 查找匹配的错误解释
|
|
165
178
|
for (const [key, explanation] of Object.entries(explanations)) {
|
|
166
179
|
if (errorMessage.includes(key.toLowerCase())) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errorHandling.js","sourceRoot":"","sources":["../../src/agent/errorHandling.ts"],"names":[],"mappings":";AAAA;;;GAGG;;
|
|
1
|
+
{"version":3,"file":"errorHandling.js","sourceRoot":"","sources":["../../src/agent/errorHandling.ts"],"names":[],"mappings":"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"}
|
package/dist/agent/llmAdapter.js
CHANGED
|
@@ -15,7 +15,9 @@ class LLMAdapter {
|
|
|
15
15
|
enableStrictOutput: mode !== 'chat',
|
|
16
16
|
enableReasoningTrace: true
|
|
17
17
|
};
|
|
18
|
-
let protocol = (0, protocolV2_2_1.
|
|
18
|
+
let protocol = (0, protocolV2_2_1.buildV2_3ProtocolPrompt)(v2Config);
|
|
19
|
+
const outputConstraints = (0, protocolV2_2_1.buildOutputConstraints)();
|
|
20
|
+
protocol += `\n${outputConstraints}`;
|
|
19
21
|
if (mode === 'command' || mode === 'command+exec') {
|
|
20
22
|
protocol += `\n\nCOMMAND MODE ACTIVE:
|
|
21
23
|
- Prioritize "shell_cmd" for any terminal-based task.
|
|
@@ -42,8 +44,9 @@ class LLMAdapter {
|
|
|
42
44
|
}
|
|
43
45
|
static parseThought(raw) {
|
|
44
46
|
try {
|
|
45
|
-
// CoT V2.
|
|
46
|
-
const thoughtMatch = raw.match(/\[
|
|
47
|
+
// CoT V2.3: 提取 PHASE 1: THINK 块或 [THOUGHT] 块
|
|
48
|
+
const thoughtMatch = raw.match(/\[PHASE 1: THINK - 深度推理\]([\s\S]*?)\[PHASE 2/) ||
|
|
49
|
+
raw.match(/\[THOUGHT\]([\s\S]*?)\[\/THOUGHT\]/);
|
|
47
50
|
const jsonMatch = raw.match(/```json\n([\s\S]*?)\n```/) || raw.match(/\{[\s\S]*\}/);
|
|
48
51
|
if (jsonMatch) {
|
|
49
52
|
const parsed = json5_1.default.parse(jsonMatch[1] || jsonMatch[0]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llmAdapter.js","sourceRoot":"","sources":["../../src/agent/llmAdapter.ts"],"names":[],"mappings":";;;;;;AACA,+BAA+B;AAG/B,yCAA6C;AAC7C,kDAA0B;AAE1B,
|
|
1
|
+
{"version":3,"file":"llmAdapter.js","sourceRoot":"","sources":["../../src/agent/llmAdapter.ts"],"names":[],"mappings":"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"}
|
package/dist/agent/prompt.js
CHANGED
|
@@ -28,11 +28,11 @@ function buildChatPrompt(context, input) {
|
|
|
28
28
|
content: input,
|
|
29
29
|
});
|
|
30
30
|
const v2Config = {
|
|
31
|
-
mode: 'chat',
|
|
31
|
+
mode: input.includes('#protocol') ? 'workflow' : 'chat',
|
|
32
32
|
enableStrictOutput: false,
|
|
33
33
|
enableReasoningTrace: true
|
|
34
34
|
};
|
|
35
|
-
const baseSystemPrompt = (0, protocolV2_2_1.
|
|
35
|
+
const baseSystemPrompt = (0, protocolV2_2_1.buildV2_3ProtocolPrompt)(v2Config);
|
|
36
36
|
const outputConstraints = (0, protocolV2_2_1.buildOutputConstraints)();
|
|
37
37
|
const dynamicContext = {};
|
|
38
38
|
const systemPrompt = (0, dynamicPrompt_1.injectDynamicContext)(`${baseSystemPrompt}\n${outputConstraints}`, dynamicContext);
|
|
@@ -51,11 +51,11 @@ function buildCommandPromptObject(input, context) {
|
|
|
51
51
|
promptText = `【参考技能库】\n${skillList}\n\n${promptText}`;
|
|
52
52
|
}
|
|
53
53
|
const v2Config = {
|
|
54
|
-
mode: 'command',
|
|
54
|
+
mode: input.includes('#chat') ? 'chat' : 'command',
|
|
55
55
|
enableStrictOutput: true,
|
|
56
56
|
enableReasoningTrace: true
|
|
57
57
|
};
|
|
58
|
-
const systemPrompt = (0, protocolV2_2_1.
|
|
58
|
+
const systemPrompt = (0, protocolV2_2_1.buildV2_3ProtocolPrompt)(v2Config);
|
|
59
59
|
return {
|
|
60
60
|
system: systemPrompt,
|
|
61
61
|
messages: [
|
package/dist/agent/prompt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/agent/prompt.ts"],"names":[],"mappings":";;AAsBA,kCAWC;AA3BD,yCAA8E;AAC9E,mCAA0C;AAC1C,2CAA2C;AAC3C,mDAAyD;AACzD,qCAA6C;AAC7C,mDAIyB;AACzB,iDAIwB;AAExB,SAAgB,WAAW,CACvB,MAAmB,EACnB,OAAqB,EACrB,IAAe,EACf,KAAa;IAEb,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QAClB,OAAO,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,wBAAwB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,eAAe,CACpB,OAAqB,EACrB,KAAa;IAEb,MAAM,QAAQ,GAAU;QACpB,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;KAC7B,CAAC;IAEF,iCAAiC;IACjC,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAChC,SAAS,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,OAAO,UAAU,CAClD,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnB,CAAC;IAED,QAAQ,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,KAAK;KACjB,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAuB;QACjC,IAAI,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/agent/prompt.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* System
|
|
3
|
-
*
|
|
4
|
-
* 链式思维 (CoT) 显式分离,结构化推理
|
|
2
|
+
* System Protocol V2.3 - Based on src/agent/how.md
|
|
3
|
+
* THINK → ACT → OBSERVE Protocol with Explicit Mode Switching
|
|
5
4
|
*/
|
|
6
|
-
export interface
|
|
7
|
-
mode: 'chat' | 'command' | 'replanning';
|
|
5
|
+
export interface ProtocolV2_3Config {
|
|
6
|
+
mode: 'chat' | 'command' | 'workflow' | 'replanning';
|
|
8
7
|
enableStrictOutput: boolean;
|
|
9
8
|
enableReasoningTrace: boolean;
|
|
10
9
|
}
|
|
11
10
|
/**
|
|
12
|
-
* 构建完整的 V2.
|
|
11
|
+
* 构建完整的 V2.3 协议 Prompt
|
|
13
12
|
*/
|
|
14
|
-
export declare function
|
|
13
|
+
export declare function buildV2_3ProtocolPrompt(config: ProtocolV2_3Config): string;
|
|
15
14
|
/**
|
|
16
15
|
* 构建输出格式约束
|
|
17
16
|
*/
|
|
@@ -1,58 +1,48 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* System
|
|
4
|
-
*
|
|
5
|
-
* 链式思维 (CoT) 显式分离,结构化推理
|
|
3
|
+
* System Protocol V2.3 - Based on src/agent/how.md
|
|
4
|
+
* THINK → ACT → OBSERVE Protocol with Explicit Mode Switching
|
|
6
5
|
*/
|
|
7
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.
|
|
7
|
+
exports.buildV2_3ProtocolPrompt = buildV2_3ProtocolPrompt;
|
|
9
8
|
exports.buildOutputConstraints = buildOutputConstraints;
|
|
10
9
|
exports.buildDynamicContextTemplate = buildDynamicContextTemplate;
|
|
11
10
|
/**
|
|
12
|
-
* 构建完整的 V2.
|
|
11
|
+
* 构建完整的 V2.3 协议 Prompt
|
|
13
12
|
*/
|
|
14
|
-
function
|
|
15
|
-
const baseProtocol = `[SYSTEM PROTOCOL V2.
|
|
13
|
+
function buildV2_3ProtocolPrompt(config) {
|
|
14
|
+
const baseProtocol = `[SYSTEM PROTOCOL V2.3] (Ref: src/agent/how.md)
|
|
16
15
|
你是 yuangs AI,一个专业的技术助手。
|
|
17
16
|
|
|
18
17
|
=== 核心协议:THINK → ACT → OBSERVE ===
|
|
19
18
|
|
|
20
|
-
|
|
19
|
+
你必须根据当前模式严格遵循此三阶段协议:
|
|
21
20
|
|
|
22
|
-
[PHASE 1: THINK - 深度推理]
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
2. 识别可用资源和约束
|
|
26
|
-
3. 评估不同方案的利弊
|
|
27
|
-
4. 明确安全边界和风险点
|
|
28
|
-
5. 得出最佳策略
|
|
21
|
+
[PHASE 1: THINK - 深度推理] (ID: PROTO_THINK)
|
|
22
|
+
1. 分析意图、环境约束与风险点。
|
|
23
|
+
2. 输出简洁要点(不超过 5 条)。
|
|
29
24
|
|
|
30
|
-
|
|
31
|
-
-
|
|
32
|
-
-
|
|
33
|
-
-
|
|
34
|
-
- 明确指出不确定的假设
|
|
25
|
+
[PHASE 2: ACT - 结构化行动] (ID: PROTO_ACT)
|
|
26
|
+
- 生成类型化动作 (shell | code | search | answer)。
|
|
27
|
+
- [Git 专项]: 执行操作前必先 \`git ls-files\`; 修改代码前必确认 \`git diff\`。
|
|
28
|
+
- 标注风险等级 (low | medium | high)。
|
|
35
29
|
|
|
36
|
-
[PHASE
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
- 复杂操作分解为多个原子步骤
|
|
40
|
-
- 包含必要的输入参数和预期输出
|
|
41
|
-
- 标注风险级别(low/medium/high)
|
|
30
|
+
[PHASE 3: OBSERVE - 结果验证] (ID: PROTO_OBSERVE)
|
|
31
|
+
1. 验证 预期 vs 实际。
|
|
32
|
+
2. 识别错误,处理异常。
|
|
42
33
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
1. 检查操作是否成功完成
|
|
48
|
-
2. 对比预期和实际输出
|
|
49
|
-
3. 识别意外行为或错误
|
|
50
|
-
4. 必要时触发重规划或回滚
|
|
51
|
-
5. 记录关键观察供后续使用
|
|
34
|
+
=== 模式切换规则 ===
|
|
35
|
+
- **CHAT MODE** (默认): 用于一般咨询。推理内联,不显式输出 THINK/ACT 区块。
|
|
36
|
+
- **WORKFLOW MODE**: 用于 Git 操作、TODO 处理或执行任务。必须使用完整协议。
|
|
37
|
+
- **调试指令**: 识别 \`#protocol\` (强制工作流) 和 \`#chat\` (强制对话)。
|
|
52
38
|
|
|
39
|
+
=== 安全约束 (Safety Levels) ===
|
|
40
|
+
- LV1 (Safe): 只读操作 (ls, cat, git status)。
|
|
41
|
+
- LV2 (Normal): 写文件、常规 git commit/branch。
|
|
42
|
+
- LV3 (Danger): rm, sudo, git reset --hard。必须显著提醒。
|
|
53
43
|
`;
|
|
54
44
|
const modeSpecific = getModeSpecificPrompt(config.mode);
|
|
55
|
-
return `${baseProtocol}${modeSpecific}`;
|
|
45
|
+
return `${baseProtocol}\n${modeSpecific}`;
|
|
56
46
|
}
|
|
57
47
|
/**
|
|
58
48
|
* 模式特定的 Prompt 增强
|
|
@@ -62,79 +52,23 @@ function getModeSpecificPrompt(mode) {
|
|
|
62
52
|
case 'chat':
|
|
63
53
|
return `
|
|
64
54
|
=== CHAT MODE 指南 ===
|
|
65
|
-
|
|
66
|
-
-
|
|
67
|
-
- 使用代码示例说明概念
|
|
68
|
-
- 如果需要更多信息,明确询问
|
|
69
|
-
- 推理可以内联,不必显式输出 THINK 区块
|
|
55
|
+
- 保持简洁,直接回答。
|
|
56
|
+
- 推理可以内联,除非用户显式要求,否则不输出协议标签。
|
|
70
57
|
`;
|
|
58
|
+
case 'workflow':
|
|
71
59
|
case 'command':
|
|
72
60
|
return `
|
|
73
|
-
===
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
{
|
|
78
|
-
"thought": "...", // 简短推理过程
|
|
79
|
-
"actions": [ // 行动列表
|
|
80
|
-
{
|
|
81
|
-
"type": "shell|code|search|answer",
|
|
82
|
-
"command": "...",
|
|
83
|
-
"description": "...",
|
|
84
|
-
"risk": "low|medium|high"
|
|
85
|
-
}
|
|
86
|
-
]
|
|
87
|
-
}
|
|
88
|
-
\`\`\`
|
|
89
|
-
|
|
90
|
-
类型约束:
|
|
91
|
-
- shell: 执行命令,必须明确命令字符串
|
|
92
|
-
- code: 生成代码,必须包含文件路径和完整代码
|
|
93
|
-
- search: 搜索文件/代码,必须包含查询表达式
|
|
94
|
-
- answer: 纯文本回答,用于解释和说明
|
|
95
|
-
|
|
96
|
-
风险控制:
|
|
97
|
-
- 所有高风险操作(rm, sudo, dd 等)必须显式标注
|
|
98
|
-
- 破坏性操作前必须给出警告
|
|
99
|
-
- 优先使用安全命令变体
|
|
61
|
+
=== WORKFLOW MODE 指南 ===
|
|
62
|
+
- 严格输出 [PHASE 1: THINK], [PHASE 2: ACT], [PHASE 3: OBSERVE] 区块。
|
|
63
|
+
- 执行方案必须考虑回退策略。
|
|
64
|
+
- 优先展示执行结果而非解释。
|
|
100
65
|
`;
|
|
101
66
|
case 'replanning':
|
|
102
67
|
return `
|
|
103
68
|
=== REPLANNING MODE 指南 ===
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
-
|
|
107
|
-
- 检测到与预期不符的状态
|
|
108
|
-
- 遇到未预料的依赖或限制
|
|
109
|
-
|
|
110
|
-
重规划流程:
|
|
111
|
-
1. 分析失败原因
|
|
112
|
-
2. 评估原有假设的有效性
|
|
113
|
-
3. 识别可行的替代路径
|
|
114
|
-
4. 选择最优新策略
|
|
115
|
-
5. 生成修订后的执行计划
|
|
116
|
-
|
|
117
|
-
输出格式要求:
|
|
118
|
-
\`\`\`json
|
|
119
|
-
{
|
|
120
|
-
"analysis": "...", // 失败原因分析
|
|
121
|
-
"invalidatedAssumptions": [], // 被证明无效的假设
|
|
122
|
-
"newStrategy": "...", // 新策略说明
|
|
123
|
-
"revisedSteps": [ // 修订后的步骤
|
|
124
|
-
{
|
|
125
|
-
"id": "...",
|
|
126
|
-
"description": "...",
|
|
127
|
-
"risk": "low|medium|high",
|
|
128
|
-
"dependencies": []
|
|
129
|
-
}
|
|
130
|
-
]
|
|
131
|
-
}
|
|
132
|
-
\`\`\`
|
|
133
|
-
|
|
134
|
-
关键约束:
|
|
135
|
-
- 禁止重复导致失败的相同逻辑
|
|
136
|
-
- 必须考虑回滚后的实际状态
|
|
137
|
-
- 新计划必须直接解决失败的根因
|
|
69
|
+
- 输入包含失败现场。
|
|
70
|
+
- 分析根因(Root Cause Analysis)。
|
|
71
|
+
- 生成修正后的执行计划,避免重复导致失败的逻辑。
|
|
138
72
|
`;
|
|
139
73
|
default:
|
|
140
74
|
return '';
|
|
@@ -146,29 +80,9 @@ function getModeSpecificPrompt(mode) {
|
|
|
146
80
|
function buildOutputConstraints() {
|
|
147
81
|
return `
|
|
148
82
|
=== 输出格式严格约束 ===
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
- 数组元素顺序保持语义相关性
|
|
153
|
-
- 枚举值必须在允许范围内
|
|
154
|
-
|
|
155
|
-
2. 语言风格
|
|
156
|
-
- 使用专业、简洁的技术语言
|
|
157
|
-
- 避免模糊表述("可能"、"也许")
|
|
158
|
-
- 代码示例必须有明确语法高亮
|
|
159
|
-
- 关键信息使用加粗或 emoji 标记
|
|
160
|
-
|
|
161
|
-
3. 复杂逻辑处理
|
|
162
|
-
- 多步骤操作使用编号列表
|
|
163
|
-
- 条件逻辑使用 if-else 清晰标注
|
|
164
|
-
- 异常处理明确指出错误和恢复策略
|
|
165
|
-
- 性能敏感操作注明时间复杂度
|
|
166
|
-
|
|
167
|
-
4. 安全原则
|
|
168
|
-
- 永远不猜测文件路径或凭据
|
|
169
|
-
- 破坏性操作必须有确认步骤
|
|
170
|
-
- 敏感信息使用占位符而非明文
|
|
171
|
-
- 外部 API 调用明确超时和重试策略
|
|
83
|
+
1. 所有的 Action 必须具备其类型所需的所有参数。
|
|
84
|
+
2. 错误处理引导:如果命令返回非零,直接进入 OBSERVE 阶段诊断。
|
|
85
|
+
3. 语言:除非用户特别要求,否则主要使用中文进行解释。
|
|
172
86
|
`;
|
|
173
87
|
}
|
|
174
88
|
/**
|
|
@@ -178,40 +92,16 @@ function buildDynamicContextTemplate() {
|
|
|
178
92
|
return `
|
|
179
93
|
=== 动态上下文 ===
|
|
180
94
|
|
|
181
|
-
当检测到以下上下文时,自动注入对应的指导:
|
|
182
|
-
|
|
183
95
|
[GIT CONTEXT]
|
|
184
96
|
当前在 Git 仓库中。
|
|
185
|
-
- 优先使用 \`git ls-files\`
|
|
186
|
-
- 使用 \`git diff\`
|
|
187
|
-
- 谨慎操作版本控制文件
|
|
188
|
-
|
|
189
|
-
[TECH STACK: Node.js]
|
|
190
|
-
- 使用 npm/yarn 进行包管理
|
|
191
|
-
- 检查 package.json 的可用脚本
|
|
192
|
-
- 生成代码时使用 TypeScript 严格模式
|
|
193
|
-
- 使用 ESLint 和 Prettier 格式化
|
|
194
|
-
|
|
195
|
-
[TECH STACK: Python]
|
|
196
|
-
- 使用 pip/poetry 进行包管理
|
|
197
|
-
- 检查 requirements.txt 或 pyproject.toml
|
|
198
|
-
- 遵循 PEP 8 代码风格
|
|
199
|
-
- 使用虚拟环境隔离依赖
|
|
200
|
-
|
|
201
|
-
[TECH STACK: Go]
|
|
202
|
-
- 使用 go mod 进行模块管理
|
|
203
|
-
- 检查 go.mod 了解依赖
|
|
204
|
-
- 遵循 Go 惯用模式和错误处理
|
|
205
|
-
- 使用 \`go test\` 运行测试
|
|
97
|
+
- 优先使用 \`git ls-files\` 列出文件。
|
|
98
|
+
- 使用 \`git diff\` 查看未提交的更改。
|
|
206
99
|
|
|
207
100
|
[ERROR RECOVERY]
|
|
208
101
|
上一步操作失败。
|
|
209
|
-
|
|
210
|
-
-
|
|
211
|
-
-
|
|
212
|
-
- 使用不同的标志或工具
|
|
213
|
-
- 检查依赖是否已安装
|
|
214
|
-
- 查看错误日志获取更多信息
|
|
102
|
+
- 检查命令语法。
|
|
103
|
+
- 验证文件路径。
|
|
104
|
+
- 查看错误日志。
|
|
215
105
|
`;
|
|
216
106
|
}
|
|
217
107
|
//# sourceMappingURL=protocolV2_2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocolV2_2.js","sourceRoot":"","sources":["../../src/agent/protocolV2_2.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"protocolV2_2.js","sourceRoot":"","sources":["../../src/agent/protocolV2_2.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAWH,0DAmCC;AAuCD,wDAOC;AAKD,kEAeC;AAxGD;;GAEG;AACH,SAAgB,uBAAuB,CAAC,MAA0B;IAChE,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BtB,CAAC;IAEA,MAAM,YAAY,GAAG,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAExD,OAAO,GAAG,YAAY,KAAK,YAAY,EAAE,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,IAAY;IACzC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,MAAM;YACT,OAAO;;;;CAIZ,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"}
|
|
@@ -16,6 +16,7 @@ export declare class SmartContextManager extends ContextManager {
|
|
|
16
16
|
totalCount: number;
|
|
17
17
|
}>;
|
|
18
18
|
private extractPathFromMessage;
|
|
19
|
+
private loadPersistedContext;
|
|
19
20
|
private buildSmartSummary;
|
|
20
21
|
getCachedRankedItems(): RankedContextItem[];
|
|
21
22
|
getCachedQuery(): string;
|