SHANNON A.I. 标志
SHANNON A.I.
聊天 价格 应用程序编程接口 研究 公司 Pentest AI 启动加速
登录
计划与用量
聊天 价格 应用程序编程接口 研究 公司 Pentest AI 启动加速 登录 计划与用量

选择你的语言

所有语言一视同仁。请选择你想使用的语言。

API 文档

Shannon API

兼容 OpenAI 和 Anthropic 的 AI API,支持函数调用、网页搜索和结构化输出。

获取 API 密钥 试用 Playground V2
文档
  • OV 概览
  • CP 功能
  • QS 快速开始
  • PG API 演练场 新
  • AU 认证
  • ML 模型
  • FN 函数调用
  • JS 结构化输出
  • SS 流式
  • WS 内置网页搜索
  • AN Anthropic 格式
  • SD SDKs
  • ER 错误处理
  • CL 更新日志
  • AK 你的 API 密钥
  • US 你的用量

Shannon AI API Documentation

概览

公开文档

使用 Shannon 的 OpenAI/Anthropic 兼容 API 发版所需的一切。

基础 URL 兼容 OpenAI
https://api.shannon-ai.com/v1/chat/completions

使用支持 function calling 与 streaming 的 Chat Completions API。

基础 URL 兼容 Anthropic
https://api.shannon-ai.com/v1/messages

Claude Messages 格式,支持 tools 与 anthropic-version 请求头。

请求头 认证
授权:Bearer <你的密钥>

或使用 X-API-Key + anthropic-version 发起 Claude 风格调用。

Access Status
Public docs - Key required to call

Streaming、function calling、结构化输出与网页搜索。

上线清单
  • +
    将 SDK 指向 Shannon
    将 baseURL 设置为上方 OpenAI 或 Anthropic endpoint。
    Setup
  • +
    添加你的 API 密钥
    OpenAI 方式使用 Bearer,或使用 X-API-Key + anthropic-version。
    Security
  • +
    启用 tools 与结构化输出
    支持 OpenAI tools/functions、JSON schema 与内置 web_search。
    功能
  • +
    跟踪用量
    登录后可在本页查看 token 与搜索消耗。
    Analytics

功能

OpenAI + Anthropic

可直接替换 OpenAI 与 Anthropic API,原生支持 tools、结构化输出与内置网页搜索。

AI

即插即用替代

兼容

兼容 OpenAI 和 Anthropic SDK,只需更改基础 URL。

AI

函数调用

工具

定义工具并让 Shannon 调用。支持 auto、forced 和 none 模式。

AI

内置网页搜索

搜索

带来源引用的实时网页搜索,自动可用。

AI

结构化输出

JSON

JSON 模式与 JSON Schema 强制,可靠的数据抽取。

AI

多轮工具

代理式

自动函数执行循环,每次请求最多 10 次迭代。

AI

流式传输

快速

通过 Server‑Sent Events 实现实时 token 流式传输。

快速开始

5 分钟

三步即可开始。Shannon 兼容 OpenAI 与 Anthropic 客户端。

1

设置基础 URL

使用 OpenAI 兼容端点。

https://api.shannon-ai.com/v1/chat/completions
2

添加你的 API 密钥

在 Authorization 头中使用 Bearer 认证。

3

发送第一条消息

选择语言并替换为你的密钥。

Python
from openai import OpenAI

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.shannon-ai.com/v1"
)

response = client.chat.completions.create(
    model="shannon-1.6-lite",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Hello, Shannon!"}
    ],
    max_tokens=1024
)

print(response.choices[0].message.content)
JavaScript
import OpenAI from 'openai';

const client = new OpenAI({
  apiKey: 'YOUR_API_KEY',
  baseURL: 'https://api.shannon-ai.com/v1'
});

const response = await client.chat.completions.create({
  model: 'shannon-1.6-lite',
  messages: [
    { role: 'system', content: 'You are a helpful assistant.' },
    { role: 'user', content: 'Hello, Shannon!' }
  ],
  max_tokens: 1024
});

console.log(response.choices[0].message.content);
Go
package main

import (
    "context"
    "fmt"
    openai "github.com/sashabaranov/go-openai"
)

func main() {
    config := openai.DefaultConfig("YOUR_API_KEY")
    config.BaseURL = "https://api.shannon-ai.com/v1"
    client := openai.NewClientWithConfig(config)

    resp, err := client.CreateChatCompletion(
        context.Background(),
        openai.ChatCompletionRequest{
            Model: "shannon-1.6-lite",
            Messages: []openai.ChatCompletionMessage{
                {Role: "system", Content: "You are a helpful assistant."},
                {Role: "user", Content: "Hello, Shannon!"},
            },
            MaxTokens: 1024,
        },
    )
    if err != nil {
        panic(err)
    }
    fmt.Println(resp.Choices[0].Message.Content)
}
cURL
curl -X POST "https://api.shannon-ai.com/v1/chat/completions" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "shannon-1.6-lite",
    "messages": [
      {"role": "system", "content": "You are a helpful assistant."},
      {"role": "user", "content": "Hello, Shannon!"}
    ],
    "max_tokens": 1024
  }'

响应格式

成功响应
{
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "created": 1234567890,
  "model": "Shannon 1.6 Lite",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hello! I'm Shannon, your AI assistant. How can I help you today?"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 25,
    "completion_tokens": 18,
    "total_tokens": 43
  }
}

API 演练场

新

在浏览器中直接测试 Shannon API。构建请求、运行并实时查看响应。

1

Chat, Responses, Messages

Switch across OpenAI Chat Completions, Responses, and Anthropic Messages without leaving the playground.

2

Stream live output

Run real requests, inspect raw JSON, and view stream events from the same operator console.

3

Reuse your key

Signed-in users can pull their Shannon API key straight into the dedicated playground workspace.

/zh/docs/playground

The playground now lives on its own route so the API docs stay Astro-rendered while the request builder remains an explicitly interactive client tool.

试用 Playground V2 获取 API 密钥

认证

所有 API 请求都需要使用你的 Shannon API 密钥进行认证。

OpenAI Format (Recommended)

HTTP
Authorization: Bearer YOUR_API_KEY

Anthropic 格式

HTTP
X-API-Key: YOUR_API_KEY
anthropic-version: 2023-06-01

模型

Shannon 提供针对不同场景优化的多种模型。

AI
shannon-1.6-lite Shannon 1.6 Lite

Fast, efficient responses for everyday tasks

上下文 128K
最适合 Chat, Q&A, Content Generation
AI
shannon-1.6-pro Shannon 1.6 Pro

Advanced reasoning for complex problems

上下文 128K
最适合 Analysis, Research, Complex Tasks
AI
shannon-2-lite Shannon 2 Lite

上下文 128K
最适合
AI
shannon-2-pro Shannon 2 Pro

上下文 128K
最适合
AI
shannon-coder-1 Shannon Coder

Optimized for Claude Code CLI with call-based quota

上下文 128K
最适合 Code Generation, Tool Use, CLI Integration
Call-based quota

函数调用

Define tools that Shannon can call to perform actions or retrieve information.

Python
from openai import OpenAI
import json

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.shannon-ai.com/v1"
)

# Define available tools/functions
tools = [
    {
        "type": "function",
        "function": {
            "name": "get_weather",
            "description": "Get current weather for a location",
            "parameters": {
                "type": "object",
                "properties": {
                    "location": {
                        "type": "string",
                        "description": "City name, e.g., 'Tokyo'"
                    },
                    "unit": {
                        "type": "string",
                        "enum": ["celsius", "fahrenheit"]
                    }
                },
                "required": ["location"]
            }
        }
    }
]

response = client.chat.completions.create(
    model="shannon-1.6-lite",
    messages=[{"role": "user", "content": "What's the weather in Tokyo?"}],
    tools=tools,
    tool_choice="auto"
)

# Check if model wants to call a function
if response.choices[0].message.tool_calls:
    tool_call = response.choices[0].message.tool_calls[0]
    print(f"Function: {tool_call.function.name}")
    print(f"Arguments: {tool_call.function.arguments}")
JavaScript
import OpenAI from 'openai';

const client = new OpenAI({
  apiKey: 'YOUR_API_KEY',
  baseURL: 'https://api.shannon-ai.com/v1'
});

const tools = [
  {
    type: 'function',
    function: {
      name: 'get_weather',
      description: 'Get current weather for a location',
      parameters: {
        type: 'object',
        properties: {
          location: { type: 'string', description: "City name" },
          unit: { type: 'string', enum: ['celsius', 'fahrenheit'] }
        },
        required: ['location']
      }
    }
  }
];

const response = await client.chat.completions.create({
  model: 'shannon-1.6-lite',
  messages: [{ role: 'user', content: "What's the weather in Tokyo?" }],
  tools,
  tool_choice: 'auto'
});

if (response.choices[0].message.tool_calls) {
  const toolCall = response.choices[0].message.tool_calls[0];
  console.log('Function:', toolCall.function.name);
  console.log('Arguments:', toolCall.function.arguments);
}

工具选择选项

"auto" Model decides whether to call a function (default)
"none" Disable function calling for this request
{"type": "function", "function": {"name": "..."}} Force a specific function call

函数调用响应

When model calls a function
{
  "id": "chatcmpl-xyz",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": null,
        "tool_calls": [
          {
            "id": "call_abc123",
            "type": "function",
            "function": {
              "name": "get_weather",
              "arguments": "{\"location\": \"Tokyo\", \"unit\": \"celsius\"}"
            }
          }
        ]
      },
      "finish_reason": "tool_calls"
    }
  ]
}

结构化输出

Force Shannon to respond with valid JSON that matches your schema.

Python
from openai import OpenAI

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.shannon-ai.com/v1"
)

# Force JSON output with schema
response = client.chat.completions.create(
    model="shannon-1.6-lite",
    messages=[
        {"role": "user", "content": "Extract: John Doe, 30 years old, engineer"}
    ],
    response_format={
        "type": "json_schema",
        "json_schema": {
            "name": "person_info",
            "schema": {
                "type": "object",
                "properties": {
                    "name": {"type": "string"},
                    "age": {"type": "integer"},
                    "occupation": {"type": "string"}
                },
                "required": ["name", "age", "occupation"]
            }
        }
    }
)

import json
data = json.loads(response.choices[0].message.content)
print(data)  # {"name": "John Doe", "age": 30, "occupation": "engineer"}
JavaScript
import OpenAI from 'openai';

const client = new OpenAI({
  apiKey: 'YOUR_API_KEY',
  baseURL: 'https://api.shannon-ai.com/v1'
});

const response = await client.chat.completions.create({
  model: 'shannon-1.6-lite',
  messages: [
    { role: 'user', content: 'Extract: John Doe, 30 years old, engineer' }
  ],
  response_format: {
    type: 'json_schema',
    json_schema: {
      name: 'person_info',
      schema: {
        type: 'object',
        properties: {
          name: { type: 'string' },
          age: { type: 'integer' },
          occupation: { type: 'string' }
        },
        required: ['name', 'age', 'occupation']
      }
    }
  }
});

const data = JSON.parse(response.choices[0].message.content);
console.log(data); // { name: "John Doe", age: 30, occupation: "engineer" }

响应格式选项

{"type": "json_object"} Force valid JSON output (no specific schema)
{"type": "json_schema", "json_schema": {...}} Force output matching your exact schema

流式

Enable real-time token streaming with Server-Sent Events for responsive UIs.

Python
from openai import OpenAI

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.shannon-ai.com/v1"
)

# Enable streaming for real-time responses
stream = client.chat.completions.create(
    model="shannon-1.6-lite",
    messages=[
        {"role": "user", "content": "Write a short poem about AI"}
    ],
    stream=True
)

for chunk in stream:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)
JavaScript
import OpenAI from 'openai';

const client = new OpenAI({
  apiKey: 'YOUR_API_KEY',
  baseURL: 'https://api.shannon-ai.com/v1'
});

// Enable streaming for real-time responses
const stream = await client.chat.completions.create({
  model: 'shannon-1.6-lite',
  messages: [
    { role: 'user', content: 'Write a short poem about AI' }
  ],
  stream: true
});

for await (const chunk of stream) {
  const content = chunk.choices[0]?.delta?.content;
  if (content) process.stdout.write(content);
}
提示: Streaming responses arrive as Server-Sent Events. Each chunk contains a delta with partial content.

内置网页搜索

Shannon includes a built-in web_search function that's automatically available.

Python
from openai import OpenAI

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.shannon-ai.com/v1"
)

# Web search is automatically available!
# Shannon will use it when needed for current information

response = client.chat.completions.create(
    model="shannon-1.6-lite",
    messages=[
        {"role": "user", "content": "What are the latest AI news today?"}
    ],
    # Optionally, explicitly define web_search tool
    tools=[{
        "type": "function",
        "function": {
            "name": "web_search",
            "description": "Search the web for current information",
            "parameters": {
                "type": "object",
                "properties": {
                    "query": {"type": "string", "description": "Search query"}
                },
                "required": ["query"]
            }
        }
    }]
)

print(response.choices[0].message.content)
# Response includes sources and citations
JavaScript
import OpenAI from 'openai';

const client = new OpenAI({
  apiKey: 'YOUR_API_KEY',
  baseURL: 'https://api.shannon-ai.com/v1'
});

// Web search is automatically available!
// Shannon will use it when needed for current information

const response = await client.chat.completions.create({
  model: 'shannon-1.6-lite',
  messages: [
    { role: 'user', content: 'What are the latest AI news today?' }
  ],
  // Optionally, explicitly define web_search tool
  tools: [{
    type: 'function',
    function: {
      name: 'web_search',
      description: 'Search the web for current information',
      parameters: {
        type: 'object',
        properties: {
          query: { type: 'string', description: 'Search query' }
        },
        required: ['query']
      }
    }
  }]
});

console.log(response.choices[0].message.content);
// Response includes sources and citations
专业提示: 网页搜索结果包含引用来源,Shannon 会自动给出引用。

Anthropic 格式

Shannon 也支持 Anthropic 的 Messages API 格式。

https://api.shannon-ai.com/v1/messages
Python
import anthropic

client = anthropic.Anthropic(
    api_key="YOUR_API_KEY",
    base_url="https://api.shannon-ai.com/messages"
)

response = client.messages.create(
    model="shannon-1.6-lite",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Hello, Shannon!"}
    ],
    # Tool use (Anthropic format)
    tools=[{
        "name": "web_search",
        "description": "Search the web",
        "input_schema": {
            "type": "object",
            "properties": {
                "query": {"type": "string"}
            },
            "required": ["query"]
        }
    }]
)

print(response.content[0].text)
JavaScript
import Anthropic from '@anthropic-ai/sdk';

const client = new Anthropic({
  apiKey: 'YOUR_API_KEY',
  baseURL: 'https://api.shannon-ai.com/messages'
});

const response = await client.messages.create({
  model: 'shannon-1.6-lite',
  max_tokens: 1024,
  messages: [
    { role: 'user', content: 'Hello, Shannon!' }
  ],
  // Tool use (Anthropic format)
  tools: [{
    name: 'web_search',
    description: 'Search the web',
    input_schema: {
      type: 'object',
      properties: {
        query: { type: 'string' }
      },
      required: ['query']
    }
  }]
});

console.log(response.content[0].text);
必需请求头: Anthropic format requires anthropic-version: 2023-06-01.

SDKs

兼容

Use any OpenAI or Anthropic SDK - just change the base URL.

OpenAI-Compatible SDKs

SDK Python

Official OpenAI Python SDK - works with Shannon

pip install openai
View Docs ->
SDK JavaScript / TypeScript

Official OpenAI Node.js SDK - works with Shannon

npm install openai
View Docs ->
SDK Go

Community Go client for OpenAI-compatible APIs

go get github.com/sashabaranov/go-openai
View Docs ->
SDK Ruby

Community Ruby client for OpenAI-compatible APIs

gem install ruby-openai
View Docs ->
SDK PHP

Community PHP client for OpenAI-compatible APIs

composer require openai-php/client
View Docs ->
SDK Rust

Async Rust client for OpenAI-compatible APIs

cargo add async-openai
View Docs ->

Anthropic-Compatible SDKs

SDK Python (Anthropic)

Official Anthropic Python SDK - works with Shannon

pip install anthropic
View Docs ->
SDK TypeScript (Anthropic)

Official Anthropic TypeScript SDK - works with Shannon

npm install @anthropic-ai/sdk
View Docs ->

错误处理

Shannon 使用标准 HTTP 状态码,并返回详细的错误信息。

400 错误请求 请求格式或参数无效
401 未授权 API 密钥无效或缺失
402 配额超出 Token 或搜索配额超出
429 限流 请求过多,请放慢速度
500 服务器错误 内部错误,请稍后重试

错误响应格式

错误响应
{
  "error": {
    "message": "Invalid API key provided",
    "type": "authentication_error",
    "code": "invalid_api_key"
  }
}

更新日志

LOG

Recent updates and improvements to the Shannon API.

v2.1.0
2025-01-03
  • 新 Added shannon-coder-1 model for Claude Code CLI integration
  • 新 Call-based quota system for Coder model
  • Improved Improved function calling reliability
v2.0.0
2024-12-15
  • 新 Added Anthropic Messages API compatibility
  • 新 Multi-turn tool execution (up to 10 iterations)
  • 新 JSON Schema response format support
  • Improved Enhanced web search with better citations
v1.5.0
2024-11-20
  • 新 Added shannon-deep-dapo model for complex reasoning
  • 新 Built-in web_search function
  • Improved Reduced latency for streaming responses
v1.0.0
2024-10-01
  • 新 Initial API release
  • 新 OpenAI-compatible chat completions endpoint
  • 新 Function calling support
  • 新 Streaming via Server-Sent Events

你的 API 密钥

Access
OpenAI 方式使用 Bearer,或使用 X-API-Key + anthropic-version。
YOUR_API_KEY
获取 API 密钥

请保密你的 API 密钥。重新生成会创建新密钥并使旧密钥失效。

版本: 1
上次轮换: 从未
上次使用: 从未

你的用量

登录后可在本页查看 token 与搜索消耗。

-- API 调用
-- 已用 Token

Shannon Coder(shannon-coder-1)

Shannon Coder (shannon-coder-1) 的按调用配额。每 4 小时重置。

0 已用调用
0 剩余调用

准备好开始了吗?

Get your API key and start building with Shannon AI today.

获取 API 密钥 查看价格

热门搜索:

尝试其他关键词
导航: ↑ ↓ 选择: Enter 关闭: Esc