开发者文档

使用 Space Bunny Alpha 构建应用

通过 OpenRouter 使用 Space Bunny Alpha,完成长上下文推理、多模态输入、JSON 响应与工具驱动的 Agent 工作流。

模型概览

长上下文多模态推理模型

Space Bunny Alpha 是 OpenRouter 上的匿名预览模型。它接受文本、图片和视频输入,返回文本,支持工具调用和 JSON 输出,并提供 100 万 token 上下文窗口以及最多 524,288 个输出 token。

100 万 token 上下文窗口

文本、图片与视频输入

五档推理强度

快速开始

发送第一条 OpenRouter 请求

先在 Playground 里验证提示词,再使用 OpenRouter API key,把同样的聊天补全请求放到服务端。

  1. 1

    打开测试台

    登录后用低推理强度测试一个真实提示词,再逐步增加上下文。

  2. 2

    创建 OpenRouter key

    把 key 保存在服务端环境变量中,绝不要暴露在浏览器代码里。

  3. 3

    发送聊天消息

    使用模型 stealth/space-bunny-alpha,并提供标准的 system、user 与 assistant 消息历史。

  4. 4

    添加高级控制

    只在工作流需要时加入推理强度、多模态内容、工具或 JSON 输出。

输入模态

把文本与视觉上下文放在一起

用户消息既可以是文本字符串,也可以是有序内容数组。先放文字指令,再追加图片或视频 URL 内容块。

text

提示词、文档、代码与对话历史

image

PNG、JPEG、WebP 与 GIF 的公网 URL 或 base64 data URL

video

当前提供方路由支持的公网或 base64 视频 URL

Space Bunny Alpha 返回文本。视频 URL 的兼容性可能因提供方而异,生产使用前请验证实际路由。

请求控制

控制推理深度、输入模态与工具

保持核心请求精简:选择模型、提供消息,然后只添加当前任务真正需要的控制项。

能力适用场景请求字段
推理强度
平衡响应深度与延迟reasoning.effort
多模态输入
理解截图、图表与视频image_url · video_url
工具调用
让 Agent 请求已批准的函数tools · tool_choice · tool_calls

核心请求字段

每个请求都要选择模型并提供至少一条消息。API 形态中 reasoning 可选,但这里建议显式设置,避免提供方默认值带来意外。

model

必填字符串。使用 stealth/space-bunny-alpha。

messages

必填数组。按顺序提供构成对话的 system、user、assistant 与 tool 消息。

reasoning

可选对象。effort 可设为 low、medium、high、xhigh 或 max。

{
  "model": "stealth/space-bunny-alpha",
  "messages": [
    { "role": "user", "content": "审查这个 API 设计。" }
  ],
  "reasoning": { "effort": "low" }
}

需要机器可读输出时,请在提示词中明确要求 JSON,并把 response_format 设为 json_object。该模型当前未列出 JSON Schema 强制能力,因此仍需在应用中校验结果。

{
  "messages": [
    { "role": "user", "content": "返回 JSON 格式的发布计划。" }
  ],
  "response_format": { "type": "json_object" }
}

推理强度

Space Bunny Alpha 必须进行推理。OpenRouter 列出了 low、medium、high、xhigh 与 max;当前提供方在未指定时默认使用 max。建议从 low 开始,只在任务需要更深入分析时提高。

{
  "model": "stealth/space-bunny-alpha",
  "messages": [{ "role": "user", "content": "找出最安全的迁移方案。" }],
  "reasoning": { "effort": "high" }
}

多模态输入

在 user 消息里使用有序 content 数组。先发送文字指令,再追加一个或多个 image_url 或 video_url 内容块。URL 必须能被上游提供方访问,也可以使用其支持的 base64 data URL。

{
  "role": "user",
  "content": [
    { "type": "text", "text": "审查这个界面的信息层级。" },
    { "type": "image_url", "image_url": { "url": "https://example.com/ui.png" } }
  ]
}

工具调用

在 tools 中描述每个函数及其 JSON 参数。模型可以请求调用,但应用必须在执行前校验函数名、参数、权限和副作用。

{
  "tools": [{
    "type": "function",
    "function": {
      "name": "get_record",
      "description": "读取一条已批准的记录",
      "parameters": { "type": "object", "properties": { "id": { "type": "string" } }, "required": ["id"] }
    }
  }],
  "tool_choice": "auto"
}

输出

读取 assistant 消息与用量

成功的非流式响应包含 choices。第一项通常携带 assistant 消息,usage 则报告提示词、输出和总 token 数。

  • message: 从 choices[0].message.content 读取文本或 JSON;模型请求函数时读取 message.tool_calls。
  • usage: 包含 prompt_tokens、completion_tokens 与 total_tokens;OpenRouter 还可能返回费用明细。
  • elapsedMs: Space Bunny 代理会为 Playground 响应添加端到端请求耗时,单位为毫秒。

即使最终消息不展示内部推理,推理 token 仍可能计入 completion 用量。

响应字段

model实际处理本次响应的模型。
choices包含 message、index 与 finish_reason 的补全结果数组。
usageToken 用量,以及 OpenRouter 可能返回的费用元数据。
elapsed本项目 Playground 代理添加的端到端耗时,不是 OpenRouter 原生字段。

响应示例

{
  "id": "chatcmpl-123",
  "model": "stealth/space-bunny-alpha",
  "choices": [{
    "index": 0,
    "message": { "role": "assistant", "content": "这是迁移方案……" },
    "finish_reason": "stop"
  }],
  "usage": { "prompt_tokens": 161, "completion_tokens": 42, "total_tokens": 203 }
}

输出模式

默认使用纯文本;代码需要结构化数据时请求 JSON 对象;Agent 需要外部能力时处理工具调用。

文本响应

适用于解释、代码审查、分析与长文本生成的默认 assistant 响应。

role

模型生成的消息使用 assistant。

content

响应文本,通常是字符串。

{
  "role": "assistant",
  "content": "最安全的迁移路径是……"
}

JSON 对象

把 response_format 设为 json_object,并明确要求模型返回有效 JSON。解析后仍需自行校验。

role

生成的响应使用 assistant。

content

包含 JSON 对象的字符串;校验后再解析。

response_format

请求侧设置:{ type: json_object }。

{
  "role": "assistant",
  "content": "{\"risk\":\"low\",\"steps\":[\"backup\",\"migrate\"]}"
}

工具调用

提供 tools 后,assistant 可以先请求一个或多个函数,而不是立即返回最终答案。

role

请求工具的消息使用 assistant。

tool_calls

模型请求的函数名与 JSON 参数数组。

finish_reason

响应暂停等待工具执行时通常为 tool_calls。

{
  "role": "assistant",
  "tool_calls": [{
    "id": "call_123",
    "type": "function",
    "function": { "name": "get_record", "arguments": "{\"id\":\"42\"}" }
  }]
}

用量字段

input_tokens

integer · OpenRouter 的 prompt_tokens:输入消耗的 token 数。

output_tokens

integer · OpenRouter 的 completion_tokens:生成输出以及被计量的推理 token。

API 参考

创建聊天补全

使用 Space Bunny Alpha 模型 ID,向 OpenRouter 发送兼容 OpenAI 的聊天请求。

Chat Completions 接口

POST https://openrouter.ai/api/v1/chat/completions

每个请求都要携带 OpenRouter bearer key 与 application/json 内容类型。

Authorization: Bearer <OPENROUTER_API_KEY>
Content-Type: application/json
HTTP-Referer: https://your-app.example
X-OpenRouter-Title: Your App

请求体

model 和 messages 是核心字段。按任务需要添加 reasoning、response_format、tools、temperature 或输出上限。

modelstring · 必填。使用 stealth/space-bunny-alpha。
messagesarray · 必填。至少包含一条消息的有序聊天历史。
reasoningobject · 可选。effort 可设为 low、medium、high、xhigh 或 max。
response_formatobject · 可选。使用 { type: json_object } 获取 JSON 输出,并自行校验结果。

Space Bunny Alpha 还列出了 temperature、top_p、tools、tool_choice、max_tokens 与 include_reasoning 等支持参数。

cURL 示例

curl https://openrouter.ai/api/v1/chat/completions \
  -H "Authorization: Bearer $OPENROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "stealth/space-bunny-alpha",
    "messages": [{ "role": "user", "content": "审查这个设计。" }],
    "reasoning": { "effort": "low" },
    "max_completion_tokens": 2048
  }'

请求体示例

{
  "model": "stealth/space-bunny-alpha",
  "messages": [
    { "role": "system", "content": "谨慎且简洁地回答。" },
    { "role": "user", "content": "审查这个设计。" }
  ],
  "reasoning": { "effort": "low" },
  "temperature": 0.7,
  "max_completion_tokens": 2048
}

把 OpenRouter key 保存在服务端密钥中。本项目 Playground 调用自己的服务端路由,因此浏览器不会拿到提供方 key。

Agent 使用

在 Agent 中使用 Space Bunny Alpha

把兼容 OpenAI 的客户端指向 OpenRouter,只提供已批准的工具,并把校验与执行权留在应用中。

配置接口

在服务端环境变量中设置 OpenRouter base URL、模型 ID 与 API key。

按任务选择推理强度

常规任务使用 low,只有需要更深入分析时才提高推理强度。

校验每一次工具调用

在应用完成校验前,把工具名和参数都视为不可信的模型输出。

配置接口

export OPENAI_BASE_URL="https://openrouter.ai/api/v1"
export OPENROUTER_API_KEY="sk-or-v1-..."
export OPENAI_MODEL="stealth/space-bunny-alpha"

绝不要把真实 key 粘贴到源码、公开提示词、浏览器存储或 Agent 对话记录中。请使用平台的密钥管理能力。

五个实用起点

这些提示词分别展示长上下文、多模态输入、推理控制、结构化输出与工具安全。

1

审查大型代码库

利用长上下文关联架构说明、相关文件与运行时证据。

审查提供的架构说明、源码文件和事故日志。找出最可能的故障边界,为每个结论引用证据,并提出最小且安全的修复方案。明确说明仍不确定的部分。
2

保护工具工作流

允许模型请求已批准的工具,同时由应用权限决定最终执行。

使用可用的只读工具找到相关客户记录。不要调用破坏性或支付工具。如果写操作可能有帮助,请说明建议的动作并等待明确批准。
3

调整推理强度

常规任务从 low 开始,只有结果确实需要更深入分析时才比较更高档位。

分析这份迁移计划中隐藏的回滚风险。把确定结论与假设分开,然后建议最终审查应该使用 low、medium 还是 high 推理强度。
4

分析界面图片

把提示词和图片 URL 放在一起,检查层级、可访问性与易用性。

审查附带的界面截图。找出影响最大的三个信息层级或可访问性问题,并在不改变产品视觉识别的前提下提出具体修复建议。
5

返回结构化计划

使用 JSON 输出生成可被代码校验并交给下游工作流的计划。

只返回一个有效 JSON 对象,包含 summary、risks、steps 和 verification 字段。不要使用 Markdown。每个步骤都必须包含负责人和可衡量的完成检查。
模型可以建议动作并请求工具,但它不拥有你的凭据、权限、政策或审批边界。每一次外部副作用发生前都必须校验。

错误处理

错误码与重试

OpenRouter 使用标准 HTTP 状态码,并在请求失败时返回 JSON 错误体。

状态码含义
400请求错误:JSON 格式无效、参数不受支持或消息结构错误。
401未授权:缺少 OpenRouter API key 或 key 无效。
402需要付款:账户余额不足以使用付费路由。当前预览标价为 $0,但仍应防御性处理此状态。
429请求过多:触发速率限制,请等待后重试。
502上游失败:OpenRouter 或选中的提供方未能完成请求。

对 429 和临时 5xx 错误使用带抖动的指数退避。除速率限制外,不要自动重试无效的 400 系列请求。

下一步

先在 Playground 运行一个真实提示词,再把同样的请求放到服务端,并只按工作流需要添加多模态、JSON 或工具。