@zhin.js/agent 0.1.21 → 0.1.22
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/lib/cron-engine.d.ts.map +1 -1
- package/lib/cron-engine.js +3 -3
- package/lib/cron-engine.js.map +1 -1
- package/lib/deferred-worker-runner.d.ts.map +1 -1
- package/lib/deferred-worker-runner.js +12 -2
- package/lib/deferred-worker-runner.js.map +1 -1
- package/lib/init/create-zhin-agent.js +6 -6
- package/lib/init/create-zhin-agent.js.map +1 -1
- package/lib/init/register-ai-service.d.ts.map +1 -1
- package/lib/init/register-ai-service.js +5 -5
- package/lib/init/register-ai-service.js.map +1 -1
- package/lib/init/register-ai-trigger.d.ts.map +1 -1
- package/lib/init/register-ai-trigger.js +25 -9
- package/lib/init/register-ai-trigger.js.map +1 -1
- package/lib/init/register-builtin-tools.d.ts.map +1 -1
- package/lib/init/register-builtin-tools.js +33 -29
- package/lib/init/register-builtin-tools.js.map +1 -1
- package/lib/init/register-mcp-from-config.d.ts.map +1 -1
- package/lib/init/register-mcp-from-config.js +5 -4
- package/lib/init/register-mcp-from-config.js.map +1 -1
- package/lib/init/register-mcp-memory-default.d.ts.map +1 -1
- package/lib/init/register-mcp-memory-default.js +2 -2
- package/lib/init/register-mcp-memory-default.js.map +1 -1
- package/lib/orchestrator/tool-selection.d.ts.map +1 -1
- package/lib/orchestrator/tool-selection.js +7 -3
- package/lib/orchestrator/tool-selection.js.map +1 -1
- package/lib/subagent.d.ts +7 -1
- package/lib/subagent.d.ts.map +1 -1
- package/lib/subagent.js +19 -5
- package/lib/subagent.js.map +1 -1
- package/lib/zhin-agent/config.d.ts +5 -0
- package/lib/zhin-agent/config.d.ts.map +1 -1
- package/lib/zhin-agent/config.js +1 -0
- package/lib/zhin-agent/config.js.map +1 -1
- package/lib/zhin-agent/index.d.ts +13 -0
- package/lib/zhin-agent/index.d.ts.map +1 -1
- package/lib/zhin-agent/index.js +169 -31
- package/lib/zhin-agent/index.js.map +1 -1
- package/lib/zhin-agent/turn-metrics.d.ts +20 -0
- package/lib/zhin-agent/turn-metrics.d.ts.map +1 -0
- package/lib/zhin-agent/turn-metrics.js +28 -0
- package/lib/zhin-agent/turn-metrics.js.map +1 -0
- package/package.json +4 -3
package/lib/zhin-agent/index.js
CHANGED
|
@@ -15,12 +15,14 @@
|
|
|
15
15
|
* 11. 定时任务:cron_add 持久化定时任务
|
|
16
16
|
* 12. 多模态输入:图片/音频直接传给视觉模型
|
|
17
17
|
*/
|
|
18
|
-
import {
|
|
18
|
+
import { getPlugin, Logger } from '@zhin.js/core';
|
|
19
|
+
import { formatCompact, truncatePreview } from '@zhin.js/logger';
|
|
19
20
|
import { ensureMcpConnections } from '../orchestrator/mcp-lifecycle.js';
|
|
20
21
|
import { createAgent } from '@zhin.js/ai';
|
|
21
22
|
import { SessionManager, createMemorySessionManager } from '@zhin.js/ai';
|
|
22
23
|
import { ConversationMemory } from '@zhin.js/ai';
|
|
23
24
|
import { parseOutput } from '@zhin.js/ai';
|
|
25
|
+
import { addUsage, EMPTY_USAGE, } from './turn-metrics.js';
|
|
24
26
|
import { UserProfileStore } from '../user-profile.js';
|
|
25
27
|
import { WEB_SEARCH_LOCALE_EXTRA_KEY, normalizeWebSearchLocaleHint, } from '../builtin/web-search-locale.js';
|
|
26
28
|
import { RateLimiter } from '@zhin.js/ai';
|
|
@@ -42,6 +44,7 @@ import { pruneHistoryWithBudget } from './context-budget.js';
|
|
|
42
44
|
import { resolveModelHarness } from './model-harness.js';
|
|
43
45
|
import { RESERVED_TOOL_NAMES, RESERVED_TOOL_NAME_PREFIXES } from '../reserved-tools.js';
|
|
44
46
|
import { createOwnerOrchestratedToolResultTransform } from '../orchestrator/owner-confirm-orchestration.js';
|
|
47
|
+
export { formatAiHandlerCompleteLog, formatZhinAgentTurnUsage } from './turn-metrics.js';
|
|
45
48
|
const logger = new Logger(null, 'ZhinAgent');
|
|
46
49
|
const now = () => performance.now();
|
|
47
50
|
// ============================================================================
|
|
@@ -69,6 +72,9 @@ export class ZhinAgent {
|
|
|
69
72
|
deferredCatalog = [];
|
|
70
73
|
deferredWorkerRunner = new DeferredWorkerRunner();
|
|
71
74
|
lastToolSearchDeferredStats;
|
|
75
|
+
lastTurnMetrics = null;
|
|
76
|
+
activeTurnSubagentUsage = null;
|
|
77
|
+
activeTurnSubagentWaits = [];
|
|
72
78
|
constructor(provider, config) {
|
|
73
79
|
this.provider = provider;
|
|
74
80
|
this.config = { ...DEFAULT_CONFIG, ...config };
|
|
@@ -123,6 +129,8 @@ export class ZhinAgent {
|
|
|
123
129
|
maxIterations: this.config.maxSubagentIterations,
|
|
124
130
|
execPolicyConfig: this.config,
|
|
125
131
|
modelRegistry: this.modelRegistry,
|
|
132
|
+
onSubagentUsage: (usage) => this.addActiveTurnSubagentUsage(usage),
|
|
133
|
+
registerSubagentTask: (done) => this.trackActiveTurnSubagent(done),
|
|
126
134
|
});
|
|
127
135
|
logger.debug('SubagentManager initialized');
|
|
128
136
|
}
|
|
@@ -183,6 +191,51 @@ export class ZhinAgent {
|
|
|
183
191
|
setSkillsSummaryXML(xml) {
|
|
184
192
|
this.skillsSummaryXML = xml || '';
|
|
185
193
|
}
|
|
194
|
+
/** 上一轮 `process` / `processMultimodal` 的 token 等指标(供 AI Handler 打汇总日志) */
|
|
195
|
+
getLastTurnMetrics() {
|
|
196
|
+
return this.lastTurnMetrics;
|
|
197
|
+
}
|
|
198
|
+
beginActiveTurn() {
|
|
199
|
+
this.activeTurnSubagentUsage = { ...EMPTY_USAGE };
|
|
200
|
+
this.activeTurnSubagentWaits = [];
|
|
201
|
+
}
|
|
202
|
+
addActiveTurnSubagentUsage(usage) {
|
|
203
|
+
if (!this.activeTurnSubagentUsage)
|
|
204
|
+
return;
|
|
205
|
+
addUsage(this.activeTurnSubagentUsage, usage);
|
|
206
|
+
}
|
|
207
|
+
trackActiveTurnSubagent(done) {
|
|
208
|
+
if (!this.activeTurnSubagentUsage)
|
|
209
|
+
return;
|
|
210
|
+
this.activeTurnSubagentWaits.push(done);
|
|
211
|
+
}
|
|
212
|
+
async finalizeActiveTurn(partial) {
|
|
213
|
+
const waitMs = this.config.subagentTurnWaitMs;
|
|
214
|
+
if (this.activeTurnSubagentWaits.length > 0 && waitMs > 0) {
|
|
215
|
+
await Promise.race([
|
|
216
|
+
Promise.allSettled(this.activeTurnSubagentWaits),
|
|
217
|
+
new Promise(resolve => setTimeout(resolve, waitMs)),
|
|
218
|
+
]);
|
|
219
|
+
}
|
|
220
|
+
const mainUsage = { ...partial.usage };
|
|
221
|
+
const subagentUsage = this.activeTurnSubagentUsage
|
|
222
|
+
&& (this.activeTurnSubagentUsage.total_tokens > 0
|
|
223
|
+
|| this.activeTurnSubagentUsage.prompt_tokens > 0
|
|
224
|
+
|| this.activeTurnSubagentUsage.completion_tokens > 0)
|
|
225
|
+
? { ...this.activeTurnSubagentUsage }
|
|
226
|
+
: undefined;
|
|
227
|
+
const totalUsage = { ...mainUsage };
|
|
228
|
+
if (subagentUsage)
|
|
229
|
+
addUsage(totalUsage, subagentUsage);
|
|
230
|
+
this.lastTurnMetrics = {
|
|
231
|
+
...partial,
|
|
232
|
+
usage: totalUsage,
|
|
233
|
+
mainUsage,
|
|
234
|
+
...(subagentUsage ? { subagentUsage } : {}),
|
|
235
|
+
};
|
|
236
|
+
this.activeTurnSubagentUsage = null;
|
|
237
|
+
this.activeTurnSubagentWaits = [];
|
|
238
|
+
}
|
|
186
239
|
// ── Core processing ─────────────────────────────────────────────────
|
|
187
240
|
async process(content, context, externalTools = [], onChunk) {
|
|
188
241
|
const t0 = now();
|
|
@@ -198,8 +251,10 @@ export class ZhinAgent {
|
|
|
198
251
|
if (!rateCheck.allowed) {
|
|
199
252
|
this.logPhase('turn.rate_limited', sessionId, { userId });
|
|
200
253
|
logger.debug(`[速率限制] 用户 ${userId} 被限制: ${rateCheck.message}`);
|
|
254
|
+
await this.finalizeActiveTurn({ usage: EMPTY_USAGE, path: 'rate_limited' });
|
|
201
255
|
return parseOutput(rateCheck.message || '请稍后再试');
|
|
202
256
|
}
|
|
257
|
+
this.beginActiveTurn();
|
|
203
258
|
// 0.5 工具上下文:web_search 语言(档案 preferred_language / language,否则默认中文)
|
|
204
259
|
const contextForTools = await this.attachWebSearchLocale(context, userId);
|
|
205
260
|
triggerAIHook(createAIHookEvent('message', 'received', sessionId, {
|
|
@@ -232,7 +287,11 @@ export class ZhinAgent {
|
|
|
232
287
|
this.lastToolSearchDeferredStats = deferredStats;
|
|
233
288
|
const filterMs = (now() - tFilter).toFixed(0);
|
|
234
289
|
this.logPhase('tools.collected', sessionId, { count: resolvedTools.length });
|
|
235
|
-
logger.
|
|
290
|
+
logger.debug(formatCompact({
|
|
291
|
+
tools: resolvedTools.length,
|
|
292
|
+
tool_search: this.config.toolSearch || undefined,
|
|
293
|
+
names: resolvedTools.map(t => t.name).join(',') || '(none)',
|
|
294
|
+
}));
|
|
236
295
|
// 2. History + profile (parallel)
|
|
237
296
|
const tMem = now();
|
|
238
297
|
const [rawHistoryMessages, profileSummary] = await Promise.all([
|
|
@@ -260,16 +319,33 @@ export class ZhinAgent {
|
|
|
260
319
|
this.logPhase('path.chat', sessionId, { toolCount: 0 });
|
|
261
320
|
const liteModel = this.config.chatLiteModel || undefined;
|
|
262
321
|
const chatSystemPrompt = this.buildDisciplinedPrompt(personaEnhanced);
|
|
263
|
-
logger.
|
|
264
|
-
|
|
322
|
+
logger.debug(formatCompact({
|
|
323
|
+
mode: 'chat',
|
|
324
|
+
prompt_chars: chatSystemPrompt.length,
|
|
325
|
+
model: liteModel || chatCandidates[0] || undefined,
|
|
326
|
+
}));
|
|
265
327
|
const tLLM = now();
|
|
266
328
|
this.logPhase('chat.llm.start', sessionId, { model: liteModel || chatCandidates[0] || '' });
|
|
267
|
-
|
|
268
|
-
reply = stripHallucinatedToolCalls(
|
|
329
|
+
const chatResult = await this.streamChatWithHistory(content, chatSystemPrompt, historyMessages, onChunk, liteModel);
|
|
330
|
+
let reply = stripHallucinatedToolCalls(chatResult.content);
|
|
269
331
|
const llmMs = (now() - tLLM).toFixed(0);
|
|
270
|
-
this.logPhase('chat.llm.end', sessionId, {
|
|
271
|
-
|
|
332
|
+
this.logPhase('chat.llm.end', sessionId, {
|
|
333
|
+
durationMs: Number(llmMs),
|
|
334
|
+
...this.usageLogFields(chatResult.usage ?? undefined),
|
|
335
|
+
});
|
|
336
|
+
logger.debug(formatCompact({
|
|
337
|
+
mode: 'chat',
|
|
338
|
+
filter_ms: filterMs,
|
|
339
|
+
mem_ms: memMs,
|
|
340
|
+
llm_ms: llmMs,
|
|
341
|
+
total_ms: Math.round(now() - t0),
|
|
342
|
+
}));
|
|
272
343
|
await this.saveToSession(sessionId, content, reply, sceneId);
|
|
344
|
+
await this.finalizeActiveTurn({
|
|
345
|
+
usage: chatResult.usage ?? EMPTY_USAGE,
|
|
346
|
+
path: 'chat',
|
|
347
|
+
model: chatResult.model,
|
|
348
|
+
});
|
|
273
349
|
this.logPhase('turn.end', sessionId, { path: 'chat' });
|
|
274
350
|
return parseOutput(reply);
|
|
275
351
|
}
|
|
@@ -296,11 +372,20 @@ export class ZhinAgent {
|
|
|
296
372
|
// Fast path
|
|
297
373
|
const tLLM = now();
|
|
298
374
|
const prompt = this.buildDisciplinedPrompt(buildPreExecFastPathPrompt(personaEnhanced, preData));
|
|
299
|
-
logger.
|
|
375
|
+
logger.debug(formatCompact({ mode: 'fast', prompt_chars: prompt.length }));
|
|
300
376
|
this.logPhase('fast.llm.start', sessionId, { model: chatCandidates[0] || '' });
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
377
|
+
const fastResult = await this.streamChatWithHistory(content, prompt, historyMessages, onChunk);
|
|
378
|
+
reply = fastResult.content;
|
|
379
|
+
this.logPhase('fast.llm.end', sessionId, {
|
|
380
|
+
durationMs: Math.round(now() - tLLM),
|
|
381
|
+
...this.usageLogFields(fastResult.usage ?? undefined),
|
|
382
|
+
});
|
|
383
|
+
logger.debug(`[快速路径] 过滤=${filterMs}ms, 记忆=${memMs}ms, LLM=${(now() - tLLM).toFixed(0)}ms, 总=${(now() - t0).toFixed(0)}ms`);
|
|
384
|
+
await this.finalizeActiveTurn({
|
|
385
|
+
usage: fastResult.usage ?? EMPTY_USAGE,
|
|
386
|
+
path: 'fast',
|
|
387
|
+
model: fastResult.model,
|
|
388
|
+
});
|
|
304
389
|
}
|
|
305
390
|
else {
|
|
306
391
|
this.logPhase('path.agent', sessionId, { toolCount: allTools.length });
|
|
@@ -330,7 +415,7 @@ export class ZhinAgent {
|
|
|
330
415
|
const systemPrompt = `${richPrompt}
|
|
331
416
|
${contextHint}
|
|
332
417
|
${preData ? `\nPre-fetched data:\n${preData}\n` : ''}`;
|
|
333
|
-
logger.
|
|
418
|
+
logger.debug(formatCompact({ mode: 'agent', prompt_chars: systemPrompt.length }));
|
|
334
419
|
logger.debug(`[System Prompt Full]\n${systemPrompt}\n---END---`);
|
|
335
420
|
const agentTools = applyExecPolicyToTools(this.config, resolvedTools);
|
|
336
421
|
// Adaptive maxIterations: boost when skills are active (multi-step skill flows)
|
|
@@ -352,7 +437,7 @@ ${preData ? `\nPre-fetched data:\n${preData}\n` : ''}`;
|
|
|
352
437
|
orchestrationPlugin = getPlugin().root ?? getPlugin();
|
|
353
438
|
}
|
|
354
439
|
catch {
|
|
355
|
-
logger.warn(
|
|
440
|
+
logger.warn(formatCompact({ warn: 'no_host_plugin' }));
|
|
356
441
|
}
|
|
357
442
|
}
|
|
358
443
|
const agent = createAgent(this.provider, {
|
|
@@ -376,13 +461,23 @@ ${preData ? `\nPre-fetched data:\n${preData}\n` : ''}`;
|
|
|
376
461
|
try {
|
|
377
462
|
this.logPhase('agent.run.start', sessionId, { model: chatCandidates[0] || '' });
|
|
378
463
|
result = await runWithBashToolContext(contextForTools, () => agent.run(userMessageWithHistory, []));
|
|
379
|
-
this.logPhase('agent.run.end', sessionId, {
|
|
464
|
+
this.logPhase('agent.run.end', sessionId, {
|
|
465
|
+
iterations: result.iterations,
|
|
466
|
+
durationMs: Math.round(now() - tAgent),
|
|
467
|
+
...this.usageLogFields(result.usage),
|
|
468
|
+
});
|
|
380
469
|
}
|
|
381
470
|
finally {
|
|
382
471
|
agent.dispose();
|
|
383
472
|
}
|
|
384
473
|
reply = stripHallucinatedToolCalls(stripThinkBlocks(result.content)) || this.fallbackFormat(result.toolCalls);
|
|
385
|
-
logger.
|
|
474
|
+
logger.debug(`[Agent 路径] 过滤=${filterMs}ms, 记忆=${memMs}ms, Agent=${(now() - tAgent).toFixed(0)}ms, 总=${(now() - t0).toFixed(0)}ms`);
|
|
475
|
+
await this.finalizeActiveTurn({
|
|
476
|
+
usage: result.usage,
|
|
477
|
+
path: 'agent',
|
|
478
|
+
iterations: result.iterations,
|
|
479
|
+
model: chatCandidates[0] || undefined,
|
|
480
|
+
});
|
|
386
481
|
}
|
|
387
482
|
await this.saveToSession(sessionId, content, reply, sceneId);
|
|
388
483
|
triggerAIHook(createAIHookEvent('message', 'sent', sessionId, {
|
|
@@ -406,7 +501,10 @@ ${preData ? `\nPre-fetched data:\n${preData}\n` : ''}`;
|
|
|
406
501
|
runWorker: (goal, toolQuery) => this.runDeferredWorker(goal, toolQuery, context, toolSearchPool),
|
|
407
502
|
});
|
|
408
503
|
this.deferredCatalog = built.deferred;
|
|
409
|
-
logger.
|
|
504
|
+
logger.debug(formatCompact({
|
|
505
|
+
tool_search: `${built.orchestratorTools.length}+${built.deferred.length}`,
|
|
506
|
+
stats: built.domainStats,
|
|
507
|
+
}));
|
|
410
508
|
return { tools: built.orchestratorTools, deferredStats: built.domainStats };
|
|
411
509
|
}
|
|
412
510
|
async runDeferredWorker(goal, toolQuery, context, allTools) {
|
|
@@ -436,10 +534,25 @@ ${preData ? `\nPre-fetched data:\n${preData}\n` : ''}`;
|
|
|
436
534
|
const discipline = `# Discipline\n${FIXED_DISCIPLINE_RULES.map(rule => `- ${rule}`).join('\n')}`;
|
|
437
535
|
return `${discipline}\n\n${basePrompt}`;
|
|
438
536
|
}
|
|
537
|
+
usageLogFields(usage) {
|
|
538
|
+
if (!usage)
|
|
539
|
+
return {};
|
|
540
|
+
return {
|
|
541
|
+
promptTokens: usage.prompt_tokens,
|
|
542
|
+
completionTokens: usage.completion_tokens,
|
|
543
|
+
totalTokens: usage.total_tokens,
|
|
544
|
+
};
|
|
545
|
+
}
|
|
439
546
|
logPhase(phase, sessionId, extra = {}) {
|
|
440
547
|
if (!this.phaseTraceEnabled)
|
|
441
548
|
return;
|
|
442
|
-
|
|
549
|
+
const flat = { phase, session: sessionId };
|
|
550
|
+
for (const [k, v] of Object.entries(extra)) {
|
|
551
|
+
if (v === undefined || v === null)
|
|
552
|
+
continue;
|
|
553
|
+
flat[k] = typeof v === 'object' ? JSON.stringify(v) : v;
|
|
554
|
+
}
|
|
555
|
+
logger.info(formatCompact(flat));
|
|
443
556
|
}
|
|
444
557
|
async processMultimodal(parts, context, onChunk) {
|
|
445
558
|
const { senderId, sceneId, platform } = context;
|
|
@@ -447,8 +560,10 @@ ${preData ? `\nPre-fetched data:\n${preData}\n` : ''}`;
|
|
|
447
560
|
const userId = senderId || 'unknown';
|
|
448
561
|
const rateCheck = this.rateLimiter.check(userId);
|
|
449
562
|
if (!rateCheck.allowed) {
|
|
563
|
+
await this.finalizeActiveTurn({ usage: EMPTY_USAGE, path: 'rate_limited' });
|
|
450
564
|
return parseOutput(rateCheck.message || '请稍后再试');
|
|
451
565
|
}
|
|
566
|
+
this.beginActiveTurn();
|
|
452
567
|
const rawHistoryMessages = await this.buildHistoryMessages(sessionId);
|
|
453
568
|
const profileSummary = await this.userProfiles.buildProfileSummary(userId);
|
|
454
569
|
const personaEnhanced = this.buildDisciplinedPrompt(buildEnhancedPersona(this.config, profileSummary, ''));
|
|
@@ -509,11 +624,16 @@ ${preData ? `\nPre-fetched data:\n${preData}\n` : ''}`;
|
|
|
509
624
|
{ role: 'user', content: llmParts },
|
|
510
625
|
];
|
|
511
626
|
let reply = '';
|
|
627
|
+
let lastUsage = null;
|
|
628
|
+
let usedVisionModel = visionCandidates[0] || '';
|
|
512
629
|
for (let i = 0; i < visionCandidates.length; i++) {
|
|
513
630
|
const visionModel = visionCandidates[i];
|
|
631
|
+
usedVisionModel = visionModel;
|
|
514
632
|
try {
|
|
515
633
|
reply = '';
|
|
516
634
|
for await (const chunk of this.provider.chatStream({ model: visionModel, messages })) {
|
|
635
|
+
if (chunk.usage)
|
|
636
|
+
lastUsage = chunk.usage;
|
|
517
637
|
const delta = chunk.choices?.[0]?.delta;
|
|
518
638
|
if (!delta)
|
|
519
639
|
continue;
|
|
@@ -526,8 +646,10 @@ ${preData ? `\nPre-fetched data:\n${preData}\n` : ''}`;
|
|
|
526
646
|
}
|
|
527
647
|
reply = stripThinkBlocks(reply);
|
|
528
648
|
if (!reply) {
|
|
529
|
-
logger.warn(
|
|
649
|
+
logger.warn(formatCompact({ mode: 'multimodal', fallback: visionModel, reason: 'empty_stream' }));
|
|
530
650
|
const response = await this.provider.chat({ model: visionModel, messages });
|
|
651
|
+
if (response.usage)
|
|
652
|
+
lastUsage = response.usage;
|
|
531
653
|
const msg = response.choices[0]?.message?.content;
|
|
532
654
|
reply = stripThinkBlocks(typeof msg === 'string' ? msg : '');
|
|
533
655
|
}
|
|
@@ -539,13 +661,19 @@ ${preData ? `\nPre-fetched data:\n${preData}\n` : ''}`;
|
|
|
539
661
|
if (isLast) {
|
|
540
662
|
try {
|
|
541
663
|
const response = await this.provider.chat({ model: visionModel, messages });
|
|
664
|
+
if (response.usage)
|
|
665
|
+
lastUsage = response.usage;
|
|
542
666
|
const msg = response.choices[0]?.message?.content;
|
|
543
667
|
reply = stripThinkBlocks(typeof msg === 'string' ? msg : '');
|
|
544
668
|
}
|
|
545
669
|
catch { /* all candidates exhausted */ }
|
|
546
670
|
}
|
|
547
671
|
else {
|
|
548
|
-
logger.warn(
|
|
672
|
+
logger.warn(formatCompact({
|
|
673
|
+
mode: 'multimodal',
|
|
674
|
+
fallback: `${visionModel}→${visionCandidates[i + 1]}`,
|
|
675
|
+
error: truncatePreview(err.message, 80),
|
|
676
|
+
}));
|
|
549
677
|
}
|
|
550
678
|
}
|
|
551
679
|
}
|
|
@@ -553,6 +681,11 @@ ${preData ? `\nPre-fetched data:\n${preData}\n` : ''}`;
|
|
|
553
681
|
reply = '抱歉,我无法理解这条消息。';
|
|
554
682
|
reply = stripHallucinatedToolCalls(reply);
|
|
555
683
|
await this.saveToSession(sessionId, textContent, reply, sceneId);
|
|
684
|
+
await this.finalizeActiveTurn({
|
|
685
|
+
usage: lastUsage ?? EMPTY_USAGE,
|
|
686
|
+
path: 'multimodal',
|
|
687
|
+
model: usedVisionModel,
|
|
688
|
+
});
|
|
556
689
|
return parseOutput(reply);
|
|
557
690
|
}
|
|
558
691
|
// ── Internal helpers ────────────────────────────────────────────────
|
|
@@ -584,6 +717,7 @@ ${preData ? `\nPre-fetched data:\n${preData}\n` : ''}`;
|
|
|
584
717
|
}
|
|
585
718
|
async streamChatWithHistory(content, systemPrompt, history, onChunk, preferredModel) {
|
|
586
719
|
const candidates = this.resolveModelCandidates('chat', preferredModel);
|
|
720
|
+
const empty = (model) => ({ content: '', usage: null, model });
|
|
587
721
|
const turnTimeout = this.config.timeout;
|
|
588
722
|
const userContent = history.length > 0
|
|
589
723
|
? buildUserMessageWithHistory(history, content)
|
|
@@ -619,21 +753,19 @@ ${preData ? `\nPre-fetched data:\n${preData}\n` : ''}`;
|
|
|
619
753
|
}
|
|
620
754
|
}
|
|
621
755
|
})());
|
|
622
|
-
if (lastUsage) {
|
|
623
|
-
logger.info(`[闲聊] token 用量: prompt=${lastUsage.prompt_tokens}, completion=${lastUsage.completion_tokens}, total=${lastUsage.total_tokens} (model=${model})`);
|
|
624
|
-
}
|
|
625
756
|
result = stripThinkBlocks(result);
|
|
626
|
-
if (result)
|
|
627
|
-
return result;
|
|
757
|
+
if (result) {
|
|
758
|
+
return { content: result, usage: lastUsage, model };
|
|
759
|
+
}
|
|
628
760
|
// Streaming returned empty content — try non-streaming with same model
|
|
629
|
-
logger.warn(
|
|
761
|
+
logger.warn(formatCompact({ stream: 'empty', model }));
|
|
630
762
|
const response = await withTurnTimeout(this.provider.chat({ model, messages }));
|
|
631
763
|
const msg = response.choices?.[0]?.message?.content;
|
|
632
764
|
result = stripThinkBlocks(typeof msg === 'string' ? msg : '');
|
|
633
765
|
if (result) {
|
|
634
766
|
if (onChunk)
|
|
635
767
|
onChunk(result, result);
|
|
636
|
-
return result;
|
|
768
|
+
return { content: result, usage: response.usage ?? null, model };
|
|
637
769
|
}
|
|
638
770
|
}
|
|
639
771
|
catch (err) {
|
|
@@ -646,16 +778,22 @@ ${preData ? `\nPre-fetched data:\n${preData}\n` : ''}`;
|
|
|
646
778
|
let result = stripThinkBlocks(typeof msg === 'string' ? msg : '');
|
|
647
779
|
if (onChunk && result)
|
|
648
780
|
onChunk(result, result);
|
|
649
|
-
|
|
781
|
+
if (result) {
|
|
782
|
+
return { content: result, usage: response.usage ?? null, model };
|
|
783
|
+
}
|
|
784
|
+
return empty(model);
|
|
650
785
|
}
|
|
651
786
|
catch {
|
|
652
|
-
return
|
|
787
|
+
return empty(model);
|
|
653
788
|
}
|
|
654
789
|
}
|
|
655
|
-
logger.warn(
|
|
790
|
+
logger.warn(formatCompact({
|
|
791
|
+
fallback: `${model}→${candidates[i + 1]}`,
|
|
792
|
+
error: truncatePreview(err.message, 80),
|
|
793
|
+
}));
|
|
656
794
|
}
|
|
657
795
|
}
|
|
658
|
-
return '';
|
|
796
|
+
return empty(candidates[0] || '');
|
|
659
797
|
}
|
|
660
798
|
async saveToSession(sessionId, userContent, assistantContent, sceneId) {
|
|
661
799
|
await this.memory.saveRound(sessionId, userContent, assistantContent);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/zhin-agent/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/zhin-agent/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { Usage } from '@zhin.js/ai';
|
|
2
|
+
export type ZhinAgentTurnPath = 'chat' | 'fast' | 'agent' | 'multimodal' | 'rate_limited';
|
|
3
|
+
export interface ZhinAgentTurnMetrics {
|
|
4
|
+
/** 主 agent + 本轮 spawn 的子 agent 合计 */
|
|
5
|
+
usage: Usage;
|
|
6
|
+
/** 仅主 agent(无子 agent 时与 usage 相同) */
|
|
7
|
+
mainUsage?: Usage;
|
|
8
|
+
/** 本轮 spawn 的子 agent 合计 */
|
|
9
|
+
subagentUsage?: Usage;
|
|
10
|
+
path: ZhinAgentTurnPath;
|
|
11
|
+
iterations?: number;
|
|
12
|
+
model?: string;
|
|
13
|
+
}
|
|
14
|
+
export declare function addUsage(target: Usage, source?: Usage): void;
|
|
15
|
+
export declare const EMPTY_USAGE: Usage;
|
|
16
|
+
/** AI Handler 层统一汇总日志(紧凑 key-value) */
|
|
17
|
+
export declare function formatAiHandlerCompleteLog(metrics: ZhinAgentTurnMetrics, totalMs: number): string;
|
|
18
|
+
/** @deprecated 使用 formatCompactUsage from @zhin.js/logger */
|
|
19
|
+
export declare function formatZhinAgentTurnUsage(usage: Usage, subagentUsage?: Usage): string;
|
|
20
|
+
//# sourceMappingURL=turn-metrics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"turn-metrics.d.ts","sourceRoot":"","sources":["../../src/zhin-agent/turn-metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGzC,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,YAAY,GAAG,cAAc,CAAC;AAE1F,MAAM,WAAW,oBAAoB;IACnC,qCAAqC;IACrC,KAAK,EAAE,KAAK,CAAC;IACb,qCAAqC;IACrC,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB,2BAA2B;IAC3B,aAAa,CAAC,EAAE,KAAK,CAAC;IACtB,IAAI,EAAE,iBAAiB,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,KAAK,GAAG,IAAI,CAK5D;AAED,eAAO,MAAM,WAAW,EAAE,KAIzB,CAAC;AAEF,uCAAuC;AACvC,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAQjG;AAED,6DAA6D;AAC7D,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,EAAE,KAAK,GAAG,MAAM,CAEpF"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { formatCompactLog, formatCompactUsage } from '@zhin.js/logger';
|
|
2
|
+
export function addUsage(target, source) {
|
|
3
|
+
if (!source)
|
|
4
|
+
return;
|
|
5
|
+
target.prompt_tokens += source.prompt_tokens;
|
|
6
|
+
target.completion_tokens += source.completion_tokens;
|
|
7
|
+
target.total_tokens += source.total_tokens;
|
|
8
|
+
}
|
|
9
|
+
export const EMPTY_USAGE = {
|
|
10
|
+
prompt_tokens: 0,
|
|
11
|
+
completion_tokens: 0,
|
|
12
|
+
total_tokens: 0,
|
|
13
|
+
};
|
|
14
|
+
/** AI Handler 层统一汇总日志(紧凑 key-value) */
|
|
15
|
+
export function formatAiHandlerCompleteLog(metrics, totalMs) {
|
|
16
|
+
return formatCompactLog('AI Handler', {
|
|
17
|
+
total_ms: Math.round(totalMs),
|
|
18
|
+
usage: formatCompactUsage(metrics.usage, metrics.subagentUsage),
|
|
19
|
+
mode: metrics.path,
|
|
20
|
+
iter: metrics.iterations,
|
|
21
|
+
model: metrics.model,
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
/** @deprecated 使用 formatCompactUsage from @zhin.js/logger */
|
|
25
|
+
export function formatZhinAgentTurnUsage(usage, subagentUsage) {
|
|
26
|
+
return formatCompactUsage(usage, subagentUsage);
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=turn-metrics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"turn-metrics.js","sourceRoot":"","sources":["../../src/zhin-agent/turn-metrics.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAgBvE,MAAM,UAAU,QAAQ,CAAC,MAAa,EAAE,MAAc;IACpD,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,CAAC;IAC7C,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,iBAAiB,CAAC;IACrD,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC;AAC7C,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAU;IAChC,aAAa,EAAE,CAAC;IAChB,iBAAiB,EAAE,CAAC;IACpB,YAAY,EAAE,CAAC;CAChB,CAAC;AAEF,uCAAuC;AACvC,MAAM,UAAU,0BAA0B,CAAC,OAA6B,EAAE,OAAe;IACvF,OAAO,gBAAgB,CAAC,YAAY,EAAE;QACpC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAC7B,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC;QAC/D,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,OAAO,CAAC,UAAU;QACxB,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC,CAAC;AACL,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,wBAAwB,CAAC,KAAY,EAAE,aAAqB;IAC1E,OAAO,kBAAkB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;AAClD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zhin.js/agent",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.22",
|
|
4
4
|
"description": "Zhin AI Agent — session, ZhinAgent, init; composes @zhin.js/core providers and tools",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./lib/index.js",
|
|
@@ -18,8 +18,9 @@
|
|
|
18
18
|
"dependencies": {
|
|
19
19
|
"he": "^1.2.0",
|
|
20
20
|
"js-yaml": "^4.1.0",
|
|
21
|
-
"@zhin.js/ai": "1.1.
|
|
22
|
-
"@zhin.js/core": "1.1.
|
|
21
|
+
"@zhin.js/ai": "1.1.22",
|
|
22
|
+
"@zhin.js/core": "1.1.24",
|
|
23
|
+
"@zhin.js/logger": "0.1.64"
|
|
23
24
|
},
|
|
24
25
|
"peerDependencies": {
|
|
25
26
|
"@modelcontextprotocol/sdk": "^1.29.0"
|