# @bootstrapware/answers 中文文档

规范地址：https://npmcn.com/package/%40bootstrapware/answers/

版本：0\.2\.13
npm 元数据更新时间：2026-10-27T15:24:11.248Z
中文译文更新时间：2026-11-08T11:39:13.728Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40bootstrapware/answers
原文对照：https://npmcn.com/package/%40bootstrapware/answers/?lang=original
项目主页：https://bootstrapware.co/answers/docs

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

- 包体积（解压后）：1.5 MB，14 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：0 个
- peer 依赖：react \>=18，react-dom \>=18
- 首次发布：2026-10-06T14:01:27.095Z
- 最新版本发布：2026-10-27T15:24:11.000Z
- 近 30 天下载量：2008（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：15（近 12 个月 15 个）

## 中文简介

为您的站点嵌入了可嵌入源支持的QQA: React 部件外加服务器引擎( crawl, 混合搜索, 有引用的被禁入的 OpenAI 答案) 为 BYO 后端.

## 安装

```sh
npm install @bootstrapware/answers
```

也可以使用：`pnpm add @bootstrapware/answers`、`yarn add @bootstrapware/answers`、`bun add @bootstrapware/answers`

## README

# @ bootstrapware/ 答题

来客问道. 部件显示一个引用的答案, 或者在无匹配时显示明显的倒置 .

**本地模式是免费的.** **BYO是9.99美元/月** (你存储知识和答案). **东道主为19.99美元/月.** 托管商店核准来源、衍生索引、访客问题、可选对话、未答复项目和引用。 主机包括每个工作空间每月2500个答案,1个GiB知识和索引,2,000个来源,4000个索引块每个app,20个MiB每个文件,以及30天的对话历史. 测试键是免费的 。 React 软件包不单独调用Hosted ask 。 过 `createLocalAdapter()` 或你自己的适配器.

```bash
pnpm add @bootstrapware/answers
```

非反应页面可以使用被主机嵌入的脚本取而代之(见下文脚本).

同伴依赖性 : `react` 财务报告和审定财务报表 `react-dom` (第18页).

## 当地

```tsx
import { Answers, createLocalAdapter } from "@bootstrapware/answers";
import "@bootstrapware/answers/styles.css";

<Answers adapter={createLocalAdapter()} />
```

默认演示为闭角发射装置. `presentation` 可能会是 `launcher`, (中文(简体) ), `section`, (中文(简体) ), `modal`,或 `window`. Modal、窗口和发射器开始关闭,除非 `defaultOpen`。 。 。 .

本地适配器是北风外行(小时,回放,航运)的定型样本. 它不叫网络.

## 脚本

`pnpm build` 写入 `dist/answers.iife.js`非反应页面可以挂载相同的组件 :

```html
<div id="answers"></div>
<script src="./dist/answers.iife.js"></script>
<script>
  BootstrapwareAnswers.mount(document.getElementById("answers"), {});
</script>
```

主机脚本是 `GET https://answers.bootstrapware.co/embed/v1.js`。 。 。 .

## 再见

用您的 OpenAI 密钥运行您的服务器上的引擎 。 问题,知识和关键 留在你的基础设施.

```ts
// app/api/answers/route.ts (Next.js) — any runtime with fetch works
import { createAnswersBackend } from "@bootstrapware/answers/server";

const answers = createAnswersBackend({
  siteName: "Acme",
  openaiApiKey: process.env.OPENAI_API_KEY, // server env only
  sitemap: "https://acme.com/sitemap.xml", // or urls: [...], or documents: [{ id, title, url, text }]
  qa: [{ question: "Do you offer refunds?", answer: "Yes, within 14 days of purchase." }],
});

export const POST = (request: Request) => answers.handler(request);
```

该索引以第一个问题为基础并保存在记忆中. 打电话 `answers.refresh()` 修改内容后( 它返回) `{ pages, chunks, skipped }`· ; `skipped` 列出每个被遗漏的页面和原因,包括一个重定向到不同页面的URL,以及 `onRefresh` 或保存 `answers.index.toJSON()` 并传回作为 `snapshot` 在重新启动时跳过重嵌。 过 `retrieve` 来使用自己的矢量存储.

答案只来自索引段落. `refresh()` 也获取 `/llms.txt` 财务报告和审定财务报表 `/llms-full.txt` 每个来源在 `urls` 或网站映射,当主机以文本或Markdown的形式发布时,并忽略缺失的文件。 草案引用了它没有收回的东西,或者在引用的段落中写出一个价格或数字,并且不从引用的数字(一个单步的或一个被引用数额的%,四舍五入到最近的一分之一,或者一个相继的堆栈,每行的四舍五入到最近的一分之一)中引用,则被拒绝,访问者得到回扣。 以逗号、点、空格或平面表示的同千位分隔符算作源中的数字,和以逗号表示的小数,例如 `19,99` 计数为 `$19.99`。基于计费命令的堆栈总数被拒绝,除非访客设定了命令,答案是命令事项,或者答案将总和的行逐项列出。 自定义 QQA 总是被考虑,一个匹配条目首先被回答. 当来源对一个是/否问题保持沉默时,答案是说网站没有声明(如果来源有支持联系). 如何提问引用文件页;没有写出新的代码.

自定义 QQA 在运行时可以更改而无需刷新 : call `await answers.upsertQa({ id, question, answer })`, (中文(简体) ), `answers.removeQa(id)`,或 `answers.setQa([...])` 从您的保存处理器。 只有被更改的条目被嵌入,它回答下一个问题. 相关的自定义 QQA 总是提供给模型, 即使很多页面的分数都超过它们, 包括通过自己的设置 `retrieve`。 。 。 .

然后将部件指向该路径 :

```tsx
<Answers
  appId="ana_..."
  adapter={createByoAdapter({
    ask: async ({ sessionId, question, pageContext }) => {
      const response = await fetch("/api/answers", {
        method: "POST",
        headers: { "Content-Type": "application/json" },
        body: JSON.stringify({ sessionId, question, pageContext }),
      });
      return response.json();
    },
  })}
/>
```

问题文本留在后端. `pageContext` 仅是页面 URL 和标题.

## 常见问题

### @bootstrapware/answers 是什么？

为您的站点嵌入了可嵌入源支持的QQA: React 部件外加服务器引擎\( crawl, 混合搜索, 有引用的被禁入的 OpenAI 答案\) 为 BYO 后端\.

### 如何安装 @bootstrapware/answers？

在项目目录运行 npm install @bootstrapware/answers，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：react（\>=18）、react-dom（\>=18）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @bootstrapware/answers 支持 TypeScript 吗？

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

### @bootstrapware/answers 支持 ESM 还是 CommonJS？

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

### @bootstrapware/answers 可以商用吗？

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

### @bootstrapware/answers 的下载量有多少？

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

### @bootstrapware/answers 还在维护吗？

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

