yuangs 5.59.0 → 5.63.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/DualAgentRuntime.d.ts +15 -1
- package/dist/agent/DualAgentRuntime.js +62 -37
- package/dist/agent/DualAgentRuntime.js.map +1 -1
- package/dist/agent/PlanCache.d.ts +207 -0
- package/dist/agent/PlanCache.js +468 -0
- package/dist/agent/PlanCache.js.map +1 -0
- package/dist/agent/executor.d.ts +4 -0
- package/dist/agent/executor.js +48 -2
- package/dist/agent/executor.js.map +1 -1
- package/dist/agent/governance/riskScoring.d.ts +118 -0
- package/dist/agent/governance/riskScoring.js +422 -0
- package/dist/agent/governance/riskScoring.js.map +1 -0
- package/dist/agent/governance.d.ts +26 -0
- package/dist/agent/governance.js +86 -5
- package/dist/agent/governance.js.map +1 -1
- package/dist/agent/protocolV2_2.js +31 -10
- package/dist/agent/protocolV2_2.js.map +1 -1
- package/dist/agent/relevance.d.ts +93 -0
- package/dist/agent/relevance.js +345 -1
- package/dist/agent/relevance.js.map +1 -1
- package/dist/agent/smartContextManager.d.ts +22 -1
- package/dist/agent/smartContextManager.js +108 -4
- package/dist/agent/smartContextManager.js.map +1 -1
- package/dist/agent/state.d.ts +3 -0
- package/dist/commands/contextStorage.d.ts +32 -0
- package/dist/commands/contextStorage.js +81 -0
- package/dist/commands/contextStorage.js.map +1 -1
- package/dist/core/modelRouter/AdaptiveWeights.d.ts +134 -0
- package/dist/core/modelRouter/AdaptiveWeights.js +300 -0
- package/dist/core/modelRouter/AdaptiveWeights.js.map +1 -0
- package/dist/core/modelRouter/ModelRouter.d.ts +45 -3
- package/dist/core/modelRouter/ModelRouter.js +138 -6
- package/dist/core/modelRouter/ModelRouter.js.map +1 -1
- package/dist/core/modelRouter/MultiMetricSupervisor.d.ts +99 -0
- package/dist/core/modelRouter/MultiMetricSupervisor.js +267 -0
- package/dist/core/modelRouter/MultiMetricSupervisor.js.map +1 -0
- package/dist/core/modelRouter/policies/DslPolicy.d.ts +16 -1
- package/dist/core/modelRouter/policies/DslPolicy.js +22 -1
- package/dist/core/modelRouter/policies/DslPolicy.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"riskScoring.js","sourceRoot":"","sources":["../../../src/agent/governance/riskScoring.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,39 @@
|
|
|
1
1
|
import { ProposedAction, GovernanceDecision } from './state';
|
|
2
2
|
import { PolicyRule, RiskEntry } from './governance/core';
|
|
3
|
+
import { RiskScoringModel } from './governance/riskScoring';
|
|
3
4
|
export declare class GovernanceService {
|
|
4
5
|
private static rules;
|
|
5
6
|
private static ledger;
|
|
7
|
+
private static riskModel;
|
|
6
8
|
private static initialized;
|
|
9
|
+
private static currentUserId?;
|
|
7
10
|
static init(): Promise<void>;
|
|
11
|
+
/**
|
|
12
|
+
* 设置当前用户 ID(用于信任度评估)
|
|
13
|
+
*/
|
|
14
|
+
static setUserId(userId: string): void;
|
|
15
|
+
/**
|
|
16
|
+
* 获取风险评分模型(用于信任度更新等操作)
|
|
17
|
+
*/
|
|
18
|
+
static getRiskModel(): RiskScoringModel;
|
|
8
19
|
private static loadPolicy;
|
|
9
20
|
static getRules(): PolicyRule[];
|
|
10
21
|
static getLedgerSnapshot(): RiskEntry[];
|
|
11
22
|
static getPolicyManual(): string;
|
|
12
23
|
static adjudicate(action: ProposedAction): Promise<GovernanceDecision>;
|
|
24
|
+
/**
|
|
25
|
+
* 获取主要风险原因(用于拒绝消息)
|
|
26
|
+
*/
|
|
27
|
+
private static getPrimaryRiskReason;
|
|
28
|
+
/**
|
|
29
|
+
* 获取用户信任度统计
|
|
30
|
+
*/
|
|
31
|
+
static getUserTrustStats(): Map<string, {
|
|
32
|
+
trust: number;
|
|
33
|
+
lastSeen: number;
|
|
34
|
+
}>;
|
|
35
|
+
/**
|
|
36
|
+
* 重置用户信任度
|
|
37
|
+
*/
|
|
38
|
+
static resetUserTrust(userId?: string): void;
|
|
13
39
|
}
|
package/dist/agent/governance.js
CHANGED
|
@@ -42,13 +42,16 @@ const core_1 = require("./governance/core");
|
|
|
42
42
|
const ledger_1 = require("./governance/ledger");
|
|
43
43
|
const bridge_1 = require("./governance/bridge");
|
|
44
44
|
const riskDisclosure_1 = require("./riskDisclosure");
|
|
45
|
+
const riskScoring_1 = require("./governance/riskScoring");
|
|
45
46
|
const js_yaml_1 = __importDefault(require("js-yaml"));
|
|
46
47
|
const fs_1 = __importDefault(require("fs"));
|
|
47
48
|
const path_1 = __importDefault(require("path"));
|
|
48
49
|
class GovernanceService {
|
|
49
50
|
static rules = [];
|
|
50
51
|
static ledger = new ledger_1.RiskLedger();
|
|
52
|
+
static riskModel = riskScoring_1.defaultRiskScoringModel;
|
|
51
53
|
static initialized = false;
|
|
54
|
+
static currentUserId;
|
|
52
55
|
static async init() {
|
|
53
56
|
if (this.initialized)
|
|
54
57
|
return;
|
|
@@ -56,6 +59,18 @@ class GovernanceService {
|
|
|
56
59
|
await bridge_1.WasmGovernanceBridge.init();
|
|
57
60
|
this.initialized = true;
|
|
58
61
|
}
|
|
62
|
+
/**
|
|
63
|
+
* 设置当前用户 ID(用于信任度评估)
|
|
64
|
+
*/
|
|
65
|
+
static setUserId(userId) {
|
|
66
|
+
this.currentUserId = userId;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* 获取风险评分模型(用于信任度更新等操作)
|
|
70
|
+
*/
|
|
71
|
+
static getRiskModel() {
|
|
72
|
+
return this.riskModel;
|
|
73
|
+
}
|
|
59
74
|
static loadPolicy() {
|
|
60
75
|
try {
|
|
61
76
|
const policyPath = path_1.default.join(process.cwd(), 'policy.yaml');
|
|
@@ -80,19 +95,41 @@ class GovernanceService {
|
|
|
80
95
|
}
|
|
81
96
|
static async adjudicate(action) {
|
|
82
97
|
await this.init();
|
|
98
|
+
// 0. 风险评分量化 (新增)
|
|
99
|
+
const riskAssessment = this.riskModel.assessRisk(action, this.currentUserId);
|
|
100
|
+
// 如果建议是自动允许且风险低,快速通过
|
|
101
|
+
if (riskAssessment.suggestedAction === 'auto-allow' && riskAssessment.level === 'low') {
|
|
102
|
+
this.ledger.record(action.type);
|
|
103
|
+
return {
|
|
104
|
+
status: 'approved',
|
|
105
|
+
by: 'policy',
|
|
106
|
+
timestamp: Date.now(),
|
|
107
|
+
riskScore: riskAssessment.score
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
// 如果建议是直接拒绝且风险极高,直接拒绝
|
|
111
|
+
if (riskAssessment.suggestedAction === 'deny' && riskAssessment.level === 'critical') {
|
|
112
|
+
return {
|
|
113
|
+
status: 'rejected',
|
|
114
|
+
by: 'policy',
|
|
115
|
+
reason: `风险评分过高 (${riskAssessment.score}/100): ${this.getPrimaryRiskReason(riskAssessment)}`,
|
|
116
|
+
timestamp: Date.now(),
|
|
117
|
+
riskScore: riskAssessment.score
|
|
118
|
+
};
|
|
119
|
+
}
|
|
83
120
|
// 1. WASM 物理层核验
|
|
84
121
|
const wasmResult = bridge_1.WasmGovernanceBridge.evaluate(action, this.rules, this.ledger.getSnapshot());
|
|
85
122
|
if (wasmResult.effect === 'deny') {
|
|
86
|
-
return { status: 'rejected', by: 'policy', reason: wasmResult.reason || 'WASM Denied', timestamp: Date.now() };
|
|
123
|
+
return { status: 'rejected', by: 'policy', reason: wasmResult.reason || 'WASM Denied', timestamp: Date.now(), riskScore: riskAssessment.score };
|
|
87
124
|
}
|
|
88
125
|
// 2. 逻辑层核验
|
|
89
126
|
const logicResult = (0, core_1.evaluateProposal)(action, this.rules, this.ledger.getSnapshot());
|
|
90
127
|
if (logicResult.effect === 'deny') {
|
|
91
|
-
return { status: 'rejected', by: 'policy', reason: logicResult.reason || 'Policy Denied', timestamp: Date.now() };
|
|
128
|
+
return { status: 'rejected', by: 'policy', reason: logicResult.reason || 'Policy Denied', timestamp: Date.now(), riskScore: riskAssessment.score };
|
|
92
129
|
}
|
|
93
130
|
if (logicResult.effect === 'allow') {
|
|
94
131
|
this.ledger.record(action.type);
|
|
95
|
-
return { status: 'approved', by: 'policy', timestamp: Date.now() };
|
|
132
|
+
return { status: 'approved', by: 'policy', timestamp: Date.now(), riskScore: riskAssessment.score };
|
|
96
133
|
}
|
|
97
134
|
// 3. 人工干预兜底
|
|
98
135
|
console.log(chalk_1.default.yellow(`\n⚠️ Governance: Explicit approval required for ${action.type}`));
|
|
@@ -102,6 +139,21 @@ class GovernanceService {
|
|
|
102
139
|
else if (action.type === 'tool_call') {
|
|
103
140
|
console.log(chalk_1.default.bold.green('🛠️ Tool: ') + chalk_1.default.cyan(`${action.payload.tool_name}(${JSON.stringify(action.payload.parameters)})`));
|
|
104
141
|
}
|
|
142
|
+
// 显示量化风险评分
|
|
143
|
+
console.log(chalk_1.default.bold(`\n📊 Risk Assessment: ${riskAssessment.score}/100 (${riskAssessment.level.toUpperCase()})`));
|
|
144
|
+
console.log(chalk_1.default.gray(` Confidence: ${(riskAssessment.confidence * 100).toFixed(0)}% | User Trust: ${(riskAssessment.userTrust * 100).toFixed(0)}%`));
|
|
145
|
+
// 显示主要风险因子
|
|
146
|
+
const topFactors = riskAssessment.factors
|
|
147
|
+
.filter(f => f.score > 0.1)
|
|
148
|
+
.sort((a, b) => b.score - a.score)
|
|
149
|
+
.slice(0, 3);
|
|
150
|
+
if (topFactors.length > 0) {
|
|
151
|
+
console.log(chalk_1.default.bold('\n Key Risk Factors:'));
|
|
152
|
+
for (const factor of topFactors) {
|
|
153
|
+
const bar = '█'.repeat(Math.floor(factor.score * 20));
|
|
154
|
+
console.log(` ${chalk_1.default.dim('•')} ${factor.name.padEnd(20)} ${chalk_1.default.yellow(bar)} ${chalk_1.default.white((factor.score * 100).toFixed(0)) + '%'} - ${factor.reason}`);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
105
157
|
// Generate and display risk disclosure
|
|
106
158
|
const riskFactors = (0, riskDisclosure_1.extractRiskFactorsFromThought)(action.reasoning || '');
|
|
107
159
|
riskFactors.commandType = action.type;
|
|
@@ -115,12 +167,41 @@ class GovernanceService {
|
|
|
115
167
|
const ok = await confirm(`Do you want to proceed with this action?`);
|
|
116
168
|
if (ok) {
|
|
117
169
|
this.ledger.record(action.type);
|
|
118
|
-
|
|
170
|
+
// 成功执行后增加用户信任度
|
|
171
|
+
if (this.currentUserId) {
|
|
172
|
+
this.riskModel.updateUserTrust(this.currentUserId, 'success', 0.05);
|
|
173
|
+
}
|
|
174
|
+
return { status: 'approved', by: 'human', timestamp: Date.now(), riskScore: riskAssessment.score };
|
|
119
175
|
}
|
|
120
176
|
else {
|
|
121
|
-
|
|
177
|
+
// 用户拒绝,降低信任度
|
|
178
|
+
if (this.currentUserId) {
|
|
179
|
+
this.riskModel.updateUserTrust(this.currentUserId, 'failure', 0.02);
|
|
180
|
+
}
|
|
181
|
+
return { status: 'rejected', by: 'human', reason: 'User declined execution', timestamp: Date.now(), riskScore: riskAssessment.score };
|
|
122
182
|
}
|
|
123
183
|
}
|
|
184
|
+
/**
|
|
185
|
+
* 获取主要风险原因(用于拒绝消息)
|
|
186
|
+
*/
|
|
187
|
+
static getPrimaryRiskReason(assessment) {
|
|
188
|
+
const topFactor = assessment.factors
|
|
189
|
+
.filter(f => f.score > 0.2)
|
|
190
|
+
.sort((a, b) => b.score - a.score)[0];
|
|
191
|
+
return topFactor ? topFactor.reason : 'High overall risk';
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* 获取用户信任度统计
|
|
195
|
+
*/
|
|
196
|
+
static getUserTrustStats() {
|
|
197
|
+
return this.riskModel.getTrustStats();
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* 重置用户信任度
|
|
201
|
+
*/
|
|
202
|
+
static resetUserTrust(userId) {
|
|
203
|
+
this.riskModel.resetUserTrust(userId);
|
|
204
|
+
}
|
|
124
205
|
}
|
|
125
206
|
exports.GovernanceService = GovernanceService;
|
|
126
207
|
//# sourceMappingURL=governance.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"governance.js","sourceRoot":"","sources":["../../src/agent/governance.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAE1B,4CAA4E;AAC5E,gDAAiD;AACjD,gDAA2D;AAC3D,qDAA+H;AAC/H,sDAA6B;AAC7B,4CAAoB;AACpB,gDAAwB;AAExB,MAAa,iBAAiB;IACpB,MAAM,CAAC,KAAK,GAAiB,EAAE,CAAC;IAChC,MAAM,CAAC,MAAM,GAAG,IAAI,mBAAU,EAAE,CAAC;IACjC,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"governance.js","sourceRoot":"","sources":["../../src/agent/governance.ts"],"names":[],"mappings":"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"}
|
|
@@ -159,18 +159,39 @@ AI: { "action_type": "tool_call", "tool_name": "write_file", "parameters": { "pa
|
|
|
159
159
|
AI: { "action_type": "answer", "content": "已完成替换:将sh.md中的'一次'替换为'苑广山'", "is_done": true }
|
|
160
160
|
|
|
161
161
|
【重要】多步骤任务规则:
|
|
162
|
-
- 读取文件后,如果用户要求"添加"、"修改"、"写入"、"替换"等操作:
|
|
163
|
-
1. 先读取文件内容(read_file)
|
|
164
|
-
2. 在下一步立即调用 write_file 工具进行修改(不要重复读取!)
|
|
165
|
-
3. 最后返回 answer 确认完成,设置 is_done: true
|
|
166
162
|
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
2. 立即调用 write_file,在 content 参数中提供修改后的完整内容
|
|
170
|
-
3. 不要再次调用 read_file 或 search_in_files!
|
|
163
|
+
=== 📝 搜索替换操作(重要) ===
|
|
164
|
+
当用户要求"搜索X并替换为Y"时,按以下步骤执行:
|
|
171
165
|
|
|
172
|
-
|
|
173
|
-
|
|
166
|
+
1️⃣ **读取文件** → 调用 read_file 获取原始内容
|
|
167
|
+
2️⃣ **内存中替换** → 在内存中将所有 X 替换为 Y(使用 String.replaceAll())
|
|
168
|
+
3️⃣ **写入文件** → 调用 write_file 写入修改后的完整内容
|
|
169
|
+
4️⃣ **完成** → 返回 answer,设置 is_done: true
|
|
170
|
+
|
|
171
|
+
⚠️ **关键约束**:
|
|
172
|
+
- ✅ 只调用 read_file **一次**
|
|
173
|
+
- ✅ 读取后立即调用 write_file
|
|
174
|
+
- ❌ 不要用 search_in_files 再次搜索(内容已经在内存中了)
|
|
175
|
+
- ❌ 不要重复调用 read_file
|
|
176
|
+
|
|
177
|
+
=== ✏️ 文件修改操作 ===
|
|
178
|
+
当用户要求"添加"、"修改"、"写入"、"删除"等操作时:
|
|
179
|
+
|
|
180
|
+
1️⃣ **读取文件** → 调用 read_file(如果需要查看当前内容)
|
|
181
|
+
2️⃣ **执行修改** → 调用 write_file 写入修改后的完整内容
|
|
182
|
+
3️⃣ **完成** → 返回 answer,设置 is_done: true
|
|
183
|
+
|
|
184
|
+
=== 📖 只读操作 ===
|
|
185
|
+
当用户仅要求"读取"、"查看"、"显示"、"搜索"时:
|
|
186
|
+
|
|
187
|
+
1️⃣ **调用工具** → 调用相应的只读工具
|
|
188
|
+
2️⃣ **立即完成** → 返回 answer,设置 is_done: true
|
|
189
|
+
3️⃣ **不要继续** → 不要调用其他工具
|
|
190
|
+
|
|
191
|
+
【通用禁止】
|
|
192
|
+
- ❌ 禁止重复调用相同的工具
|
|
193
|
+
- ❌ 禁止在成功读取文件后继续重复读取
|
|
194
|
+
- ❌ 禁止在获取信息后无休止地继续循环
|
|
174
195
|
|
|
175
196
|
=== 重要:工具调用后的行为 ===
|
|
176
197
|
- 当你调用工具(如 read_file)获取信息后,必须立即返回结果给用户
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocolV2_2.js","sourceRoot":"","sources":["../../src/agent/protocolV2_2.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAaH,0DAsGC;
|
|
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,8 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 上下文项接口
|
|
3
|
+
* 用于表示单个上下文项,包含路径、内容、元数据等信息
|
|
4
|
+
*/
|
|
1
5
|
export interface ContextItem {
|
|
6
|
+
/** 文件路径或标识符 */
|
|
2
7
|
path: string;
|
|
8
|
+
/** 原始内容 */
|
|
3
9
|
content?: string;
|
|
10
|
+
/** 内容摘要 */
|
|
4
11
|
summary?: string;
|
|
12
|
+
/** 最后访问时间戳 */
|
|
13
|
+
lastUsedAt?: number;
|
|
14
|
+
/** 添加时间戳 */
|
|
15
|
+
addedAt?: number;
|
|
16
|
+
/** 访问次数计数 */
|
|
17
|
+
accessCount?: number;
|
|
18
|
+
/** 自定义衰减率(越大衰减越快) */
|
|
19
|
+
decayRate?: number;
|
|
20
|
+
/** 重要性分数 (0-1) */
|
|
21
|
+
importance?: number;
|
|
22
|
+
/** 唯一标识符 */
|
|
23
|
+
id?: string;
|
|
24
|
+
/** 上下文来源类型 */
|
|
25
|
+
source?: 'file' | 'directory' | 'memory' | 'antipattern';
|
|
26
|
+
/** 上下文状态 */
|
|
27
|
+
status?: 'active' | 'reference' | 'memory' | 'stale' | 'expired';
|
|
28
|
+
/** 是否置顶(置顶项目不会衰减) */
|
|
29
|
+
pinned?: boolean;
|
|
30
|
+
/** 标签列表 */
|
|
31
|
+
tags?: string[];
|
|
5
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* 重要性评分配置常量
|
|
35
|
+
* 用于 calculateImportance 函数
|
|
36
|
+
*/
|
|
37
|
+
export declare const IMPORTANCE_CONFIG: {
|
|
38
|
+
readonly BASE_SCORE: 0.5;
|
|
39
|
+
readonly CORE_PATH_BOOST: 0.2;
|
|
40
|
+
readonly SOURCE_PATH_BOOST: 0.1;
|
|
41
|
+
readonly TEST_FILE_PENALTY: 0.15;
|
|
42
|
+
readonly CONFIG_FILE_BOOST: 0.05;
|
|
43
|
+
readonly DOC_FILE_PENALTY: 0.1;
|
|
44
|
+
readonly MIN_CONTENT_LENGTH: 50;
|
|
45
|
+
readonly SHORT_CONTENT_PENALTY: 0.2;
|
|
46
|
+
readonly LONG_CONTENT_THRESHOLD: 1000;
|
|
47
|
+
readonly LONG_CONTENT_BOOST: 0.15;
|
|
48
|
+
readonly MEDIUM_CONTENT_THRESHOLD: 500;
|
|
49
|
+
readonly MEDIUM_CONTENT_BOOST: 0.1;
|
|
50
|
+
readonly HIGH_ACCESS_COUNT: 10;
|
|
51
|
+
readonly HIGH_ACCESS_BOOST: 0.15;
|
|
52
|
+
readonly MEDIUM_ACCESS_COUNT: 5;
|
|
53
|
+
readonly MEDIUM_ACCESS_BOOST: 0.1;
|
|
54
|
+
readonly LOW_ACCESS_COUNT: 2;
|
|
55
|
+
readonly LOW_ACCESS_BOOST: 0.05;
|
|
56
|
+
readonly STALE_STATUS_PENALTY: 0.2;
|
|
57
|
+
readonly PINNED_MIN_SCORE: 0.9;
|
|
58
|
+
readonly IMPORTANT_TAG_BOOST: 0.15;
|
|
59
|
+
readonly IMPORTANT_TAGS: string[];
|
|
60
|
+
readonly CORE_PATHS: readonly ["src/core", "lib/core", "kernel", "engine", "runtime"];
|
|
61
|
+
readonly SOURCE_PATHS: readonly ["src/", "lib/", "handlers/", "services/", "utils/"];
|
|
62
|
+
readonly MIN_SCORE: 0;
|
|
63
|
+
readonly MAX_SCORE: 1;
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* 时间衰减配置常量
|
|
67
|
+
* 用于 calculateRecencyScore 函数
|
|
68
|
+
*/
|
|
69
|
+
export declare const RECENCY_CONFIG: {
|
|
70
|
+
readonly DEFAULT_HALF_LIFE_DAYS: 30;
|
|
71
|
+
readonly FREQUENCY_BOOST_FACTOR: 0.1;
|
|
72
|
+
readonly MAX_FREQUENCY_BOOST_MULTIPLIER: 2;
|
|
73
|
+
readonly DEFAULT_DECAY_SCORE: 0.5;
|
|
74
|
+
readonly PINNED_SCORE: 1;
|
|
75
|
+
};
|
|
6
76
|
export interface RankedContextItem extends ContextItem {
|
|
7
77
|
relevance: number;
|
|
8
78
|
matchReasons: string[];
|
|
@@ -13,6 +83,29 @@ export interface RelevanceConfig {
|
|
|
13
83
|
extensionWeight: number;
|
|
14
84
|
recencyWeight: number;
|
|
15
85
|
}
|
|
86
|
+
/**
|
|
87
|
+
* 查询意图类型
|
|
88
|
+
* 不同意图会影响相关性计算的权重分配
|
|
89
|
+
*/
|
|
90
|
+
export type QueryIntent = 'debug' | 'refactor' | 'feature' | 'docs' | 'general';
|
|
91
|
+
/**
|
|
92
|
+
* 预定义的意图相关权重配置
|
|
93
|
+
*/
|
|
94
|
+
export declare const INTENT_WEIGHTS: Record<QueryIntent, Partial<RelevanceConfig>>;
|
|
95
|
+
/**
|
|
96
|
+
* 检测查询意图
|
|
97
|
+
* 基于查询中的关键词推断用户意图
|
|
98
|
+
*
|
|
99
|
+
* @param query 用户查询字符串
|
|
100
|
+
* @returns 检测到的意图类型
|
|
101
|
+
*/
|
|
102
|
+
export declare function detectQueryIntent(query: string): QueryIntent;
|
|
103
|
+
/**
|
|
104
|
+
* 计算上下文项的重要性分数
|
|
105
|
+
* 基于路径重要性、内容质量、访问频率等因素
|
|
106
|
+
* 返回值范围:0-1,1 表示最重要
|
|
107
|
+
*/
|
|
108
|
+
export declare function calculateImportance(item: ContextItem): number;
|
|
16
109
|
export declare function rankByRelevance(items: ContextItem[], query: string, config?: Partial<RelevanceConfig>): RankedContextItem[];
|
|
17
110
|
export declare function calculateTotalTokens(items: ContextItem[]): number;
|
|
18
111
|
export declare function filterContextByRelevance(items: ContextItem[], query: string, minRelevance?: number, config?: Partial<RelevanceConfig>): RankedContextItem[];
|