@acedatacloud/sdk

中文文档
2026.1106.1发布于 2026/11/06MITTypeScriptESM + CJS零依赖近 30 天下载 2523

Ace Data Cloud SDK 为苏诺、种子、HappyHorse、GPT图像和纳米香蕉提供

中文使用文档
文档目录25 节
  1. 获取您的 Ace 数据云 API 密钥
  2. 安装
  3. 快速启动
  4. 流线
  5. 资源
  6. 聊天和计费
  7. 公共聊天补全模式
  8. 原始 Claude 信件
  9. OpenAI 嵌入
  10. 图像生成( 带有任务投票)
  11. 纳米香蕉2.1
  12. GPT 图像 2.5 / 2.6 质量
  13. 大师录像制作
  14. 生产者具体行动投入
  15. WebExtrator 导航和缓存
  16. Kling 参考视频计费
  17. Suno 音乐处理
  18. 鱼声模型
  19. 文件上传
  20. 多服务支持
  21. 处理错误
  22. 配置
  23. 使用 X402 而不是一个 Bearer Token 支付
  24. 许可证
  25. GPT 图像 2.6 本地 GIF

AceDataCloud 类型脚本 SDK

官方类型脚本/ Node.js 客户端 AceDataCloud API 密码。 。 。 .

要求节点.js 18+(使用本地 fetch) (中文(简体) ).

获取您的 Ace 数据云 API 密钥

  1. 打开 Ace 数据云 — 应用中,或先注册账户.
  2. 查找 一般应用中选择 初始化一般应用程序。普通密钥可以使用您账户可用的服务;专用应用程序的密钥仅限于其服务。 检查所需的服务/模式访问和 当前定价。 。 。 .
  3. 复制 API 密钥 从申请卡,或打开 密钥/ 管理密钥 – 创建 为这种整合创建一个单独的密钥。 给它一个可识别的名称,这样你就可以独立地撤销或旋转.
  4. 在创建密钥时, 检查 过期时间, (中文(简体) ), 设置使用限制,以及 允许的 API,然后单击 创建 并复制密钥列表中的令牌。 任务搜索不允许提交一个世代 。 确认申请的余额可以满足您的第一个请求;任何审判津贴都是您账户目前显示的.
  5. 仅复制符号值,没有引号、空格或 Bearer 。一个 API 密钥/ API Token 字段期望此原始值; 只有手动配置的 HTTP Authorization 标题需要 Bearer 前缀。 A 类 platform-... 账户管理符不能替换一代 API 密钥.

Copy an application API key or open Manage Keys

Create a separately named key with optional restrictions

在客户端的证书存储或下面显示的环境变量中保存密钥. 永远不要把它放在一个迅速,共享的工作流程,截图,或者Git承诺. 如果认证失败, 请在创建另一个密钥前检查全部复制的值、 应用程序/ 服务访问、 过期、 使用限制和平衡 .

对 API 请求使用此应用程序密钥 。 SDK账户管理方法需要在其管理文件中描述的单独证书;不与API密钥相交换. 下面的可选x402支付流量是支付支持请求的单独方式.

安装

npm install @acedatacloud/sdk

快速启动

import { AceDataCloud } from '@acedatacloud/sdk';

const client = new AceDataCloud({ apiToken: 'your-token' });

// OpenAI-compatible chat completions
const response = await client.openai.chat.completions.create({
  model: 'gpt-4o',
  messages: [{ role: 'user', content: 'Hello!' }],
});
console.log(response.choices[0].message.content);

流线

const stream = await client.openai.chat.completions.create({
  model: 'gpt-4o',
  messages: [{ role: 'user', content: 'Tell me a story' }],
  stream: true,
});

for await (const chunk of stream) {
  process.stdout.write(chunk.choices?.[0]?.delta?.content ?? '');
}

资源

资源说明
client.openaiOpenAI 兼容聊天完成和回复
client.chat本地聊天信息
client.images图像生成(花花,种子梦,纳米香蕉等)
client.audio音乐生成 (Suno)
client.video视频生成(Luma、Sora、Veo等)
client.search网络搜索( Google SERP)
client.face面部分析与变相( 擦拭、 美化、 年龄、 漫画)
client.shorturl简短的 URL 创建
client.tasks跨服务任务投票
client.files文件上传
client.platform申请、全权证书、模型管理

聊天和计费

通过聊天补全、回复和信件接受模式请求 按选定模型的输入、输出和缓存用途计费,而不是固定收费 每个请求。 将协议格式切换为每笔帐单 或保证模型接受该格式。 咨询当前模型价格和 usage.cost (c) SDK保留报告的用途,而不重新计算.

  • 聊天补全 prompt_tokens 包括已报告的缓存符.
  • 回应 input_tokens 包括已报告的缓存符.
  • 信件 input_tokens 不包括单独报告 cache_read_input_tokens 财务报告和审定财务报表 cache_creation_input_tokens这些维度是分开的.

不为 Chat 补全再次在输入总量中添加缓存的符号或 回复,或将信件输入单独作为全部输入/缓存使用.

公共聊天补全模式

把这些公共身份证发给 client.openai.chat.completions.create({ model, messages })· ; 使用情况 stream: true 为了流出。 SDK通过模型特定字段 无需重写模式标识或执行目录.

  • gpt-6.1-terra: 支持文本/图像输入、流出、函数工具,以及 结构化输出。 使用 reasoning_effort: 'low' 初始; 支持的级别为 low, (中文(简体) ), medium, (中文(简体) ), high, (中文(简体) ), xhigh,以及 max没有 none 或者说 minimal. 反应用途 reasoning: { effort: 'low' } 换句话说 超过 272,000 个令牌的输入使用长文 定价;参考当前价格和报告使用情况.
  • claude-opus-5-5: 支持文本并用 n: 1。 。 。 . 奥米 temperature 财务报告和审定财务报表 top_p ; 不要将温度设置在下方 1或非默认上-p. 使用 tool_choice: 'auto',而不是强制工具。 为本地人 思维块、签名和本地工具语义,使用 client.chat.messages。 。 。 .
  • gemini-4-argon: 支持文本并流出聊天补全. 思考会 消耗产出预算; Google 至少推荐 max_tokens: 32768 普通项目 任务。 这不会暴露出“互动”背景长期输出功能.
  • kimi-k3.1-pro: 总是理由;通过 reasoning_effort: 'low', (中文(简体) ), 'high',或 'max'。 。 。 . 不要禁用推理 。 保留完整的助理消息,包括 reasoning_content 财务报告和审定财务报表 tool_calls,在多转和工具调用的历史. 现有 kimi-k3 别名仍然可用; 使用 reasoning_effort: 'max' 对于它.

请在通话前检查往来账户的存取和价格 。 模特儿的广告 上下文大小并不能保证平台的每个请求限制.

原始 Claude 信件

对结构化输出, 通过 output_config: { format: { type: 'json_schema', schema: yourSchema } } 改为 client.chat.messages.create(...)从信件读取生成的 JSON content 文本块; 这不会改变响应信封或增加 maxTokens。 。 。 .

思维和输出配置在没有SDK模型特定的情况下通过 enum或组合检查。 选定的模型决定它接受的值 . 对于β display: 'updates' 模式,将所需的信头设置在一个专用 客户端( 客户头适用于每个请求):

const claude = new AceDataCloud({
  apiToken: 'your-token',
  headers: { 'anthropic-beta': 'thinking-display-updates-2026-08-18' },
});

const response = await claude.chat.messages.create({
  model: 'claude-sonnet-5-5',
  messages: [{ role: 'user', content: 'Explain this code.' }],
  thinking: { type: 'adaptive', display: 'updates' },
  output_config: { effort: 'high' },
});

流动和 claude.chat.messages.countTokens(...) 也保持思维 配置 。 参数通过不保证模型支持; API 错误 通过 SDK 的正常错误处理返回.

OpenAI 嵌入

const embeddings = await client.openai.embeddings.create({
  model: 'text-embedding-3-small',
  input: 'The food was delicious and the waiter...',
});

支持的模型是 text-embedding-3-small 财务报告和审定财务报表 text-embedding-3-large。 。 。 . text-embedding-ada-002 已无法使用。 当迁移一个现有的指数时, 重新生成其向量并重建索引;不混合新旧模式向量.

图像生成( 带有任务投票)

// Default provider (nano-banana)
const task = await client.images.generate({ prompt: 'A sunset over mountains' });
const result = await task.wait();
console.log(result.image_url);

// Use a specific provider
const fluxTask = await client.images.generate({
  prompt: 'A sunset over mountains',
  provider: 'flux',
});

纳米香蕉2.1

选择 model: 'nano-banana-2.1' 用于生成或编辑 1K, 2K, 或4K, (中文(简体) ). 选择 model 仍在使用 nano-banana;没有 nano-banana-2.1:official 变种.

const task = await client.nanobanana.generate({
  action: 'generate',
  model: 'nano-banana-2.1',
  prompt: 'A blue ceramic vase on a cream background',
  resolution: '2K',
  aspectRatio: '1:1',
});
await task.wait();
const imageUrls = task.urls();

const editTask = await client.nanobanana.generate({
  action: 'edit',
  model: 'nano-banana-2.1',
  prompt: 'Change the vase to green; preserve the background',
  imageUrls,
  resolution: '4K',
});
await editTask.wait();

公共型号ID也与 client.openai.images.generate(...) 财务报告和审定财务报表 client.openai.images.edit(...); 使用 OpenAI 兼容字段 (单位:千美元)image 用于编辑)和返回回复对象,而不是任务处理.

GPT 图像 2.5 / 2.6 质量

client.openai.images.generate(...) 财务报告和审定财务报表 .edit(...) 通过 quality 结束 不变。 常规 图像模型接受 auto, (中文(简体) ), low, (中文(简体) ), medium,以及 high· ; 2.5和2.6 平板/起爆模型(包括 :reverse 财务报告和审定财务报表 :official 备选案文) xhigh 财务报告和审定财务报表 max。 。 。 .

对于这两种方法, :reverse 是相应的明确别名 无后缀的Flare/Sunburst模型. 传递完整的型号ID 不变,例如 gpt-image-2.6-flare 或者说 gpt-image-2.6-sunburst:reverse; 不使用 不完整 gpt-image-2.6。SDK不选择后退. 服务器可能使用 GPT 图像 2.5 2.0 / 2.5自动回收过程中的火焰 反向模型,同时保留请求的模型和每成功图像 计费; 2.6 不配置跨模型替换. gpt-image-2,以及它们的 :reverse 别名有底价 联 合 国 每个成功图像的功劳2.6 火焰/太阳爆发模型及其 :reverse 别名的基价为: 0.22 每个成功图像的功劳。 。 。 . 官方渠道的请求按实际象征性用途记帐,而不是按每笔固定收费 图像; 2.6 使用与 2.5 相同的官方率. 检查活期账户定价和 最后费用使用记录.

2.6模型都使用现有的光栅参数: outputFormat 实值 png, (中文(简体) ), jpeg,或 webp (GPT 图像 2.6 加GIF; SVG 不支持),以及 size 实值 auto 或者说 WIDTHxHEIGHT。 。 。 . 明确维度必须是16倍数,最多最长的一面 3840, 655,360–8,294,400总像素,外观比最多为3:1. 通过 SDK 的 JSON 接口编辑图像 URL; 后端多部分 文件上传支持不会被这些助手所曝光.

大师录像制作

使用提供者客户端请求使用一种语言完成的视频 :

const task = await client.maestro.generate({
  prompt: 'Explain vector databases to beginners in 20 seconds',
  langs: ['en'],
  aspect: '9:16',
  duration: 20,
  scenario: 'narrated',
});
const result = await task.wait();

langs 默认为 ['zh-cn'] 并且必须包含完全一种语言; 创建 用于其他语言的单独任务。 完成的结果包含一个视频 response.data.variants修改视频,使用 action: 'remix', (中文(简体) ), 'edit',或 'extend' 与 refTaskId: task.id。 。 。 .

没有质量等级:所有视频都使用 1080p/30fps 和目标持续时间 5 -300秒 5 -300秒 5 -300 seconds. 成功任务成本 0.7 每次实际交付的信贷, (中文(简体) ), 以整数计费的秒封在请求的持续时间(返回到 如果无法读取,则该期限)。 所有情景、行动和语言都有 相同的比率; 失败的任务和 /maestro/tasks 投票是免费的.

style 接受自由形式视觉提示以及命名预设. voice 接受 已命名的语音预设或32个特征的十六进制语音 reference_id;通过不变.

生产者具体行动投入

await client.producer.generate({ action: 'generate', prompt: 'A jazz song' }) 使用启发模式( e)custom: false (默认情况下). 对于定制相声,设置 custom: true 和提供 lyric; 用于自定义工具音乐, 设定 custom: true, instrumental: true 没有发明歌词 或一个提示. 需要扩展 audioId,正数 continueAt (分数,包括分数), 财务报告和审定财务报表 lyric 除非有帮助。 封面、变异、替换、, 相声/仪器交换,并需要源头 audioId。 。 。 . lyric 财务报告和审定财务报表 prompt 不再需要每个动作; 世代仍然返回任务手柄.

WebExtrator 导航和缓存

client.webextrator.extract(...) 财务报告和审定财务报表 .render(...) 接受 cookies, (中文(简体) ), bypassCache,以及 cacheTtlSeconds,映射到 API 的蛇 case 缓存字段. 每块饼干都要求 name, (中文(简体) ), value,以及 domain; 可选字段为 path, (中文(简体) ), expires (Unix seconds), (Unix seconds), (英语), httpOnly, (中文(简体) ), secure,以及 sameSite (单位:千美元)Strict, (中文(简体) ), Lax, (中文(简体) ), 或者说 None) (中文(简体) ). 保持 cookie 值远离日志和 Git .

服务器默认 waitUntil 改为 load导航 timeout 至30秒钟, 和缓存 TTL 到3600秒. timeout 必须是正整数; delay 财务报告和审定财务报表 cacheTtlSeconds 必须是非负整数. bypassCache: true 跳过缓存 读取但仍可缓存新结果; cacheTtlSeconds: 0 禁用缓存 结果。 禁用选项仍为省略.

Kling 参考视频计费

过 videoList: [{ videoUrl: referenceUrl, referType: 'feature' }] 改为 client.kling.generate 与 model: 'kling-o1' 或者说 'kling-v3-omni'。 。 。 . 参考影片使用单独的计费级: 1.202 信贷/第二笔 内 std 模式和模式 1.602 信贷/第二笔 内 pro 模式。 对于5秒O1结果, std 编号 : pro 费用 4.005 / 5.340 贷方 没有参考视频,或 6.010 / 8.010 信贷 一个.

referType: 'base' (默认)编辑可能跟随参考视频的长度; 计费使用以四舍五入为最接近的整数秒的实际输出时间. referType: 'feature' 使用请求 duration读取 response.usage.reference_video_seconds 最后计费秒; 请求时间估计数可能与最终收费不同。 这是回应 使用,而不是请求参数。 仅图像参考和第一/最后一帧 没有触发参考视频计费。 不要合并 videoList 与 generateAudio: true。 。 。 .

Suno 音乐处理

对于一个私人的声音 由 client.suno.voices(...),上传原件 歌曲为 await client.suno.upload({ audioUrl: sourceUrl, personaId })。 。 。 . 此字段仅用于标准上传( 默认) , 而非 mode: 'enhanced'。上传成功后,使用返回的 data.audio_id 作为 audioId 和同样的 personaId 内 await client.suno.generate({ action: 'upload_cover', audioId, personaId })。 。 。 . 不使用此语音关联, 不要重复上传的歌曲 ID 。 有声创作, 上传,封面必须使用相同的服务通道. vocalGender 没有 需要且不能替换 personaId。 。 。 .

在封面或扩展之前,可选择调用 await client.suno.availability({ audioId })用这首歌 audio_id 从a 已完成的任务,而不是 task_id。这是一个同步的 API 调试认证 检查, 目前不收取信用费; 它返回响应对象 直接,不是一个任务处理 投票. result.data.available 仅是 true 打开 成功:这是当前频道上的积极证据,不能保证 接下来的操作将会成功。 未确定检查返回错误, 包括 503 availability_unknown; 决不将错误转换为 false。 。 。 . 保存出错代码并跟踪ID.

使用 client.suno.generate({ custom: true, lyric, style, negativeTags }) 页:1 定制音乐. negativeTags 描述要排除的样式或流派; 有 目前没有固定字符限制,但过长的输入可能仍然失败, 所以,保持简洁。 SDK送来的 negative_tags 没有截断.

可下载音频文件不能保证其 audio_id 仍然可用 用于被子,扩展或干线分离. 如果处理返回 suno_processing_unavailable,保留原件 task_id (任务处理器) id当可用时)和错误的 traceId 请求支持。 相关代码 suno_model_unavailable 财务报告和审定财务报表 suno_processing_failed 表示选中的模型是 无法进行操作或处理时,没有回音. 苏诺也可以回来 api_error 带消息 the account may have been offline; 这是服务器错误, 不是 SDK 认证错误 . 这些 HTTP 500 错误保留其 code, (中文(简体) ), traceId 财务报告和审定财务报表 body 打开 APIError。 。 。 . 获取现有任务,而不是仅仅提交替换生成 检查结果.

鱼声模型

client.fish.model({ title, voices: audioUrl }) 从一个 单个可公开下载的音频 URL 字符串, 而不是数组或多部分 上传. 偏好直接 URL 结束于 .mp3 或者说 .wav成功创建 直接返回模型对象(HTTP 201) _id 可用于 referenceId 内 client.fish.generate。 。 。 .

创建的声音被公开长期存储,可能被搜索和使用 其他用户。 奥米 visibility: 通过 private 或者说 unlist 没有使 声入人心 对于临时引用音频而不创建保存的模型, 使用情况 client.fish.generate({ text, references: [{ audio: audioUrl, text: transcript }] })。 。 。 .

client.audio.listFishModels({ selfOnly: true, pageSize: 20, pageNumber: 1 }) 列出由调用账户创建和保存的语音, 包括以其其他 API 符号创建的声音。 仅过滤列表; 它并不限制公众使用。 结果按反向生成顺序分解; sortBy 支持 created_at 财务报告和审定财务报表 task_count,以及 authorId 可进一步过滤 他们。 不要合并 selfOnly: true 与 titleLanguage; 过滤器用于 公共图书馆。 答复载有 total, (中文(简体) ), items,以及 has_more· ; has_more 用于自我查询的布尔值,并且可能是 null 用于公共图书馆查询.

文件上传

client.files.upload(fileBytes, { filename: 'photo.jpg' }) 使用该 管理-平面账户符号,而不是一代 API 密钥。 使用单独的客户端 用那个符号配置的 上传返回 file_url 财务报告和审定财务报表 mime; 使用返回的 URL 而不是构建一个 。 平台指定一个 uploads/<uuid> 路径 并保存安全的文件名扩展名。 提供匹配实际的文件名 内容: 文件名的 MIME 推论不会转换文件 。 默认 单文件限制为100 MB.

多服务支持

图像、视频和音频资源支持a provider 在服务间切换的参数 :

// Video — default is 'sora'
await client.video.generate({ prompt: 'A cat playing piano', provider: 'kling' });
await client.video.generate({ prompt: 'Ocean waves', provider: 'luma' });

// Audio — default is 'suno'
await client.audio.generate({ prompt: 'A jazz song', provider: 'producer' });

可用的提供者 :

资源供应商
client.imagesnano-banana (违约), flux, (中文(简体) ), seedream
client.videosora (违约), luma, (中文(简体) ), veo, (中文(简体) ), kling, (中文(简体) ), hailuo, (中文(简体) ), seedance, (中文(简体) ), wan, (中文(简体) ), pika, (中文(简体) ), pixverse
client.audiosuno (违约), producer, (中文(简体) ), fish

处理错误

import { AceDataCloud, AuthenticationError, RateLimitError } from '@acedatacloud/sdk';

const client = new AceDataCloud({ apiToken: 'your-token' });
try {
  await client.search.google({ query: 'test' });
} catch (err) {
  if (err instanceof AuthenticationError) {
    console.error('Invalid or expired token');
  } else if (err instanceof RateLimitError) {
    console.error('Too many requests');
  }
}

配置

const client = new AceDataCloud({
  apiToken: 'your-token',
  baseURL: 'https://x402.acedata.cloud',
  platformBaseURL: 'https://platform.acedata.cloud',
  timeout: 300000,    // ms
  maxRetries: 2,
});

也可以通过 ACEDATACLOUD_API_TOKEN 环境变量.

await client.platform.config.get() 返回时 features 财务报告和审定财务报表 region。 。 。 . region 是从请求IP中检测到的小写国家/区域代码,或 null 当未知。 终点不接受任何国家/地区推翻。 保留任何 用户在您自己的应用程序中选择的显示区域; 不更改 服务器侧可用性或安全政策。 特性密钥可能改变; 使用 缺少密钥的安全默认值, 不在用户之间共享缓存配置 .

使用 X402 而不是一个 Bearer Token 支付

SDK 支持可插件 paymentHandler 当 API 返回 402 Payment Required组合起来 @acedatacloud/x402-client (Base、Solana、SKALE)而不是使用 借记符 :

npm install @acedatacloud/sdk @acedatacloud/x402-client
import { AceDataCloud } from '@acedatacloud/sdk';
import { createX402PaymentHandler } from '@acedatacloud/x402-client';

const client = new AceDataCloud({
  // No apiToken needed — the x402 handler pays per request.
  paymentHandler: createX402PaymentHandler({
    network: 'base',               // or 'solana' | 'skale'
    evmProvider: window.ethereum,
    evmAddress: '0xYourAddress...',
  }),
});

const result = await client.openai.chat.completions.create({
  model: 'gpt-4o-mini',
  messages: [{ role: 'user', content: 'Say hi in 3 words' }],
  max_tokens: 10,
});

在每次API通话中,SDK首先发送请求未经认证. 若为 服务器的回复 402SDK通过 accepts 列表为 处理器,用于标记并返回一个 X-Payment 头曰. SDK这个 用那个信头重复请求一次。 其他一切——任务 投票、流线、重试、误差绘图——继续准确工作 一样.

如果你想要一个,你还可以在操作员旁边通过一个"熊"符号 混合模式(一些端点通过订阅,另一些通过x402)- SDK只在操作器实际看到时才引用 402。 。 。 .

同伴 TypeScript/ Python 签名人也支持Arbitrum One (单位:千美元)network: 'arbitrum' 或者说 'eip155:42161'用于 exact 使用当地USDC支付的款项 (小数点后6分),未连接USDC. 每个网络都推出可用性: 当服务器当前时选择参数 accepts 提供它。 一个配置 签名器无法启用服务器上的网络 。 使用返回的付款 金额; SDK 转发 accepts 处理器不变。 钱包必须支持和持有资金 目标链.

许可证

麻省理工学院

GPT 图像 2.6 本地 GIF

GIF 生成和编辑可用以 gpt-image-2.6-flare页:1 :reverse编号 ::official 变体,以及所有 gpt-image-2.6-sunburst 变相. 使用 output_format="gif" 在蟒蛇中, outputFormat: "gif" 类型脚本,或 OutputFormat: "gif" 框控件为 frame_count编号 :frame_duration_ms (毕通), frameCount编号 :frameDurationMs (编),并 FrameCount编号 :FrameDurationMS (前进).

GIF默认为512x512预览,每帧9帧和200ms;实际尺寸可能由模型来调整. 静态 4K 预设( S)3840x2160, (中文(简体) ), 2160x3840)继续支持PNG/JPEG/WebP生成并编辑所有2.6个变体. 全球投资框架有单独的大小/框架限制.

GPT 图像 2.6 支持 complexity="low"|"medium"|"high" (输入:模型默认高). 接受静态编辑 markup: a PNG 有透明的像素,匹配方向后的第一个参考,每个图像最高可达16,777,216像素,注释为40MB. JSON 接受 HTTPS URL, PNG 数据 URL 或只包含对象 image_url;多部分接受注释文件。 不将标记与口罩、 GIF 或 power rewriter 合并 。 GIF帧数为2–16;帧持续时间为20–655350ms,四舍五入为10ms. GIF拒绝口罩,自定义压缩和部分流线. 定价不变.

版本与发布记录

@acedatacloud/sdk 共发布 64 个版本,首次发布于 2026/03/22;过去 12 个月发布了 64 个版本。

版本发布日期距今
2026.1106.1latest2026/11/061 天前
2026.1106.02026/11/061 天前
2026.1105.12026/11/061 天前
2026.1105.02026/11/062 天前
2026.1103.02026/11/043 天前
2026.1101.12026/11/025 天前

关于 @acedatacloud/sdk 的常见问题

@acedatacloud/sdk 是什么?

Ace Data Cloud SDK 为苏诺、种子、HappyHorse、GPT图像和纳米香蕉提供

如何安装 @acedatacloud/sdk?

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

@acedatacloud/sdk 支持 TypeScript 吗?

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

@acedatacloud/sdk 支持 ESM 还是 CommonJS?

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

@acedatacloud/sdk 需要什么版本的 Node.js?

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

@acedatacloud/sdk 可以商用吗?

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

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

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

@acedatacloud/sdk 还在维护吗?

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