@agentskit/core

中文文档
1.15.0发布于 2026/10/10MITTypeScriptESM + CJS零依赖构建来源已验证近 30 天下载 3.8万

可移动代理 Kit 运行时间用于聊天管弦乐,工具,内存和检索.

中文使用文档
文档目录16 节
  1. 已核实的证据
  2. 如何适应生态系统
  3. 为什么是核心
  4. 安装
  5. 快速实例
  6. 持久确认和内容部分
  7. 特征
  8. 处理错误
  9. 类型安全工具 defineTool
  10. 亚波斯出口(树干,零干重)
  11. 生态系统
  12. 贡献者
  13. 许可证
  14. 文档
  15. 成熟性和相容性
  16. 捐款

@ agentskit/ 核心

简介 : major-package

AgentsKit

每个 AgentsKit 软件包所基于的零依赖性基础——在10 KB gzip 预算下,边缘准备,在 JavaScript 运行的任何地方工作.

npm version npm downloads bundle size license stability GitHub stars

标记 : ai • 妇女 agents • 妇女 llm • 妇女 agentskit • 妇女 typescript • 妇女 orchestration • 妇女 streaming • 妇女 chat

已核实的证据

如何适应生态系统

@agentskit/core是合同层:使适配器,工具,技能,内存,检索器和运行时间可以互换的微小而稳定的地基.

  • 探员Kit:与本回购中的其他包一起作曲,从可互换的小零件来构建代理.
  • 书记官处: 查找已使用此图层的即时代理和模板 登记. agentskit.io。 。 。 .
  • 游戏本: 学习本层背后的生产模式 游戏本. agentskit.io。 。 。 .

文档 : 软件包指南 • 妇女 代理交接

为什么是核心

  • 外部依赖性为零 ——无 npm bloat,无审计出乎意料;安装以毫秒为单位,并在Node,Deno,边缘运行时间,浏览器中工作
  • 释放整个生态系统的稳定契约 6个ADR定位接口(Adapter, (中文(简体) ), Tool, (中文(简体) ), Skill, (中文(简体) ), Memory, (中文(简体) ), Retriever, (中文(简体) ), Runtime)使每个软件包可以互换
  • 包含聊天状态机器 —— 说 createChatController 处理流线、中止和消息历史,所以你从不执行循环
  • 不到10克贝克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克 ——在社区倡议中执行预算;你可以长期承诺的基础

安装

npm install @agentskit/core

快速实例

import { createChatController, createInMemoryMemory } from '@agentskit/core'
import { anthropic } from '@agentskit/adapters'

const controller = createChatController({
  adapter: anthropic({ apiKey: process.env.ANTHROPIC_API_KEY, model: 'claude-sonnet-4-6' }),
  memory: createInMemoryMemory(),
})

await controller.send('Hello!')
console.log(controller.getState().messages)

持久确认和内容部分

controller.send 接受字符串或 ContentPart[]; 部件保留在用户信件上 content 是他们的文本投影。 共享 ChatReturn.send 签名还接受部分;现有的字符串调用器仍然兼容。 结构 ChatController 执行必须提供所需的 decide 方法.

配置 ChatConfig.decisionStore 带对讲机 ToolDecisionStore,然后调用 await controller.decide(toolCallId, 'approve') 或者说 await controller.decide(toolCallId, 'deny', reason)。一个控制器在出现时使用它的活式对话,包括未保存的回合;否则它会加载已配置的聊天内存,保存后期的回合;所声称的快照只有在不存在当前对话时才是一种倒置. 它补补并坚持目标工具结果. 该模型仅针对目标助理消息中每个确认被决定时最新完成的助理消息恢复运行;工具结果按照调用顺序跟随他们的出处助理消息. 等待确认被保存到配置聊天存储器和决定库后,才能完成建议.

商店执行插入 - 如果缺席 putPending, (中文(简体) ), get原子 claim (待) 索赔,只将快照还给胜者) settle (维持相应的索赔最终结果). 存储记录必须活过进程重启,每个工具调用的方法必须可线性化. 书写之后同步读取的不是原子主张:使用数据库有条件的更新/交易或等同的比较和分页,包括跨进程. 使用申请授权的对话范围. 数据库索赔可以使用 UPDATE ... WHERE status = 'pending' RETURNING ...;核心船舶没有执行数据库.

同样的决定甚至在声称时也是一意孤行的:它们返回记录的结果,或者在执行时的原调,而不再引用工具或模型. 流式确认在 onToolCall。重启后,流化决定需要当前 ChatMemory:到达快照是不可改变的,可能会省略后期的来电;没有目前的谈话, AK_CONFIG_INVALID 拒绝一个不完整的流出快照后, 才会声称 。 活控制器不需要内存.

同上,只比较裁决的不合理性;一再拒绝和不同的理由保留了最初的理由和结果。 同决定终端重放返回记录 ToolCall 不引用工具或模型。 未知的ID 提升 AK_ACTION_NOT_FOUND;冲突的决定或不再待决的目标引起 AK_ACTION_ALREADY_DECIDED。工具失败是终端,并输入模型;重试需要新的建议ID。 索赔后的空难为应用程序调节留下了不确定的记录,从不自动重复试验副作用。 在对话中将不同的电话序列化,以保护笔录.

为了一个卡住 claimed 记录,操作员必须检查 get(id) 和域行刑证据, 停止原始工人, 并末期 settle 将索赔与经证明的结果或明确的不确定失败相匹配。 绝不删除或重置索赔待决。 在当前聊天内存中调试目标调用,然后明确继续使用新用户转接;任何经授权的重试都需要新的建议ID. 参见业务回收程序 IDR 0042 (英语)。 。 。 .

approve 财务报告和审定财务报表 deny 已贬值。 有一家决定店 他们委托给 decide 并分享它的原子要求和打字错误;没有商店,它们保留了生成本地行为。 见 IDR 0042 (英语)。 。 。 .

特征

  • createChatController ——有中止支持的流能聊天状态机;在成功转会后会保存内存,在失败或中止转会后永远不会保存. 背景记忆和技能激活失败通过 onError。 。 。 .
  • createInMemoryMemory — 原型化的零配置进程内存
  • createLocalStorageMemory – 浏览器/演示持续;存储的数据格式不当 MemoryError 而不是默默地成为空虚的历史
  • createStaticRetriever - 用于演示和倒置的确定符号重叠检索 @agentskit/rag 用于语义制作检索
  • parseToolArgs 键入 JSON 参数分析,用于需要故障闭塞验证的适配器; safeParseArgs 保留相容性帮助
  • createId(prefix) 前缀外加密码随机UUID; generateId(prefix) 保留用于信件和呼叫的相容性帮助
  • 每个合同的脚本类型 : ToolDefinition, (中文(简体) ), SkillDefinition, (中文(简体) ), AgentEvent, (中文(简体) ), Adapter, (中文(简体) ), ChatMemory, (中文(简体) ), Retriever, (中文(简体) ), ChatController
  • 事件发射器 AgentEvent 串流 – 随附的可观察钩
  • AgentEvent.correlation 是一个可选、提供者中立的身份信封: operationId 跨越边界稳定 runId, (中文(简体) ), sessionId, (中文(简体) ), turnId, (中文(简体) ), actionId,以及 traceId 保留本地含义
  • 双 CJS/ ESM 输出, 严格类型脚本, 不 any
  • 静电源护卫规则可从 @agentskit/core/rules 作为 CORE_RULES;它们用于工具,而非核心运行时间所导入.

处理错误

探员 装船a 教学错误系统 由 Rust 编译器所启发. 每个错误都包含一个 code页:1 hint 给固定,和一个 docsUrl 不再含糊不清 "Something went wrong" 留言.

import {
  AgentsKitError,
  AdapterError,
  ToolError,
  MemoryError,
  ConfigError,
  ErrorCodes,
} from '@agentskit/core'

try {
  await runtime.run(task)
} catch (err) {
  if (err instanceof ToolError) {
    // err.code     → 'AK_TOOL_EXEC_FAILED'
    // err.hint     → actionable suggestion
    // err.docsUrl  → https://www.agentskit.io/docs/agents/tools
    console.error(err.toString())
    // error[AK_TOOL_EXEC_FAILED]: ...
    //   --> Hint: ...
    //   --> Docs: https://www.agentskit.io/docs/agents/tools
  }
}

可用错误代码( 通过 ErrorCodes:

代码被丢弃
AK_ADAPTER_MISSING未向控制器提供适配器
AK_ADAPTER_STREAM_FAILED给提供者的串流呼叫失败
AK_TOOL_NOT_FOUND请求的工具名称没有注册
AK_TOOL_EXEC_FAILEDexecute() 掷出
AK_TOOL_PEER_MISSING未安装可选工具对等依赖
AK_TOOL_INVALID_INPUT工具参数或建议无效
AK_TOOL_QUOTA_EXCEEDED工具执行超过其配置的配额
AK_TOOL_FORBIDDEN策略拒绝工具执行
AK_MEMORY_LOAD_FAILED内存. load () 失败
AK_MEMORY_SAVE_FAILED内存. save () 失败
AK_MEMORY_CLEAR_FAILED内存. clear () 失败
AK_MEMORY_DESERIALIZE_FAILED持续状态腐败
AK_MEMORY_PEER_MISSING未安装可选内存后端
AK_MEMORY_REMOTE_HTTP远程内存请求失败
AK_CONFIG_INVALID缺少必要的配置或类型错误
AK_RUNTIME_INVALID_INPUT运行时间输入无效
AK_RUNTIME_STEP_FAILED运行时间步骤失败
AK_RUNTIME_DELEGATE_FAILED代理执行失败
AK_SANDBOX_DENIED沙盒政策拒绝执行
AK_SANDBOX_INVALID_TOOL工具对沙盒无效
AK_SANDBOX_PEER_MISSING未安装可选沙盒后端
AK_SANDBOX_BACKEND_FAILED沙盒后端失败
AK_SKILL_INVALID技能定义无效
AK_SKILL_DUPLICATE技能身份被复制

类型安全工具 defineTool

defineTool 推断类型脚本类型 execute是因为 args 参数出自JSON Schema——没有手工铸造.

import { defineTool } from '@agentskit/core'

const greet = defineTool({
  name: 'greet',
  schema: {
    type: 'object',
    properties: { name: { type: 'string' } },
    required: ['name'],
  } as const,   // as const is required for inference
  execute(args) {
    // args.name → string  (inferred, not cast)
    return `Hello, ${args.name}!`
  },
})

使用 InferSchemaType<typeof schema> 引用代码库中其他部分的推断类型.

亚波斯出口(树干,零干重)

子路径目的
@agentskit/core/agent-schema声明YAML/JSON代理定义+验证符
@agentskit/core/prompt-experimentsA/B 有 PostHog / GrowthBook / 自定义旗下提供者的提示
@agentskit/core/auto-summarizeChatMemory 折叠旧的包装会变成摘要
@agentskit/core/hitl核准大门+ ApprovalStore
@agentskit/core/securityPII和秘密编辑+注射检测器+限速器
@agentskit/core/fuzzy-match确定 Jaro- Winkler 匹配 KYC、 制裁、 调试和实体解析
@agentskit/core/finding光学 Finding 编号 : Severity 用于审查和遵守结果的形状
@agentskit/core/compose-tool链入一个宏工具的 N 工具
@agentskit/core/self-debug用 LLM 修正参数重试失败的工具
@agentskit/core/generative-ui已打入UI元素树 + 代码 / 标记下 / html / 图表文物
@agentskit/core/a2a代理对代理协议规格(JSON-RPC,任何运输)
@agentskit/core/manifestSkill + 工具显示格式( MCP 兼容)
@agentskit/core/eval-format便携式 eval 数据集 + 运行结果 JSON
@agentskit/core/memory-validation未经信任的序列式内存记录的验证
@agentskit/core/tool-proposal通过控制器授权为已验证的建议书路由提供公共帮助
@agentskit/core/hashRFC 8785 Canonic JSON和SHA-256助手

见 代理人核心指南 整个合同.

生态系统

软件包作用
@ agentskit/ 适应器LLM 聊天+ 嵌入提供者、 路由器、 综艺、 倒置
@ agentskit/ 运行时间createRuntime, (中文(简体) ), speculate、地形、耐用处决、背景代理
@ agentskit/ 反应useChat无头聊天组件
@ agentskit/ veue (帮助) • 妇女 丝绒 • 妇女 固态 • 妇女 反应-内在 • 妇女 角线一样 ChatReturn 合同,每个框架一个包
@ agentskit/ 工具内建工具,20+集成,MCP桥
@ agentskit/ 记忆聊天+矢量+分级+加密+图表存储
@ agentskit/ 擦伤插座和游戏 RAG + 后排 + 加载器
@ agentskit/ 技能预备人员+市场
@ agentskit/ 可观察性追踪、审计记录、费用保障、支架
@ agentskit/ sandbox (英语)安全代码执行+强制沙盒政策
@ agentskit/ eval (英语)Eval套房,定型重播,快照,CI记者
@ agentskit/ cli (英语)agentskit init / chat / run / ai / dev / doctor

贡献者

AgentsKit contributors

许可证

麻省理工学院——见 自由主义。 。 。 .

文档

完整文档 • 妇女 GitHub 图像

成熟性和相容性

  • 稳定性: 稳定 看到了吗 文件/服务.md
  • 节点.js 20+ 财务报告和审定财务报表 类型脚本 严格模式
  • 发表于 @agentskit/core

捐款

见 捐款额 单曲 自由主义。 。 。 .

版本与发布记录

@agentskit/core 共发布 36 个版本,首次发布于 2026/04/06;过去 12 个月发布了 36 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.15.0latest2026/10/1026 天前
1.14.12026/10/031 个月前
1.14.02026/10/031 个月前
1.13.02026/09/291 个月前
1.12.102026/09/261 个月前
1.12.92026/09/032 个月前

关于 @agentskit/core 的常见问题

@agentskit/core 是什么?

可移动代理 Kit 运行时间用于聊天管弦乐,工具,内存和检索.

如何安装 @agentskit/core?

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

@agentskit/core 支持 TypeScript 吗?

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

@agentskit/core 支持 ESM 还是 CommonJS?

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

@agentskit/core 需要什么版本的 Node.js?

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

@agentskit/core 可以商用吗?

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

@agentskit/core 的下载量有多少?

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

@agentskit/core 还在维护吗?

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