fix: 子代理工具结果不再截断,num_ctx跟随主AI设置
This commit is contained in:
@@ -89,7 +89,7 @@ ${context ? `\n附加上下文:\n${context}` : ''}`;
|
|||||||
stream: true,
|
stream: true,
|
||||||
think: false,
|
think: false,
|
||||||
tools: tools as any,
|
tools: tools as any,
|
||||||
options: { num_ctx: 16384, temperature: 0.3 }
|
options: { num_ctx: state.get<number>(KEYS.NUM_CTX, 24576), temperature: 0.3 }
|
||||||
} as any, (chunk: any) => {
|
} as any, (chunk: any) => {
|
||||||
if (chunk.message?.content) content += chunk.message.content;
|
if (chunk.message?.content) content += chunk.message.content;
|
||||||
if (chunk.message?.tool_calls?.length) {
|
if (chunk.message?.tool_calls?.length) {
|
||||||
@@ -141,13 +141,8 @@ ${context ? `\n附加上下文:\n${context}` : ''}`;
|
|||||||
return { success: true, content: '达到最大轮次限制', loops: loopCount, duration: Date.now() - startTime, partial: true };
|
return { success: true, content: '达到最大轮次限制', loops: loopCount, duration: Date.now() - startTime, partial: true };
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 简洁格式化工具结果给子代理 */
|
/** 格式化工具结果给子代理(不截断,和主AI一致) */
|
||||||
function formatResult(name: string, r: ToolResult): string {
|
function formatResult(name: string, r: ToolResult): string {
|
||||||
if (!r.success) return JSON.stringify({ success: false, error: r.error });
|
if (!r.success) return JSON.stringify({ success: false, error: r.error });
|
||||||
switch (name) {
|
return JSON.stringify(r);
|
||||||
case 'web_search': return JSON.stringify({ success: true, query: r.query, total: r.total, results: (r.results as any[])?.slice(0, 8) });
|
|
||||||
case 'web_fetch': return JSON.stringify({ success: true, url: r.url, content: String(r.content || '').slice(0, 5000) });
|
|
||||||
case 'read_file': return JSON.stringify({ success: true, path: r.path, content: String(r.content || '').slice(0, 5000) });
|
|
||||||
default: return JSON.stringify(r);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user