# @reinsjs/store-sqlite 中文文档

规范地址：https://npmcn.com/package/%40reinsjs/store-sqlite/

版本：0\.3\.3
npm 元数据更新时间：2026-11-02T06:34:10.518Z
中文译文更新时间：2026-11-02T08:46:20.803Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40reinsjs/store-sqlite
原文对照：https://npmcn.com/package/%40reinsjs/store-sqlite/?lang=original
项目主页：https://github.com/AdRate-io/reins/tree/main/packages/store-sqlite#readme
源码仓库：https://github.com/AdRate-io/reins

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

- 包体积（解压后）：47.6 kB，11 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=22\.13
- 运行依赖：1 个
- 首次发布：2026-09-14T04:08:01.321Z
- 最新版本发布：2026-11-02T06:34:10.280Z
- 已发布版本数：8（近 12 个月 8 个）

## 中文简介

缰绳- sqlite支持的EventLog / BlobStore / MemoryStore。一个SQL层，驱动程序由运行时提供（node:sqlite, bun:sqlite）

## 安装

```sh
npm install @reinsjs/store-sqlite
```

也可以使用：`pnpm add @reinsjs/store-sqlite`、`yarn add @reinsjs/store-sqlite`、`bun add @reinsjs/store-sqlite`

## README

# @reinsjs / store-sqlite

SQLite-backed `EventLog`， `BlobStore` 和 `MemoryStore` 用于 [缰绳](https://npmcn.com/package/README.md)。一个SQL层，由运行时提供的驱动程序：Node 22.13+ `node:sqlite`，包子船 `bun:sqlite`。主入口没有 `node:*` 导入，只需要一个对象 `exec(sql)` 和 `prepare(sql)`.

```bash
pnpm add @reinsjs/store-sqlite
```

```ts
// Node
import { sqliteStores } from "@reinsjs/store-sqlite"
import { openSqlite } from "@reinsjs/store-sqlite/node"

const store = sqliteStores(openSqlite("./agent.db"))   // WAL on by default; ":memory:" for tests

// Bun
import { Database } from "bun:sqlite"
const store = sqliteStores(new Database("./agent.db"))
```

`sqliteStores(db, { memoryTable })` 如果缺少表，则创建表并返回 `{ log, blobs, memory }`准备好了 `createAgent({ store })`.

## 布局

| 表格 | 键控的 | 笔记 |
| --- | --- | --- |
| `reins_events` | `session_id, seq` | 扩展; `seq` 每个会话必须是连续的(存储强制它并抛出 `seq_conflict`） |
| `reins_blobs` | `session_id, id` | 泄漏的工具结果和其他大的有效载荷 |
| `reins_memory` (可配置) | `path` | 模型的内存文件； `memoryTable` 让每个角色或租户拥有自己的表 |

根据表名进行验证 `^[A-Za-z_][A-Za-z0-9_]{0,62}$` 在组装任何SQL之前-标识符不能绑定为参数，因此此白名单是注入保护。只有内存表是可重命名的；事件和blob由 `session_id` 故意的。

`fork(from, atSeq, to)` 逐字复制会话前缀(id和 `seq` 保存)在一条语句中转换为空会话。

## 验证

传入一致性套件 `@reinsjs/core/testing`。发布的 `dist` 使 `node:sqlite` 协议前缀(tup的默认值将把它剥离为一个裸 `sqlite`，仅在运行时失败 `pnpm check:dist` 警卫)。

Cloudflare Workers不是这个包的目标；持久对象SQLite将是一个单独的存储。

## 文档

`docs/系统全景图_模块盘点/store.md` 和 `docs/archive/implementation-plans/2026-09-08-技术方案v1.0.md` §5 -中文，在库根。

MIT©2026 newate Limited

## 常见问题

### @reinsjs/store-sqlite 是什么？

缰绳- sqlite支持的EventLog / BlobStore / MemoryStore。一个SQL层，驱动程序由运行时提供（node:sqlite, bun:sqlite）

### 如何安装 @reinsjs/store-sqlite？

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

### @reinsjs/store-sqlite 支持 TypeScript 吗？

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

### @reinsjs/store-sqlite 支持 ESM 还是 CommonJS？

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

### @reinsjs/store-sqlite 需要什么版本的 Node\.js？

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

### @reinsjs/store-sqlite 可以商用吗？

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

### @reinsjs/store-sqlite 还在维护吗？

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

