Cruxy
  • Enterprise
  • 定价
  • 文档
联系开始使用
开始使用

产品

  • 全部产品
  • Cruxy
  • Memory
  • Vaults
  • Artifacts
  • Cruxy Code
  • Moderation API
  • Cruxy Cowork
  • Cruxy Bench
  • Cruxy Guard

模型

  • Auto
  • Fast · Mira
  • Balanced · Vaani
  • Deep · Kavi

开发者

  • 概览
  • 文档
  • API 参考
  • 模型参考
  • API 定价
  • 状态

定价

  • 全部套餐
  • Free
  • Core
  • Advanced
  • Pro
  • Enterprise

公司

  • 关于
  • 联系销售
  • 登录
  • 报告漏洞

法律

  • 安全
  • 信任中心
  • 隐私
  • 条款
  • 使用政策
  • Cookie

Cruxy. 与你并肩工作的 AI。

[email protected]© 2026 Mycrux Private Limited
语言: 简体中文
  • EnglishEnglish
  • हिन्दीHindi
  • EspañolSpanish
  • FrançaisFrench
  • DeutschGerman
  • Português (Brasil)Portuguese (Brazil)
  • ItalianoItalian
  • 简体中文Chinese (Simplified)
  • 日本語Japanese
  • 한국어Korean
  • РусскийRussian
  • TürkçeTurkish
  • Bahasa IndonesiaIndonesian
  • Tiếng ViệtVietnamese
  • বাংলাBengali
  • తెలుగుTelugu
  • தமிழ்Tamil
  • मराठीMarathi
  • العربيةArabic
  • اردوUrdu
  • فارسیPersian

开发者

构建未来。

一个 base URL,一个密钥,背后是三种模型规格。用于聊天的 OpenAI 兼容 API,需要记忆、保险库、文件和评测时可用的 Cruxy 自有路由,以及在你的仓库中工作的 CLI。

免费开始阅读快速入门
import OpenAI from 'openai';

const cruxy = new OpenAI({
  baseURL: 'https://api.cruxy.ai/v1',
  apiKey: process.env.CRUXY_API_KEY,
});

const res = await cruxy.chat.completions.create({
  model: 'auto',
  messages: [{ role: 'user', content: 'Summarize this ticket' }],
});
import os
from openai import OpenAI

cruxy = OpenAI(
    base_url="https://api.cruxy.ai/v1",
    api_key=os.environ["CRUXY_API_KEY"],
)

res = cruxy.chat.completions.create(
    model="auto",
    messages=[{"role": "user", "content": "Summarize this ticket"}],
)
curl https://api.cruxy.ai/v1/chat/completions \
  -H "Authorization: Bearer $CRUXY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "auto",
       "messages": [{"role": "user",
                     "content": "Summarize this ticket"}]}'
Response · chat.completion
{
  "id": "chatcmpl-8f3a1c2d",
  "object": "chat.completion",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Checkout fails on UPI when the cart
          holds a gift card. Steps to reproduce and
          a fix are below."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 212,
    "completion_tokens": 96,
    "total_tokens": 308
  }
}

请求是真实的。回复仅为示意,并已裁剪至其结构。

Base URL
api.cruxy.ai/v1
模型
kavi · vaani · mira · auto
流式输出
OpenAI 的 SSE,以 [DONE] 结束
错误
每个都带有稳定的错误码

平台

你能用来构建的一切。 全部已上线,全部有文档。

聊天 API已上线三种模型规格上的 OpenAI 兼容 chat completions。流式输出、工具调用,以及可按请求设置的 reasoning_effort。聊天指南Cruxy Code已上线面向终端的编程智能体。读取你的代码库,编辑文件并在每次批准前展示 diff,运行你的测试,并打开拉取请求。了解 Cruxy CodeEvals API已上线你定义的用例套件、你启动的运行、你读回的结果。把评测框架指向 OpenAI 兼容路由,或直接使用评测路由。API 参考嵌入、重排序和内容审核已上线cruxy-embed 把文本转为向量,cruxy-rerank 按查询为候选项排序,cruxy-guard 按内容安全类别对文本分类。Cookbook文档已上线一份快速入门、每条路由的指南、包含检索、工具循环和浏览器中流式输出的 cookbook,以及完整的 API 参考。阅读文档状态已上线实时探测与事件,放在独立域名上,让你在检查自己的代码之前先检查我们。查看状态

聊天

两条路由,一组模型。 用你的客户端已经支持的那条。

聊天指南
POST /v1/chat/completions

OpenAI 兼容

把任何 OpenAI 客户端或评测框架指向 https://api.cruxy.ai/v1,并使用你的 Cruxy 密钥。标准的 chat.completion 对象、OpenAI 的 SSE 和 OpenAI 的错误封装,其中带有稳定的 Cruxy 错误码。

  • temperature、top_p、max_tokens 和 reasoning_effort 均受支持
  • 网关不使用的字段会被忽略而不是拒绝,所以发送它们的评测框架仍能运行
  • 对你的消息和模型的可复现运行。没有记忆,没有保险库,没有文件
POST /api/v1/chat

Cruxy 聊天

同样的模型,加上 Cruxy 应用拥有的一切:记忆的调用与捕获、保险库和固定规则、按 id 引用的文件,以及每条回复上的 usage.cost。

  • 每个请求的 memory: { recall, capture },规则开或关,一个 vault_id
  • 每个响应上的 usage.cost,包含规格、金额和货币
  • cruxy.request_id,用于在你的日志中查找该次调用并与反馈配对
const stream = await cruxy.chat.completions.create({
  model: 'auto',
  stream: true,
  messages: [{ role: 'user', content: 'Draft the release note' }],
});

for await (const chunk of stream) {
  process.stdout.write(chunk.choices[0]?.delta?.content ?? '');
}
stream = cruxy.chat.completions.create(
    model="auto",
    stream=True,
    messages=[{"role": "user", "content": "Draft the release note"}],
)

for chunk in stream:
    print(chunk.choices[0].delta.content or "", end="")
curl -N https://api.cruxy.ai/v1/chat/completions \
  -H "Authorization: Bearer $CRUXY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "auto", "stream": true,
       "messages": [{"role": "user",
                     "content": "Draft the release note"}]}'

流式输出

把 stream 设为 true,回复就以 OpenAI 的服务器发送事件到达:带有内容或工具调用增量的 chat.completion.chunk 帧,然后是 [DONE]。

如果上游在流中途失败,流会以一个错误帧而不是 [DONE] 结束,让你的客户端能区分中断和完成。工具调用在两条路由上都可用:发送模型可以调用的函数,运行它返回的那些,再把结果反馈回去。

工具调用指南

API

每条路由,各一句话。 路径与参考文档所列一致。

完整 API 参考
分组路由作用文档
聊天
  • POST /v1/chat/completions
  • POST /api/v1/chat
  • POST /api/v1/tokens/count
OpenAI 兼容的 chat completions,带记忆、保险库、规则和文件的 Cruxy 自有聊天,以及一个 token 计数器。聊天指南
模型
  • GET /v1/models
  • GET /api/v1/models
规格目录,以 OpenAI 列表形式或附带 Cruxy 自有元数据:上下文窗口、定价、工具支持和推理默认值。模型参考
工具调用
  • "tools": [ ... ] on every chat route
发送模型可以调用的函数,运行它返回的调用,再把结果反馈回去。工具调用指南
嵌入和重排序
  • POST /api/v1/embeddings
  • POST /api/v1/rerank
用 cruxy-embed 把文本转为向量,用 cruxy-rerank 按查询为候选文档排序。嵌入指南
内容审核
  • POST /api/v1/moderations
用 cruxy-guard 按内容安全类别对文本分类,并根据 flagged 布尔值采取行动。内容审核指南
文件
  • POST /api/v1/files
  • GET /api/v1/files/{id}/content
上传、列出、下载和删除文件,然后按 id 把它们附加到 Cruxy 聊天请求。API 参考
评测
  • POST /api/v1/evals/suites
  • POST /api/v1/evals/suites/{id}/runs
你定义的用例套件、你启动的运行,以及你读回的结果。API 参考
反馈
  • POST /api/v1/feedback
按请求 id 报告先前某次调用的结果:接受、拒绝、点赞点踩和测试结果。反馈指南
记忆、保险库和规则
  • GET /api/v1/memories
  • POST /api/v1/vaults
  • PUT /api/v1/rules
读取和删除记忆,管理保险库及其成员,并为账户或保险库设置固定规则。API 参考
限额和日志
  • GET /api/v1/limits
  • GET /api/v1/logs/{request_id}
你的按密钥和按组织的请求上限,以及按请求 id 查看的请求日志。错误参考
密钥和组织
  • POST /api/v1/device/code
  • GET /api/v1/org/members
  • POST /api/v1/workspaces
用于获取密钥的设备登录、你组织的成员和邀请,以及工作区。认证指南

运维

你能理清的限额、日志和错误。

错误参考
01

可以读取的限额

GET /api/v1/limits 返回你在每个 60 秒窗口内按密钥和按组织的聊天请求上限,网关还会发送 X-RateLimit 头。没有每分钟 token 数的限制。

02

两种 429

rate_limited 表示请求到达得太快;放慢后即可解除。budget_exhausted 是消费上限,仅靠重试无法解除。

03

按请求 id 的日志

每个请求都记录模型、token 数、费用、耗时和状态,不记录任何提示词或回复。在 GET /api/v1/logs/{request_id} 读回其中一条。

04

密钥只显示一次

通过设备登录流程获取密钥。它只显示一次,并仅以哈希形式存储。静态存储的机密信息以 AES-256-GCM 逐字段加密。

已上线

Cruxy Code

同样的模型,在你的终端中。

  • 规划多步更改,并在你批准前展示每个 diff
  • 默认在每次编辑和每条命令前先询问
  • 运行你的测试命令,读取失败并持续修复
  • cruxy rollback 把目录树恢复到任意一轮之前
  • cruxy pr 在一次批准后打开拉取请求
npm i -g @cruxy/cli了解 Cruxy Code
~/web · Cruxy Code
$cruxy run "fix the failing tests in the auth module"
cruxy › fix the failing tests in the auth module
! cruxy wants to run tests: pnpm test (destructive)
$ pnpm test
in /home/dev/web
[y] once · [a] always allow test runs of exactly `pnpm test` this session · [t] reject & instruct · [n] no: a
✗ tests failed · 2 of 42 failed · 3.1s · pnpm test
✗ signs a session token src/auth/session.test.ts:18
expected "ok"
received undefined
✗ rejects an expired token src/auth/session.test.ts:41
why (inferred) TOKEN_SECRET is not set in the test environment
✓ read_file 8ms src/test/setup.ts
? cruxy wants to edit: src/test/setup.ts (mutate)

一次真实的会话,已截短。CLI 输出是真实的;模型的回复仅为示意。

API 定价

按 token,以 USD 计。 没有开通费,没有最低消费。

完整 API 定价

Fast· Mira

简短、大批量的调用,延迟和成本最为重要。

输入
$0.20 / 1M
输出
$0.40 / 1M
上下文
64K
最大输出
2K

Balanced· Vaani

日常调用:高质量,同时延迟和成本更低。

输入
$0.65 / 1M
输出
$1.30 / 1M
上下文
128K
最大输出
4K

Deep· Kavi

最难的任务:深度推理和最大的输出预算。

输入
$0.76 / 1M
输出
$1.52 / 1M
上下文
256K
最大输出
8K

每 1M token 的 USD 价格,按请求计量。API 价格不含 GST。印度计费账户需加收 18% GST(可抵扣进项税)。使用 auto 时,你按实际处理该次调用的模型的费率付费。

常见问题

值得了解。

任何密钥都可用的内容审核在输入进入聊天之前用 cruxy-guard 筛查。内容审核 API 接受任何套餐的任何密钥。

是,聊天和模型列表兼容。https://api.cruxy.ai/v1 以 OpenAI 的格式提供 /v1/chat/completions 和 /v1/models,所以现有的客户端和评测框架只需更换 base URL 和密钥就能工作。API 的其余部分,从文件到评测,是 Cruxy 自有的,位于 /api/v1 之下。

注册 Cruxy,并按快速入门中描述的设备登录流程创建一个密钥:请求一个设备码,在浏览器中批准它,然后轮询获取密钥。API 密钥来自与应用相同的账户,API 按 token 计费,与你的套餐分开。

除非有理由不这么做,否则传 auto。Mira 是 Fast 规格,用于简短、大批量的调用;Vaani 是均衡的默认选项;Kavi 是 Deep 规格,用于最难的任务。规格背后的模型可以更换;规格 id 才是约定。

任何 OpenAI 客户端都可用于 chat completions 和 models,用你已经在用的任何语言。对于 Cruxy 自有路由,文档以 curl 和使用 fetch 的 TypeScript 展示请求。

未经你明确、单独的同意,你的提示词和输出不会用于训练 AI 模型。请求日志保留模型、token 数、费用和耗时,不保留任何内容。隐私政策有完整说明。

换掉 base URL。保留你的代码。

免费开始,按 token 付费,并在触及每一项限额之前就能读到它。

免费开始API 参考