@cicctencent/agent-core

中文文档
1.0.86发布于 2026/11/06MITTypeScriptESM + CJS近 30 天下载 2416

Core engine for AI agent — LLM orchestration, tool execution, MCP, skill routing, security, and memory pipeline.

原始使用文档
文档目录8 节
  1. 文档
  2. 快速开始
  3. A2A 协议集成
  4. 多模态输入
  5. 对话历史持久化
  6. Token 用量追踪与成本管控
  7. 构建
  8. 运行时要求

@cicctencent/agent-core

内部库,仅供项目内部使用,不对外发布。

AI Agent 核心引擎,提供 ReAct 循环编排、多 LLM 供应商抽象、工具注册与执行、MCP 协议集成、Skill 路由、安全守卫、渐进式记忆管道、A2A 协议互操作(流式事件透传),以及工具风险评估、审批管理、运行注册表、引擎复用池、JSON 存储、可观测性日志、多模态输入、对话历史持久化、Token 用量追踪与成本管控、声明式 Agent 定义(YAML front matter)、Anthropic Prompt 缓存优化、SSE 断流中断检测、非破坏性上下文投影(Context Collapse)、工作空间笔记中间件、知识库 RAG(KnowledgeBase + EmbeddingProvider)、向量检索(VectorIndex)、邮件发送接口(EmailProvider)、日历事件类型(CalendarEvent/CalendarStore)、批处理(BatchProvider,OpenAI Batch API)、文件上传与管理(FileProvider,OpenAI Files API)等应用级能力。

文档

快速开始

pnpm add @cicctencent/agent-core
import { AgentEngine, createLLMProvider, ToolRegistry, ContextManager } from '@cicctencent/agent-core';

const llm = createLLMProvider({ provider: 'openai', model: 'gpt-4o', apiKey: process.env.OPENAI_API_KEY! });
const toolRegistry = new ToolRegistry();
const engine = new AgentEngine({ llmProvider: llm, toolRegistry, contextManager: new ContextManager(), maxIterations: 10 });

for await (const event of engine.run({ sessionId: 'session-001', message: 'Hello' })) {
  if (event.type === 'message') process.stdout.write(event.content);
  if (event.type === 'done') console.log('\nDone:', event.content);
}

A2A 协议集成

支持将远程 A2A Agent 包装为 SubAgentRunner,与本地 Specialist 并列注册到 delegate_task:

import { A2AClient, createA2ARemoteRunner, createDelegateTool } from '@cicctencent/agent-core';

const client = new A2AClient();
const card = await client.discoverAgent('https://remote-agent.example.com');

const remoteRunner = createA2ARemoteRunner({
  agentUrl: card.url,
  name: `[Remote] ${card.name}`,
  description: card.description,
  streaming: card.capabilities.streaming,
  client,
  skillId: 'specialist_123',  // 可选,供服务端路由到对应的 specialist
});

const delegateTool = createDelegateTool([localSpecialist, remoteRunner]);
if (delegateTool) registry.register(delegateTool);

核心特性:

  • 事件透传:Core 不对 A2A SSE 事件做过滤,服务端发的所有事件均透传给调用方
  • 流式自动降级:远程不支持流式时自动回退到同步模式
  • 取消支持:流式传输支持 AbortSignal 外部取消
  • 心跳重置超时:逐次读取超时,心跳可重置计时器,适合长时间任务

详见 A2A 协议文档。

多模态输入

Message.content 支持 string | ContentPart[] | null,可传图片/文件给 Vision 模型:

import type { ContentPart } from '@cicctencent/agent-core';

const content: ContentPart[] = [
  { type: 'text', text: '这张图片里是什么?' },
  { type: 'image', source: 'data:image/png;base64,iVBOR...', mimeType: 'image/png' },
];

for await (const event of engine.run({ sessionId: 's1', message: content })) {
  if (event.type === 'message') process.stdout.write(event.content);
}
  • TextPart — 文本片段
  • ImagePart — 图片(base64 data URI 或 URL),OpenAI/Anthropic Provider 自动适配
  • FilePart — 文件内容(文本注入上下文)
  • extractTextFromContent() — 从多模态内容提取纯文本

对话历史持久化

通过 HistoryPersistence 接口实现 JSONL append-only 持久化,服务重启后自动恢复:

import { JsonlHistoryPersistence } from '@cicctencent/agent-core';

const persistence = new JsonlHistoryPersistence({ dir: 'history' });
const engine = new AgentEngine({
  // ...
  historyPersistence: persistence,
});

// 重启后恢复
await engine.loadHistory('session-001');

// 历史操作(自动同步持久化)
engine.truncateHistory('session-001', 10);  // 截断到第 10 条
engine.forkHistory('session-001', 'session-002', 5);  // 从第 5 条分叉

Token 用量追踪与成本管控

import { InMemoryUsageTracker } from '@cicctencent/agent-core';

const tracker = new InMemoryUsageTracker();
const engine = new AgentEngine({
  // ...
  usageTracker: tracker,
  tokenBudget: { maxTokens: 500_000, onExceed: 'warn' },
});

// 查询统计
const stats = tracker.stats({ startTime: Date.now() - 86400000 });
console.log(`总 Token: ${stats.totalTokens}, 成本: $${stats.totalCost}`);

// 预算检查
const budget = tracker.checkBudget('session-001', { maxTokens: 100_000 });
if (budget.exceeded) console.warn('预算超限!');
  • 内置 20+ 常见模型定价表(TokenPricing)
  • calculateCost(provider, model, usage) 自动计算成本
  • 按 Provider/Model 分组统计
  • 预算控制:超限时 warn(日志告警)或 abort(中止执行)

构建

pnpm typecheck   # 类型检查
pnpm build       # 生成 .d.ts

运行时要求

Node.js >= 22

版本与发布记录

@cicctencent/agent-core 共发布 195 个版本,首次发布于 2026/06/15;过去 12 个月发布了 195 个版本。

版本发布日期距今
1.0.86latest2026/11/063 天前
1.0.852026/11/063 天前
1.0.842026/11/054 天前
1.0.832026/10/3010 天前
1.0.822026/10/2614 天前
1.0.812026/10/2614 天前

关于 @cicctencent/agent-core 的常见问题

@cicctencent/agent-core 是什么?

Core engine for AI agent — LLM orchestration, tool execution, MCP, skill routing, security, and memory pipeline.

如何安装 @cicctencent/agent-core?

在项目目录运行 npm install @cicctencent/agent-core,或使用 pnpm add / yarn add / bun add。

@cicctencent/agent-core 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@cicctencent/agent-core 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@cicctencent/agent-core 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22.17.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@cicctencent/agent-core 可以商用吗?

@cicctencent/agent-core 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@cicctencent/agent-core 的下载量有多少?

根据 npm 官方下载统计,@cicctencent/agent-core 在 2026/10/10 – 2026/11/08 这 30 天内被下载 2,416 次,日均约 81 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@cicctencent/agent-core 还在维护吗?

最新版本 1.0.86 发布于 2026/11/06(3 天前);至今共发布 195 个版本,其中过去 12 个月发布了 195 个;首次发布于 2026/06/15。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。