# @chkit/plugin-ingest 中文文档

规范地址：https://npmcn.com/package/%40chkit/plugin-ingest/

版本：0\.2\.0-beta\.16
npm 元数据更新时间：2026-11-08T23:59:26.554Z
中文译文更新时间：2026-11-09T14:09:22.108Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40chkit/plugin-ingest
原文对照：https://npmcn.com/package/%40chkit/plugin-ingest/?lang=original
项目主页：https://chkit.obsessiondb.com/
源码仓库：https://github.com/obsessiondb/chkit

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

- 包体积（解压后）：341 kB，86 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：6 个
- 首次发布：2026-09-28T20:46:37.695Z
- 最新版本发布：2026-11-08T23:59:26.257Z
- 近 30 天下载量：2631（2026-10-10 至 2026-11-08，npm 官方下载统计）
- 已发布版本数：6（近 12 个月 6 个）

## 中文简介

预定拉入 ClickHouse , 并设置chkit 的日记检查站

## 安装

```sh
npm install @chkit/plugin-ingest
```

也可以使用：`pnpm add @chkit/plugin-ingest`、`yarn add @chkit/plugin-ingest`、`bun add @chkit/plugin-ingest`

## README

# @chkit/ 插件摄入量

`@chkit/plugin-ingest` 执行 **chkit 同步( β)**,用于将业务应用数据同步到 ClickHouse 的可选 TypeScript 层。 定义和迁移目的表格 [齐克特](https://www.npmjs.com/package/chkit),然后添加读取器以加载。 重复运行时使用外部调度器 .

执行器在写入成功后记录进度 。 运行扫描的日记身份保持了重叠处决的独立性. 复试从已确认的检查点恢复,并可能再读行.

-   `simpleLoader()` 是廉价的、直接的、至少一次的默认; 本地重试的代币有有限的保留量.
-   `stagedLoader()` 选择在重叠/重播之间进行不可移动的密钥分解:在批次内第一/最后的整行赢家,现有目的地密钥总是取胜. 它增加了DDL,抓取存储和潜在的完全目的地钥匙扫描——而不是更新或快照交易.
-   Stage 需要一个被绑定的服务器上的 plain MergeTree/ Atomic 和合作作者共享执行器/包/进程;没有共享/复制目标或跨进程独有性. 读取 [安装和安全合同](https://chkit.obsessiondb.com/api-sync/loading/#opt-into-staged-deduplication) 特别是模糊的出版和重启恢复.

`paginate()` 输出完成 `{ items, next, metadata? }` 页面,包括空终端页面。 从 `page.items`; 使用 `next` 并明确将检查站元数据映射成块 `state` 与 `cursorState`。执行器在行被保存后执行此状态。 替换上一个项目阵列返回类型; 现有阅读器必须使用 `page.items`。 。 。 .

```ts
import { defineConfig } from '@chkit/core'
import { ingest } from '@chkit/plugin-ingest'

export default defineConfig({
  entry: './src/chkit.ts',
  plugins: [ingest()],
  clickhouse: { url: process.env.CLICKHOUSE_URL ?? '' },
})
```

```sh
chkit ingest run --tag schedule:1h
```

只有附件的 ClickHouse 日记记录了每个运行的起始检查点和当地事件序列. 两个程序可能从同一个检查站开始,而不重新使用事件身份。 完整的快照验证排除了畸形跑尾,同时保留了公认的进度. 一个 stale 但有效的读取可以引起回放; 目的地写作保留在- last- once.

诊断日记或预览保存证据的恢复 :

```sh
chkit ingest doctor --tag stream:helpdesk.tickets
chkit ingest repair --tag stream:helpdesk.tickets
```

重叠有效运行不需要修复 。 对于受损的证据,停止所有摄取作者,并审查计划. `chkit ingest repair --tag stream:helpdesk.tickets --apply <fingerprint>` 在保存原件的同时实现已核实的归档和替换日记 。 保持作者停止, 设定 `ingest({ journalTable: '<replacementTable>' })` ,然后重新启动。 命令将激活留给这个明确的配置变化. 其他流的证据复制后不变.

联合国 [chkit 同步( β)](https://chkit.obsessiondb.com/sync/)

原始存储、 键入行以及绘制字段的位置, 见 [目的地和转变](https://chkit.obsessiondb.com/api-sync/destinations/)。 。 。 .

为编码代理安装源作者技能 :

```sh
npx skills add obsessiondb/chkit --skill chkit-ingestion
```

## 常见问题

### @chkit/plugin-ingest 是什么？

预定拉入 ClickHouse , 并设置chkit 的日记检查站

### 如何安装 @chkit/plugin-ingest？

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

### @chkit/plugin-ingest 支持 TypeScript 吗？

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

### @chkit/plugin-ingest 支持 ESM 还是 CommonJS？

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

### @chkit/plugin-ingest 可以商用吗？

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

### @chkit/plugin-ingest 的下载量有多少？

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

### @chkit/plugin-ingest 还在维护吗？

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

