@c4a/core

中文文档
0.7.95发布于 2026/11/09MITTypeScriptES Module构建来源已验证近 30 天下载 5121

Shared extraction types, schemas, and utilities for Context

原始使用文档
文档目录6 节
  1. 在知识生产工作流中的位置
  2. 提供内容
  3. 示例
  4. 适用场景
  5. 开发
  6. License

Context Core 契约

English

@c4a/core 是 Context 项目 SDK、提取框架和本地工作流运行时共同使用的契约包。 它让身份、Schema、错误和引用工具在不同 package 之间保持一致。

这个包面向 Context 维护者和扩展作者。知识工作区用户通常从 Context Agent 入口 工作,不需要单独安装它。

在知识生产工作流中的位置

项目 SDK ─┐
提取器 ───┼─→ 共享类型 / Schema / 错误 / 引用
运行时 ───┘

Core 契约避免同一个来源、实体、关系或诊断在采集、提取、审核、验证和知识包构建 之间流转时出现不同数据形态。

提供内容

  • 实体、关系、内容、来源和提取数据的领域类型;
  • 用于校验共享输入输出的 Zod Schema;
  • 稳定错误码和导出的 C4AError API;
  • 解析和构造 ref:* 指针的工具;
  • 提取与工作流 package 共用的常量和辅助函数。

C4AError 符号和 @c4a/core 包名是已经发布的 API 标识,不是另一套面向用户的 产品模型,也不应该进入生成的知识内容。

示例

import { C4AError, ErrorCode, parseRef } from "@c4a/core";

const parsed = parseRef("ref:entity:ent_123");
if (!parsed) {
  throw new C4AError(ErrorCode.VALIDATION_FAILED, "Invalid ref");
}

适用场景

  • 增加会被多个 Context package 使用的共享协议;
  • 在 package 边界校验外部数据或序列化数据;
  • 处理跨资源身份和引用;
  • 实现需要返回 Context-compatible 结构的提取器。

不要把工作流路由、来源专属业务含义、Agent Prompt 或文件系统生命周期行为放在 本包。它们分别属于 Workflow Provider、项目 SDK、提取插件或运行时。

开发

bun run --filter @c4a/core build
bun run --filter @c4a/core typecheck
bun run --filter @c4a/core test
bun run --filter @c4a/core lint

运行时代码保持兼容 Node.js。

License

MIT.

版本与发布记录

@c4a/core 共发布 150 个版本,首次发布于 2026/02/26;过去 12 个月发布了 150 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.7.95latest2026/11/09今天
0.7.942026/11/08今天
0.7.932026/11/08今天
0.7.922026/11/071 天前
0.7.912026/11/026 天前
0.7.902026/10/2811 天前

其他发布通道:alpha → 0.7.10-alpha.2,beta → 0.7.14-beta.1。

关于 @c4a/core 的常见问题

@c4a/core 是什么?

Shared extraction types, schemas, and utilities for Context

如何安装 @c4a/core?

在项目目录运行 npm install @c4a/core,或使用 pnpm add / yarn add / bun add。

@c4a/core 支持 TypeScript 吗?

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

@c4a/core 支持 ESM 还是 CommonJS?

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

@c4a/core 需要什么版本的 Node.js?

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

@c4a/core 可以商用吗?

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

@c4a/core 的下载量有多少?

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

@c4a/core 还在维护吗?

最新版本 0.7.95 发布于 2026/11/09(今天);至今共发布 150 个版本,其中过去 12 个月发布了 150 个;首次发布于 2026/02/26。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。