@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.
Files changed (43) hide show
  1. package/lib/cron-engine.d.ts.map +1 -1
  2. package/lib/cron-engine.js +3 -3
  3. package/lib/cron-engine.js.map +1 -1
  4. package/lib/deferred-worker-runner.d.ts.map +1 -1
  5. package/lib/deferred-worker-runner.js +12 -2
  6. package/lib/deferred-worker-runner.js.map +1 -1
  7. package/lib/init/create-zhin-agent.js +6 -6
  8. package/lib/init/create-zhin-agent.js.map +1 -1
  9. package/lib/init/register-ai-service.d.ts.map +1 -1
  10. package/lib/init/register-ai-service.js +5 -5
  11. package/lib/init/register-ai-service.js.map +1 -1
  12. package/lib/init/register-ai-trigger.d.ts.map +1 -1
  13. package/lib/init/register-ai-trigger.js +25 -9
  14. package/lib/init/register-ai-trigger.js.map +1 -1
  15. package/lib/init/register-builtin-tools.d.ts.map +1 -1
  16. package/lib/init/register-builtin-tools.js +33 -29
  17. package/lib/init/register-builtin-tools.js.map +1 -1
  18. package/lib/init/register-mcp-from-config.d.ts.map +1 -1
  19. package/lib/init/register-mcp-from-config.js +5 -4
  20. package/lib/init/register-mcp-from-config.js.map +1 -1
  21. package/lib/init/register-mcp-memory-default.d.ts.map +1 -1
  22. package/lib/init/register-mcp-memory-default.js +2 -2
  23. package/lib/init/register-mcp-memory-default.js.map +1 -1
  24. package/lib/orchestrator/tool-selection.d.ts.map +1 -1
  25. package/lib/orchestrator/tool-selection.js +7 -3
  26. package/lib/orchestrator/tool-selection.js.map +1 -1
  27. package/lib/subagent.d.ts +7 -1
  28. package/lib/subagent.d.ts.map +1 -1
  29. package/lib/subagent.js +19 -5
  30. package/lib/subagent.js.map +1 -1
  31. package/lib/zhin-agent/config.d.ts +5 -0
  32. package/lib/zhin-agent/config.d.ts.map +1 -1
  33. package/lib/zhin-agent/config.js +1 -0
  34. package/lib/zhin-agent/config.js.map +1 -1
  35. package/lib/zhin-agent/index.d.ts +13 -0
  36. package/lib/zhin-agent/index.d.ts.map +1 -1
  37. package/lib/zhin-agent/index.js +169 -31
  38. package/lib/zhin-agent/index.js.map +1 -1
  39. package/lib/zhin-agent/turn-metrics.d.ts +20 -0
  40. package/lib/zhin-agent/turn-metrics.d.ts.map +1 -0
  41. package/lib/zhin-agent/turn-metrics.js +28 -0
  42. package/lib/zhin-agent/turn-metrics.js.map +1 -0
  43. package/package.json +4 -3
@@ -15,12 +15,14 @@
15
15
  * 11. 定时任务:cron_add 持久化定时任务
16
16
  * 12. 多模态输入:图片/音频直接传给视觉模型
17
17
  */
18
- import { Logger, getPlugin } from '@zhin.js/core';
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.info(`[工具过滤] ${resolvedTools.length} 个工具${this.config.toolSearch ? ' (toolSearch 编排)' : ''}: ${resolvedTools.map(t => t.name).join(', ') || '(无)'}`);
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.info(`[System Prompt] chat-path: ${chatSystemPrompt.length} chars${liteModel ? `, model=${liteModel}` : ''}`);
264
- logger.debug(`[闲聊路径] 过滤=${filterMs}ms, 记忆=${memMs}ms (${historyMessages.length}条), 0 工具`);
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
- let reply = await this.streamChatWithHistory(content, chatSystemPrompt, historyMessages, onChunk, liteModel);
268
- reply = stripHallucinatedToolCalls(reply);
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, { durationMs: Number(llmMs) });
271
- logger.info(`[闲聊路径] 过滤=${filterMs}ms, 记忆=${memMs}ms, LLM=${llmMs}ms, 总=${(now() - t0).toFixed(0)}ms`);
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.info(`[System Prompt] fast-path: ${prompt.length} chars`);
375
+ logger.debug(formatCompact({ mode: 'fast', prompt_chars: prompt.length }));
300
376
  this.logPhase('fast.llm.start', sessionId, { model: chatCandidates[0] || '' });
301
- reply = await this.streamChatWithHistory(content, prompt, historyMessages, onChunk);
302
- this.logPhase('fast.llm.end', sessionId, { durationMs: Math.round(now() - tLLM) });
303
- logger.info(`[快速路径] 过滤=${filterMs}ms, 记忆=${memMs}ms, LLM=${(now() - tLLM).toFixed(0)}ms, 总=${(now() - t0).toFixed(0)}ms`);
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.info(`[System Prompt] ${systemPrompt.length} chars`);
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('[ZhinAgent] 无 hostPlugin 且 getPlugin() 不可用,Owner 硬编排可能无法自动 ask_user');
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, { iterations: result.iterations });
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.info(`[Agent 路径] 过滤=${filterMs}ms, 记忆=${memMs}ms, Agent=${(now() - tAgent).toFixed(0)}ms, 总=${(now() - t0).toFixed(0)}ms`);
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.info(`[toolSearch] orchestrator=${built.orchestratorTools.length} deferred=${built.deferred.length} (${built.domainStats})`);
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
- logger.info({ phase, sessionId, ...extra }, '[AGENT_PHASE]');
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(`[processMultimodal] ${visionModel} 流式为空,尝试非流式`);
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(`[processMultimodal] ${visionModel} 失败,降级到 ${visionCandidates[i + 1]}: ${err.message}`);
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(`[streamChat] ${model} 流式响应为空,尝试非流式`);
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
- return result;
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(`[streamChat] ${model} 失败,降级到 ${candidates[i + 1]}: ${err.message}`);
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.21",
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.21",
22
- "@zhin.js/core": "1.1.23"
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"