@cloudconfig/core

中文文档
0.4.0发布于 2026/11/05MITTypeScriptES Module近 30 天下载 2064

一个配置文件 — 一个部署在 Cloudflare, Vercel 或 Azure 上的后端. 数据库 登录 REST API 和一个来自单云.config.ts的打入客户端.

中文使用文档
文档目录8 节
  1. 创建本地 API
  2. 定义模型
  3. 使用输入客户端
  4. 存储代理定义
  5. 部署代理人和自动化
  6. 以 Cloudflare 的 CLI (β) 部署
  7. 生成 Void (审查) 的后端
  8. 学习更多

@ cloudconfig/ core (中文(简体) )

@cloudconfig/core 提供 CloudConfig 配置 API,服务器运行时间, 已键入客户端、数据库驱动程序、 MCP 服务器以及 cloudconfig 命令.

CloudConfig 将一个类型Script配置转换成 Cloudflare, Vercel 或 Azure 上的后端: a 数据库、迁移、验证的 REST 路径、访问规则、登录、输入、输入 客户端 和部署.

CloudConfig 0.2 可用在地图上 latest npm dist-tag. (英语).

创建本地 API

你需要22.12节节点或更新:

pnpm dlx @cloudconfig/core@latest init blog-api --target standalone
cd blog-api
pnpm install
pnpm db:generate
pnpm db:migrate
pnpm dev

打开 http://localhost:3000/api/_docs 来探索生成的 API.

引用是一个自成一体的 HTML 页面,它跟随您的系统的光或者 黑暗主题 。 模型 API 的 OpenAPI 3. 1 文档在 http://localhost:3000/api/openapi.json; 将其导入 Swagger UI、 Postman 或 a 客户端生成器。 两个URL都跟随 server.basePath 并因 server.docs: false。 。 。 .

规格包括模型输入、响应计划、平面图、过滤器、, 还有错误 写入有效载荷使用关系ID;答复包含嵌入关系 对象。 PUT和PACH都进行部分更新. 更好的认证端点和 自定义应用程序路由是独立的API,不包含在本导出中.

对于未启动服务器的导出, 请使用 buildOpenApiDocument(compileConfig(config)) 从 @cloudconfig/core/server。 。 。 .

定义模型

import { defineBackend, model, t } from '@cloudconfig/core'

export const config = defineBackend({
  models: {
    post: model(
      {
        title: t.text().required(),
        body: t.textarea(),
        published: t.boolean().default(false),
      },
      {
        access: {
          list: ({ where }) => where('published', 'eq', true),
        },
      },
    ),
  },
})

CloudConfig在数据库计划,迁移,验证, REST路由,打入客户端,API文档,以及MCP工具.

使用输入客户端

import { createClient } from '@cloudconfig/core/client'
import type { config } from './cloud.config'

const api = createClient<typeof config>({
  baseUrl: 'http://localhost:3000/api',
})

const posts = await api.post.list({ page: 1, pageSize: 20 })

存储代理定义

特工是选入的核心能力 将内置模型组成您的配置 :

import { defineBackend } from '@cloudconfig/core'
import { agentModels } from '@cloudconfig/core/agents'

export const config = defineBackend({ models: { ...agentModels } })

生成并应用迁移, 然后使用 api.agent 从输入的客户端. 每个定义存储Markdown指令,一个提供者和模型ID,草稿/活性 状态、工具选择和工具声明. runtime 选择 api, (中文(简体) ), codex,或 claude· ; localModel 独立于 API 模型,默认为 CLI 默认。 主机执行CLI执行,部署时使用API提供者/模型. 进入范围为注册所有人; 钩子从第一个"Markdown"所有权中取出名称并强制执行所有权.

createAgentDefinition(name) 范围、界限、决策和 工具使用模板. serializeAgentMarkdown 财务报告和审定财务报表 parseAgentMarkdown 保护 在 Markdown 前题中设置和完整的工具声明. agentToolSchema 导出 OpenAI 响应、 Anthropic 或 Google 声明; 它不执行 工具。 主机提供供应商证书,工具处理器和执行.

部署代理人和自动化

Nuxt 项目可以声明 deploy.agent 财务报告和审定财务报表 deploy.automations 在他们的配置. CloudConfig 选择 Cloudflare 持久对象和提醒、 Vercel 工作流程或 a 将 Azure 持久函数应用程序与私人 Blob 执行状态分开. 自动化任务支持持续 检查站,时间表,延误,事件等待, 并取消。 连接可以将已验证的 Webhooks 交给持久任务并运行 预定的代号刷新和加密密钥维护.

Vercel 默认为已存在的 Turso 数据库; Cloudflare 默认为 D1. 选择 D1,Turso,或libSQL明确保持数据库选择独立于应用程序托管. 在部署前提供选定的提供者的证书.

见 部署人员, (中文(简体) ), 部署自动化,以及 平台支持 运行时间 依赖性、储存地点和剩余限度.

以 Cloudflare 的 CLI (β) 部署

当项目有参考文献时 cloudflare.config.ts 和没有Wrangler配置, cloudconfig deploy 运行 cf build,飞行前并适用D1迁移,以及 将工人的秘密通过上传 cf deploy --prebuilt扩展 源自 cloud.config.ts 进入工人的环境:

// cloudflare.config.ts
import { defineConfig } from 'cf/config'
import { cloudflareBindings } from '@cloudconfig/core/cloudflare'
import config from './cloud.config.ts'

export default defineConfig({
  worker: {
    name: 'blog-api',
    compatibilityDate: '2026-10-14',
    entrypoint: './src/index.ts',
    env: { ...cloudflareBindings(config) },
  },
})

Nuxt 本地开发、代理、自动化、工作流程、Turnstile和远程 libSQL 仍然需要 wrangler.jsonc。见 部署到云浮。 。 。 .

生成 Void (审查) 的后端

CloudConfig 0.0.0 包括: 与麻省理工学院许可证相同的Void入境点 云相会. 此集成预览针对 Void 1.1.11, 需要 节点.js 24.210.0或更新.

保留 cloud.config.ts 作为模型、访问规则、认证和连接的来源. 衍生出Void的资源申报:

// void.config.ts
import { createVoidBackendConfig } from '@cloudconfig/core/void/config'
import { config } from './cloud.config'

export default createVoidBackendConfig(config, {
  name: 'my-void-backend',
  compatibilityDate: '2026-10-14',
})

生成 SQL 以 cloudconfig db generate 在开始Void之前。 然后准备 构建 Void 的 Vite 插件前的后端 :

// vite.config.ts
import { defineConfig } from 'vite'
import { voidPlugin } from 'void'
import { cloudconfigVoid } from '@cloudconfig/core/void/vite'

export default defineConfig({
  plugins: [await cloudconfigVoid(), voidPlugin()],
})

运行 cloudconfig void prepare 分别出口或检查这些文物. 保持"维特"帮手"本土发展身份和"工人"出口接线. 通过编译应用程序、认证和连接表准备导出 db/schema.ts,将权威 SQL 和 Drizzle 的快照镜像成 db/migrations中,通过 env.ts,以及 在下方生成本地 API 路由 routes/ 时间 server.basePath (默认) /api) (中文(简体) ). 显形相 sourceDir 移动这些切入点与应用程序 路线和工作。 生成的执行保留在 .cloudconfig/void/。 。 。 . 既不打开数据库,也不提供资源,也不应用SQL. Void拥有这些步骤。 在模型改变后用 CloudConfig 重生 SQL; 生成的 Void 计划不是第二个迁移源.

Void的破坏性出行护卫仍然适用于入行历史. 核准 不编辑现有的 CloudConfig 分类账而审查历史 SQL, 导出 cloudconfigApprovedDestructiveMigrations 从 void.config.ts 作为 SQL 的地图 确切的SHA-256源码的文件名 准备加Void的 -- void:allow-destructive 仅在生成的镜像中注释。 已更改来源 字节失败准备; 未批准的文件保持不变 。 同样的地图可以是 以 approvedDestructiveMigrations 给 Vite 帮助者或准备 API. 这需要单独的镜像:共享权威的SQL从未被附加注释.

何时 deploy.agent, (中文(简体) ), deploy.automations 或者说 deploy.workflows 已配置, vite 帮助者还将生成的工人输出附加到 Void 的本地条目上. 它创建了 Cloudflare 代理和自动化适配器,并保留 Connect for 自动化执行, 注册代理平台, 以及名为 Workflow 的转发 课程。 这些声明必须存在的只引用服务器的条目文件 在准备之前。 准备 CLI 生成适配器模块, 但是 需要维特的帮助 这个钩子目前跟随Void 1.11的 生成 .void/entry.ts; SDK 更新需要符合性检查.

框架应用程序保留其现有的 CloudConfig 挂载: set appType: 'framework' 在配置助手中,或通过 --framework 准备. 它们的框架一体化继续拥有工人的出口. 帮助者正面标记本地开发请求 只针对Vite serve 命令。 构建和预览保留生产环境,包括: 发展身份提供者在发展之外通常拒绝. Vite 助手在配置评价时间准备文件; 它不监视 计划改变。 在再生成SQL后重新启动开发过程.

准备保护被撰写的文件和迁移目录. 如果你已经 保持权威迁移 db/migrations设置 db.migrationsDir 给那个 直接共享历史的路径。 保留现有的 env.ts,通过 environment: 'external' 转到 Vite 帮助器或运行 cloudconfig void prepare --external-env,然后编写生成的验证符 :

// env.ts
import { defineEnv, string } from 'void/env'
import { environmentSchema } from './.cloudconfig/void/env'

export default defineEnv({
  ...environmentSchema,
  APPLICATION_KEY: string(),
})

添加 .cloudconfig/void/ 并生成切入点到 .gitignore 当他们是 设置时重建. 生成的环境文件包含可变名称 和验证规则,而不是秘密值。 通过 Void 上传所需值 部署前的秘密工作流程。 使用不同的资源名称进行评价; 准备不会从另一个部署中传输数据.

createVoidBackend(config) 从 @cloudconfig/core/void/server 也提供 为自定义挂载。 转发原始的 Web 请求并绑定到 backend.fetch(request, env)后端用途 config.db.binding (默认) DB(中文(简体) ) 并保留验证、访问规则、钩子、更好的Auth、连接、OpenAPI和 API参考.

使用 createVoidServerClient(config, context) 从同一切入点 在 Void 处理器或任务内输入服务器操作。 它的背景包括: 原始Web请求和平台绑定.

createVoidTools(config, context) 从 @cloudconfig/core/void/tools 生成 schema的工具定义,操作动作, JSON schemas, Zod schemas 和执行器. 执行者 返回时 OpResult,验证论据并使用公共操作边界, 因此,只使用服务器的字段不使用工具输入和结果。 供应 getUser 改为 使用主机身份提供者; 配置的 CloudConfig 认证块解决其 默认为自有会话。 该应用程序仍然拥有其模型提供者 审查/核准政策.

createVoidMcpServer(config, options) 从 @cloudconfig/core/void/mcp 曝光情况 相同的模型词汇通过MCP. 供应 env 装订D1 一种明确的认证模式。 需要网络运输 getUser; 已修正 匿名负责人仍限于当地交通工具。 工厂确实如此 不安装未经认证的 HTTP 端点 .

Nuxt Agentic 预览带一个版本绑定的 Void 补丁来保存工人 输出和现有事件处理者,创造本地工作,并允许明确 root Wrangler 配置与 Void 生成的文件并列 。 这些修正是: 仍然是上游贡献的候选者;这个适配器没有安装. 保留已存在的 CloudConfig root Wrangler 文件需要此补丁 preserveWranglerConfig: true 内 createVoidBackendConfig没有它,Void的 正常根 Wrangler 迁移要求仍然适用. 补丁也支持 preserveEnvExample: true 只保留文档 .env.example。该文件没有被装入;其他本地 dotenv 变体依然存在 受Void正常限制.

这些适配器有TypeScript覆盖. 模拟运行时间和部署符合规定 ;不要将预览视为一个全面的支持发布.

学习更多

执行工作由私人存放处负责。 公众 GitHub 存储器主机为产品概览和社区问题.

麻省理工学院.

版本与发布记录

@cloudconfig/core 共发布 13 个版本,首次发布于 2026/09/18;过去 12 个月发布了 13 个版本。

版本发布日期距今
0.4.0latest2026/11/054 天前
0.3.02026/11/054 天前
0.2.02026/10/2714 天前
0.2.0-beta.7beta2026/10/1624 天前
0.2.0-beta.62026/10/1625 天前
0.2.0-beta.52026/10/1625 天前

关于 @cloudconfig/core 的常见问题

@cloudconfig/core 是什么?

一个配置文件 — 一个部署在 Cloudflare, Vercel 或 Azure 上的后端. 数据库 登录 REST API 和一个来自单云.config.ts的打入客户端.

如何安装 @cloudconfig/core?

在项目目录运行 npm install @cloudconfig/core,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 cloudconfig,可以用 npx cloudconfig 直接运行。

@cloudconfig/core 支持 TypeScript 吗?

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

@cloudconfig/core 支持 ESM 还是 CommonJS?

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

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

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

@cloudconfig/core 可以商用吗?

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

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

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

@cloudconfig/core 还在维护吗?

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