@bagelink/sdk

中文文档
1.20.64发布于 2026/11/07MITTypeScriptESM + CJS近 30 天下载 1.8万

Bagel 核心 sdk 软件包

中文使用文档
文档目录9 节
  1. 特征
  2. 安装
  3. 快速启动
  4. 1. 生成 SDK
  5. 2. 初始化
  6. 3. 使用
  7. 配置
  8. 州管理层
  9. 类型

@ bagelink/ sdk (英语)

基于OpenAPI的TypeScript SDK生成器有Vue 3可相容.

特征

  • QQ 从 OpenAPI 规格生成类型安全 SDK
  • * * 在一个对象中加强响应-阵列+元数据
  • QQ 内置认证支持
  • QQ FastAPI / Pydantic 分析错误
  • QQ SSE/ stream 支持类型安全
  • ⚡ 请求状态管理可容性
  • 有拦截器的灵活配置

安装

pnpm add @bagelink/sdk

快速启动

1. 生成 SDK

# From OpenAPI spec
VITE_BAGEL_BASE_URL=https://api.example.com bun run bin/index.ts .bagelink

2. 初始化

import { createApi } from './.bagelink/api'

createApi({
  baseURL: '/api',
  withCredentials: true
})

3. 使用

import { useApi } from './.bagelink/api'

const api = useApi()
const users = await api.users.get()

// Array operations
for (const user of users) {
  console.log(user.name)
}

// Metadata
console.log(users.totalCount, users.page)

// Raw access
console.log(users.$raw.headers)

配置

createApi({
  baseURL: '/api',
  withCredentials: true,
  auth: {
    getToken: () => localStorage.getItem('token'),
    onUnauthorized: () => router.push('/login')
  },
  onError: (error) => {
    console.error(error.message)
    if (error.fields) {
      // Handle validation errors
    }
  },
  interceptors: {
    request: (config) => {
      // Modify request
      return config
    }
  }
})

州管理层

import { useApiRequest } from './.bagelink/api'

const { loading, error, data, execute } = useApiRequest(
  () => api.users.get()
)

类型

将单个对象指定为普通类型:

import { unwrap } from './.bagelink/api'

const agent = ref<AgentResponse | null>(null)
agent.value = unwrap(await api.agents.getByAgentId({ agentId }))

阵列没有工作 unwrap()数字 :

const agents = ref<AgentResponse[]>([])
agents.value = await api.agents.get()  // Works fine

版本与发布记录

@bagelink/sdk 共发布 1,261 个版本,首次发布于 2023/11/21;过去 12 个月发布了 566 个版本。

版本发布日期距今
1.20.64latest2026/11/071 天前
1.20.582026/11/061 天前
1.20.562026/11/062 天前
1.20.542026/11/062 天前
1.20.522026/11/052 天前
1.20.502026/11/052 天前

关于 @bagelink/sdk 的常见问题

@bagelink/sdk 是什么?

Bagel 核心 sdk 软件包

如何安装 @bagelink/sdk?

在项目目录运行 npm install @bagelink/sdk,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:vue(^3.3.0)、type-fest(^4)、@typescript-eslint/typescript-estree(^8.33.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。它还提供命令行工具 bagelink,可以用 npx bagelink 直接运行。

@bagelink/sdk 支持 TypeScript 吗?

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

@bagelink/sdk 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@bagelink/sdk 可以商用吗?

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

@bagelink/sdk 的下载量有多少?

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

@bagelink/sdk 还在维护吗?

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