# @faiber/faiber-knowledge 中文文档

规范地址：https://npmcn.com/package/%40faiber/faiber-knowledge/

版本：2\.8\.0
npm 元数据更新时间：2026-11-14T09:44:49.075Z
中文译文更新时间：2026-11-14T09:13:21.588Z
软件包许可：未声明

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

原始 npm 页面：https://www.npmjs.com/package/%40faiber/faiber-knowledge
原文对照：https://npmcn.com/package/%40faiber/faiber-knowledge/?lang=original

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

- 包体积（解压后）：415 kB，20 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：1 个
- 首次发布：2026-07-22T17:10:26.754Z
- 最新版本发布：2026-11-14T09:44:48.862Z
- 近 30 天下载量：3778（2026-10-14 至 2026-11-12，npm 官方下载统计）
- 已发布版本数：61（近 12 个月 61 个）

## 中文简介

已版本的知识库,组,项目,图边,聊天绑定,匹配规则,运行时间解析,发布,动作,以及审计历史.

## 安装

```sh
npm install @faiber/faiber-knowledge
```

也可以使用：`pnpm add @faiber/faiber-knowledge`、`yarn add @faiber/faiber-knowledge`、`bun add @faiber/faiber-knowledge`

## README

# @faiber/faiber-知识

已版本的知识库,组,项目,图边,聊天绑定,匹配规则,运行时间解析,发布,动作,以及审计历史.

## 安装

```bash
npm install @faiber/faiber-knowledge
```

## 配置

```ts
import { FaiberClient, MemoryTokenProvider } from "@faiber/sdk-core";
import { KnowledgeApi } from "@faiber/faiber-knowledge";

const tokens = new MemoryTokenProvider();
const client = new FaiberClient("knowledge", {
  domains: { knowledge: process.env.FAIBER_KNOWLEDGE_URL! },
  tokenProvider: tokens,
  axios: { timeout: 15_000, withCredentials: true },
});
const api = new KnowledgeApi(client);

const bases = await api.knowledgeBases({ status: "published", limit: 20 });
const result = await api.query("fitness-coach", {
  query: "What workout is scheduled today?",
  profile_id: userId,
});
```

## API 表面

这个软件包从知识服务中暴露出84个出自源的操作. 通用工作流程有简洁的方法 `api`;每个已注册后端路由在 `api.operations`。生成的操作输入、查询、响应、路径、动词和许可合同从 `operations.types`。 。 。 .

业务登记说明运输范围;它不证明部署的行为或目前的授权。 包装 `provenance.json` 识别选定的服务源和合同核对和.

管理路线使用支持的乐观版本字段. 运行时查询通过聊天流和返回匹配的知识、规则、通知、警告、任务、输入请求、方向和微量数据来进行.

## 认证和授权

使用一个 `TokenProvider` 以转发已签名用户的 Bearer 令牌,或启用 `withCredentials` 用于安全的 Http 只有饼干会话。 每个行动的JSDoc都包含从服务路线卫士复制的许可要求. SDK不嵌入 API 密钥,证书,本地主机 URL,沙盒主机,或生产主机.

## 投入、询问、答复和运输

所有方法都返回完整的Axios响应,包括状态,头,以及请求ID. 请求机构和查询对象被命名为导出接口. 知识标本使用平面 `page` 财务报告和审定财务报表 `limit` 密钥; 列表元数据包含 `total`, (中文(简体) ), `page` 财务报告和审定财务报表 `limit`。动作和编辑器审计只应用其文件限制/状态过滤器,而不使用页面。 标准 Axios 请求选项、信头、超时、适配器、拦截器和 `AbortSignal` 取消被支持为最后参数.

一般性的REST资源得到能力保障。 调用未注册的遗留方法 `UnsupportedOperationError` 在发送请求之前, 而不是生成后端 `405`。 。 。 .

## 错误和取消

```ts
try {
  await api.client.get("/health", undefined, { signal: AbortSignal.timeout(5_000) });
} catch (error) {
  // Axios errors retain response.status and the service error body.
}
```

使用 `@faiber/faiber-ts-sdk` 当一个应用程序需要多个具有一个配置的Faiber服务时.

### 决定性公布的助理合同

`knowledge.assistantContracts(assistantId, '2done-assistants')` 从助手允许的基地装订和不可改变的发布中检索完整的合同记录. Axios的答复包含: `response.data.data.release_id` 键入 `response.data.data.contracts`,包括本地化的内容和版本的JSON Schema元数据. 与语义检索不同,这一操作不排序,不截断,也不省略所需的合同. 这需要 `knowledge:runtime`;没有、残废、未公布或无法读取的绑定不能返回部分指导。 Axios 认证、取消和错误处理都适用.

内部操作需要信任的服务器证书和当前租户范围. 永远不要从浏览器中调用它们或向应用程序用户暴露服务证书.

### 发布和阅读不可改变的版本

`publish(baseId)` 需求 `knowledge:publish` 返回 a `KnowledgeReleaseResponse`包括释放的身份证、清单、验收和 出版时间戳。 可变的知识库却指出了这种释放 结束 `published_release_id`。读取被绑定的快照 `release(releaseId)` 或者说 `operations.routesGetReleaseGet(releaseId)`;两者都要求 `knowledge:read`。 。 。 . 写作 `export(baseId)` 可变异且具有导出时间戳;不是 已发布指令捆绑.

```ts
const published = await api.publish(baseId, { signal });
const release = await api.release(published.data.data.id, { signal });
console.log(release.data.data.checksum_sha256);
```

Base, group, project, 边缘, 绑定, 和规则响应 暴露其实际记录 字段,包括修改、时间戳、无效的字符/删除字段,以及项目 链接。 本地化的内容、元数据、条件表达和政策得以保留 JSON 值用于服务定义可扩展的图案. 项目链接需要 `linked_service`, (中文(简体) ), `linked_entity_type`,以及 `linked_entity_id` 一起来 一个空的 链接字符串在更新时清除链接字段; 省略字段保存. `null` 不清除当前 Rust 的 DTO 中的可选更新字段。 使用 `expected_version` 当编辑以检测冲突时; 通过重新加载处理 HTTP 409 当前记录并保存未保存的用户输入.

### 过滤和页面匹配规则

`matchRules({ q, knowledge_base_id, group_id, enabled, page, limit })` 过滤器 在所有授权的活动基数上标注前为活动规则. `q` 匹配 shall 或本地化名称文本 。 答复包括: `meta.total`, (中文(简体) ), `meta.page`,以及 `meta.limit`· ; `limit` 以 1–200 为界,页起于 1 。 顺序是 优先,然后是规则ID。 此 API 不将基准目录切换到 它的前200个记录. `operations.routesListRulesGet()` 暴露同样的线 合同。 组和基数过滤器使用其UUID; 无法访问或删除基数 没有结果.

### 作者列表、行动和直接文本摄入

基准、项和匹配规则列表返回数组 `response.data.data` 标记 内 `response.data.meta` (单位:千美元)`total`, (中文(简体) ), `page`, (中文(简体) ), `limit`) (中文(简体) ). 项目重要性接受 `debug`, (中文(简体) ), `info`, (中文(简体) ), `notice`, (中文(简体) ), `warning`, (中文(简体) ), `urgent`,或 `critical`。可选 scalar 编辑器更新 字段接受 `null` 作为后端的省略值行为; 无效不能清除 父、日期或链接。 空链接字符串由服务单独处理.

`ingestDocument` 同步进行直接文本/圆通索引。 更改文档 返回 HTTP 201 与 `status: "indexed"` 和完成的项目 `job_id`; 相同的重试 外部 ID、 内容校验和源字段返回 HTTP 200 与 `status: "unchanged"` 没有新的 工作证。 索引文本并不意味着矢量嵌入已准备好 。 文件 列表返回投影方式 `indexed_at` 财务报告和审定财务报表 `created_at`; 不包括 内容、校验和或元数据。 当 这需要内容.

编辑审计日志(`operations.routesListAuditGet`,允许 `knowledge:audit`(中文(简体) ) 和平台审计活动`auditEvents`,允许 `knowledge:read`)是独立的 记录格式。 行动状态已接受 `open`, (中文(简体) ), `acknowledged`, (中文(简体) ), `snoozed`, (中文(简体) ), `completed`, (中文(简体) ), 或者说 `dismissed` 与 `knowledge:actions`; 普通读权限不授权 动作更新.

标题、媒体类型、语言、出处、元数据或源协会的更正 即使文本校验和不变,也要更新现有的外部ID文档. 后处理重试返回实际持续的有效工作标识;它们不承诺 摄取工人或嵌入器已经准备好.

### 源配置和同步

来源记录包括组织/基地、版本、配置和出处 策略、同步光标/计数、转换器参考、时间表和时间戳. `operations.platformCreateSourcePost` 接受名称 `CreateKnowledgeSourceInput`· ; 源类型是 `manual`, (中文(简体) ), `api`, (中文(简体) ), `crawler`, (中文(简体) ), `web`, (中文(简体) ), `sitemap`, (中文(简体) ), `rss`, (中文(简体) ), `infera-drm`, (中文(简体) ), `infera-session`, (中文(简体) ), `structured`,以及 `database-export`. 配置/证明成员 是故意服务定义的 JSON 扩展值。 将证书保存在控制中心 提供结束于 `_ref` 而不是生来的秘密.

`platformSyncSourcePost` 返回一个排队收据。 检查处理 - 工作状态和 在将源数据作为同步处理之前,将适配器的可用性分开。 这个 `platformPauseSourcePost` 操作切换活动/已暂停状态; 它不是一个一元体 "设定暂停"请求. 在模糊的运输失败后读取当前来源 在重复切换之前。 来源管理要求 `knowledge:write`; 列出 来源需要 `knowledge:read`。 。 。 .

### Canonical v1 内存管理继任者(整合草案)

管理添加需要匹配验证后端 一揽子升级。 在起草工作期间,源头指针有意保持不变.

-   主体、记忆、内存和内存 预测。 政策和无效的推翻是分开的。 过期/被遗忘 内容经过编辑;审计预测不包括保留的个人快照.
-   set Memory Override 要求从确切的被审查对象中进行预期的 修改. 新建或省略重置 PUT 语义下重置的字段 . A409一次浮出水面;取出/审查并有意重新提交属于 操作员。 客户端从未自动重置草稿.
-   设置 source State 和 canonical 平台 Pause SourcePost 发送所希望的状态 已抓取预期的( V) 。 犬形v1路线取代盲目的取走; 呼叫者必须经过两个字段.
-   正确的Memory发送经审查的清晰内存ID并更正UUID. 这个 服务需要当前所有者/写入权限和完整的冲突集.
-   忘记记忆和清除Subject Memory 保存有界限的类型/理由查询输入 .
-   忘记助理搜索呼叫 /api/v1/runtime/ mcp memory forget和 返回 Axios 的全部响应。 已关闭并清除 表示承诺范围无效,包括第一个待定轮班 无主题;行 已更改为零。 这些领域无法保证消除 原声聊天,来源家庭或保留物理拷贝.

适配测试只验证运输和类型. 后端 PostgreSQL, 认证 管理代理、 软件包/ 源代码对齐、 绑定 UI 并释放门 仍然是不同的要求。 所有终点都保留在/api/v1下.

使用记忆的助理旗帜仍然是硬捕捉/召回天花板。 明显真实 即使存储的遗迹 也禁止对离车道进行超标 覆盖 扩展 升起的旗帜是真实的 。 这一遗产价值被保留为历史, 不是情报机构控制 回复宣布有效 override mode 窄 只;分别检查原始数值和有效值。 明确的助理政策 更改需要它们自己的当前授权/修订/划时代整合门.

### 政策修订和业务成果

用助手Configulation( AssistantId) 打开编辑草稿 。 保留其 预期 政策 根据该草案进行修改。 配置助理需要抓取 修订和调用创建的非无配置 id UUID. 仅使用 0 到 创建一个缺失的政策。 在不确定后保持相同的UUID和精确输入 结果;更改请求需要新的、经过明确审查的业务。 A409必须 永远不会自动抓取或重新定位.

操作( 助手, 配置) Id) 读取不可变的 在当前知识下应用/取消的结果:写出。 生成的峡谷 等效是平台辅助配置SnapshotGet, 平台 配置助理 Put, 平台助理 配置操作Get 和 取消助理配置操作。 明确接受取消 非空原因 最多 500 字节, 栅栏延迟交货, 不能取消 已经承诺的政策。 完全一样的原创演员再播放 政策历史、审计或记忆时代.

DTO是助理政策即时响应,助理配置输入, 助理设计师 助理设计师 (原始内容存档于2019-06-26). Assistant Configulation Cancellation. 这些方法保存Axios元数据, 当前运输认证、取消和实际错误状态. 当地PostgreSQL/HTTP测试与已部署的境内流离失所者/赠款认证分开 和从所有服务语义释放门.

## 上下文选择限制

配置的助手关卡会限制选择的 Chat/Knowledge 修改时的自有对话上下文请求. 新建或省略的请求级别不会删除所配置的上限 。 已部署的老服务机构可能不强制实施这种行为;在依赖之前核查已部署的接收器.

被选中的助攻群弹被存储配置,但转发和后人-对正匹配并没有得到一致的全面实施. 不要使用这些设置作为授权边界或承诺排除未分类的结果。 服务器侧当前租户,权限和基础约束仍然具有权威性.

Knowledge的选定介质块封顶在治理之后, 查询限制并不是对所有返回道进行严格的综合计算。 扩展和重排设置可以作为所请求的值保留,而运行时能力报告不支持/未应用;存储一面旗帜则无法启用一个算法或提供者. 检查返回的追踪/能力信息而不是假设这些特性运行.

### 运行时间收款和平台库存

`recordMemoryTurn` 返回 HTTP 202 并带两个 `{queued: true, outbox_id, status, idempotency_key}` 或者说 `{queued: false, reason}`。录取不同于提取. `recordRetrievalUsage` 返回持续存在的代号/成本收据。 平台 目录、转换器、评价案例、建议组/项目、证据读取和 健康终点显示命名反应预测 `api.operations`。 。 。 . 准备状态可以将HTTP 503与已退化的有效载荷还原,Axios默认拒绝.

助理查询预算省略 `sections` 当助理政策缺失时。 运行时间 服务因供应商而故意变化的有效载荷保留有文件记载的JSON 值; 数据库行和收据显示其混凝土字段。 源代码同步或 重新处理工作收据确认持久排队,而不是执行工人.

## 常见问题

### @faiber/faiber-knowledge 是什么？

已版本的知识库,组,项目,图边,聊天绑定,匹配规则,运行时间解析,发布,动作,以及审计历史\.

### 如何安装 @faiber/faiber-knowledge？

在项目目录运行 npm install @faiber/faiber-knowledge，或使用 pnpm add / yarn add / bun add。

### @faiber/faiber-knowledge 支持 TypeScript 吗？

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

### @faiber/faiber-knowledge 支持 ESM 还是 CommonJS？

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

### @faiber/faiber-knowledge 可以商用吗？

@faiber/faiber-knowledge 使用 未声明 许可。package\.json 没有声明许可证。没有许可证的代码默认保留全部权利，商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括，不构成法律意见，请以许可原文为准。

### @faiber/faiber-knowledge 的下载量有多少？

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

### @faiber/faiber-knowledge 还在维护吗？

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

