# @anvia/core 中文文档

规范地址：https://npmcn.com/package/%40anvia/core/

版本：1\.18\.0
npm 元数据更新时间：2026-11-06T04:20:47.912Z
中文译文更新时间：2026-11-06T07:34:49.576Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40anvia/core
原文对照：https://npmcn.com/package/%40anvia/core/?lang=original
项目主页：https://github.com/anvia-hq/anvia#readme
源码仓库：https://github.com/anvia-hq/anvia

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：2.1 MB，371 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：1 个
- peer 依赖：zod ^4\.6\.7，@valibot/to-json-schema ^1\.8\.0
- 首次发布：2026-05-03T14:58:16.912Z
- 最新版本发布：2026-11-06T04:20:47.447Z
- 近 30 天下载量：4618（2026-10-06 至 2026-11-04，npm 官方下载统计）
- 已发布版本数：113（近 12 个月 113 个）

## 中文简介

核心运行时间原始人 了解背景的安维亚特工.

## 安装

```sh
npm install @anvia/core
```

也可以使用：`pnpm add @anvia/core`、`yarn add @anvia/core`、`bun add @anvia/core`

## README

# @ anvia/ 核心

构建提供者-独立 AI 代理和工作流程,并配有被键入的工具,流出,结构化输出, 和应用程序的内存。 核心运行模型/工具循环,而您的应用程序选择提供者, 证书、存储和交货.

## 安装

```sh
pnpm add @anvia/core @anvia/openai zod
```

这个例子使用OpenAI. 其他提供者适配器则与同为Core API.

## 快速启动

设定 `OPENAI_API_KEY` 在服务器环境中,然后创建带有输入工具的代理 :

```ts
import { Agent, createTool } from "@anvia/core";
import { OpenAIClient } from "@anvia/openai";
import { z } from "zod";

const apiKey = process.env.OPENAI_API_KEY;
if (!apiKey) throw new Error("Set OPENAI_API_KEY.");
const client = new OpenAIClient({ apiKey });
const lookupOrder = createTool({
  name: "lookup_order",
  description: "Look up an order by ID.",
  inputSchema: z.object({ orderId: z.string() }),
  execute: async ({ orderId }) => ({ orderId, status: "processing" }),
});

const agent = new Agent({
  id: "support",
  model: client.completionModel({ modelId: "gpt-5", api: "responses" }),
  instructions: "Help customers with order questions.",
  tools: [lookupOrder],
  maxTurns: 4,
});

const result = await agent.generate({ prompt: "What is happening with order A123?" });
if (result.type === "response") console.log(result.output);
```

将样本工具机构替换为应用程序的数据访问。 代理结果区分a 反应,一个护栏块,以及需要应用程序输入的相互作用.

## 问用户一个问题

添加 `createQuestionTool()` 给经纪人的 `tools` 允许它索取缺失的信息:

```ts
import {
  createQuestionTool,
  DEFAULT_QUESTION_TOOL_NAME,
  DEFAULT_QUESTION_TOOL_DESCRIPTION,
} from "@anvia/core/tool";

const askUser = createQuestionTool(); // name: "ask_user", with built-in model instructions
const clarify = createQuestionTool({ name: "clarify" }); // either option can be overridden
```

默认也导出自 `@anvia/core`。描述指导模型只要求 当它无法进行时, 批出问题, 并使用合理的默认 常规选择. 提供自定义名称和说明。 省略一个选项时适用默认; 保留清晰的字符串,包括空白,以便与现有的呼叫者兼容. 新工具调用接受1–4个问题,并配有独特的,无空白的ID和无空白的文本. 任择选择 必须包含2–4个有非空白标签和唯一非空白值的条目。 数值被修剪 在验证之前。 设定 `allowCustom: true` 在选择之外允许答案,或者省略选择 为免费文本。 一个没有选择的问题不能设置 `allowCustom: false`。 。 。 . 蛇案的ID,问号, 和相互排斥的选择是示范指导, 而不是额外的计划限制.

运行返回 a `type: "interaction"` 成果 `tool-question` 请求和续作. 收集每个问题的非空白答复,然后继续 `{ type: "tool-question", answers: [{ questionId, value }] }`。该模型收到 `{ answers: [...] }` 作为工具的结果。 直接调用提问工具不会触发UI; 您的应用程序使交互和提供答案.

存储的交互请求和续作保留其现有的解析规则; 新数组 限制仅适用于新工具输入。 见 [互动指南](https://npmcn.com/package/docs/packages/core.md) 恢复协议.

## 你能建造的东西

-   具有打字工具、批准、问题、护栏和流出答复的代理人.
-   代理团队 单独交谈 授权 协调取消.
-   直接完成和有计划验证的提取,没有代理环.
-   [类型决定](https://npmcn.com/package/docs/packages/decision.md) 用于分类、标记、打分和路由.
-   具有内置或定制度量衡的连续或平行管道和评价.
-   使用内存适配器和明确的收缩政策进行状态性对话,包括活性工具循环.
-   RAG 带有文件块、嵌入和向量存储合同.
-   图像生成,语音,转录,MCP工具,以及本地代理技能.

使用 `@anvia/client`, (中文(简体) ), `@anvia/server`,以及 `@anvia/react` 为应用程序 UI 提供代理输出. 为您选择的基础设施使用提供者、内存、矢量存储和可观察性适配器.

`InMemoryVectorStore.inspect()` 在 安全整数范围; 省略光标从零开始。 丢出无效光标 `VectorInspectCursorError`页:1 `RangeError`编辑 `@anvia/core/vector-store` 子路径也导出 `parseVectorInspectCursor()` 财务报告和审定财务报表 `VectorInspectCursorError.isCursorError()` 用于审定和 处理错误 。 见 [检查指南](https://npmcn.com/package/docs/packages/core.md#documents)。 。 。 .

流出补全保存仅由最终提供者提供的空或加密推理 反应,包括Azure反应流。 最终加密的细节也可以丰富匹配 在之后的回合中重放的串流推理。 文本、推理和工具调用仍有冲突 失败提供者输出验证 .

对于可收回的执行,请在实验中登记一个支持的代理 [`@anvia/durable`](https://npmcn.com/package/%40anvia/durable/README.md) 运行时间。 内部执行协议 4 增加了同步方向检查点边界 持续排队的用户输入并持续重放 。 将核心升级,使之持久. 持久工具可选稳定 `ToolCallContext.operationId` 外在的专有能力。 直接执行不能提供. 持久的登记可选择与 `stream: true`; 核心执行 程序版4的检查站与工具结果一起验证了流程完成情况.

## 学多点

-   [核心指南和API实例](https://github.com/anvia-hq/anvia/blob/main/docs/packages/core.md)
-   [可操作的烹饪本](https://github.com/anvia-hq/anvia/tree/main/cookbook)
-   [软件包目录](https://github.com/anvia-hq/anvia#readme)
-   [捐款](https://github.com/anvia-hq/anvia/blob/main/CONTRIBUTING.md)

## 流动消费

一个 `AgentStream` 有一个消费者。 阅读 `stream.result` 或者说 `stream.text` 附表 如果事件迭代尚未开始, 则自动排入下一个微任务 。 当你 需要事件和最后结果,先排列然后读 `result` 循环后 :

```ts
const stream = agent.stream({ prompt: "Hello" });
for await (const event of stream) {
  if (event.type === "text_delta") process.stdout.write(event.delta);
}
const outcome = await stream.result;
```

HTTP 适配器的消费从稍后开始,无需读取即可通过溪流 其最后承诺; 记录最终结果事件并同时转发事件.

## 常见问题

### @anvia/core 是什么？

核心运行时间原始人 了解背景的安维亚特工\.

### 如何安装 @anvia/core？

在项目目录运行 npm install @anvia/core，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：zod（^4\.6\.7）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @anvia/core 支持 TypeScript 吗？

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

### @anvia/core 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @anvia/core 可以商用吗？

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

### @anvia/core 的下载量有多少？

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

### @anvia/core 还在维护吗？

最新版本 1\.18\.0 发布于 2026/11/06（1 天前）；至今共发布 113 个版本，其中过去 12 个月发布了 113 个；首次发布于 2026/05/03。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

