Drop-in Replacement
CompatibleOpenAI ба Anthropic SDK-уудтай ажиллана. base URL-ийг л соль.
Бүх хэл тэгш эрхтэй. Хэрэглэх хэлээ сонгоно уу.
OpenAI болон Anthropic-той нийцтэй AI API: function calling, web search, structured outputs-тай.
Shannon-ийн OpenAI ба Anthropic-той нийцтэй API-г ашиглахад хэрэгтэй бүх зүйл.
https://api.shannon-ai.com/v1/chat/completions Chat Completions API-г function calling болон streaming-тай ашиглана уу.
https://api.shannon-ai.com/v1/messages Claude Messages формат, tools болон anthropic-version header-тай.
Authorization: Bearer <api-key> Эсвэл Claude style дуудлагад X-API-Key болон anthropic-version.
Нийтийн баримт - дуудлага хийхэд key шаардлагатай Streaming, function calling, structured outputs, web search.
OpenAI болон Anthropic API-д зориулсан drop-in replacement; tools, structured outputs болон built-in web search дэмжинэ.
OpenAI ба Anthropic SDK-уудтай ажиллана. base URL-ийг л соль.
Tools-оо тодорхойлоод Shannon-оор дуудуул. auto, forced, none горим дэмжинэ.
Бодит цагийн web search, эх сурвалжийн эшлэлтэй. Автоматаар боломжтой.
Найдвартай өгөгдөл гаргалтанд JSON mode болон JSON Schema enforcement.
Автомат function execution loops. Нэг хүсэлтэд 10 iteration хүртэл.
Server-sent events ашиглан real-time token streaming.
Гурван алхмаар эхэл. Shannon OpenAI болон Anthropic клиентийг дуурайлгана.
OpenAI-compatible endpoint ашигла.
https://api.shannon-ai.com/v1/chat/completions Authorization header-д Bearer auth хэрэглэнэ.
Хэлээ сонгоод key-гээ солиорой.
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) 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); 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 -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
}
} Shannon API-г шууд браузерт туршаарай. Хүсэлтээ үүсгээд ажиллуулаад бодит цагийн хариуг харна уу.
Switch across OpenAI Chat Completions, Responses, and Anthropic Messages without leaving the playground.
Run real requests, inspect raw JSON, and view stream events from the same operator console.
Signed-in users can pull their Shannon API key straight into the dedicated playground workspace.
/mn/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.
API-ийн бүх хүсэлт Shannon API key-ээр баталгаажуулалт шаарддаг.
Authorization: Bearer YOUR_API_KEY X-API-Key: YOUR_API_KEY
anthropic-version: 2023-06-01 Shannon нь төрөл бүрийн хэрэглээнд тохирсон хэд хэдэн модел санал болгодог.
shannon-1.6-lite Shannon 1.6 Lite Өдөр тутмын ажилд хурдан, үр ашигтай хариу
shannon-1.6-pro Shannon 1.6 Pro Төвөгтэй асуудалд гүн reasoning
shannon-2-lite Shannon 2 Lite
shannon-2-pro Shannon 2 Pro
shannon-coder-1 Shannon Coder Claude Code CLI-д зориулан call-based quota-тай оновчлогдсон
Shannon-оор дуудуулж болох tools-оо тодорхойл; үйлдэл хийх эсвэл мэдээлэл авахад.
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}") 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" Модель функц дуудах эсэхийг өөрөө шийднэ (default) "none" Энэ хүсэлтэд function calling-ийг унтраах {"type": "function", "function": {"name": "..."}} Тодорхой function call-ыг албадуулах {
"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"
}
]
} Schema-даа нийцсэн зөв JSON-ийг буцаахаар Shannon-ыг албад.
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"} 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"} Зөв JSON output (schemaгүй) албад {"type": "json_schema", "json_schema": {...}} Таны schema-тай яг тохирох output-ыг албад Хурдан UI-д зориулж Server-Sent Events-ээр real-time token streaming идэвхжүүл.
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) 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);
} Shannon-д автомат боломжтой web_search функц бий.
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 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 Messages API форматыг мөн дэмжинэ.
https://api.shannon-ai.com/v1/messages 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) 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); Use Shannon as the AI backend for popular CLI coding agents. Read files, edit code, run tests — all powered by Shannon's API.
Anthropic's official CLI coding agent. Point it at Shannon to use as your AI backend for reading, editing, and running code directly in your terminal.
ANTHROPIC_BASE_URL=https://api.shannon-ai.com ANTHROPIC_API_KEY=sk-YOUR_KEY claude --bare OpenAI's open-source coding agent. Uses the Responses API for multi-turn tool use, file editing, and shell commands — all routed through Shannon.
OPENAI_BASE_URL=https://api.shannon-ai.com/v1 OPENAI_API_KEY=sk-YOUR_KEY codex Anthropic's official CLI coding agent. Set two environment variables and launch with --bare to skip Anthropic account login.
# Install Claude Code (requires Node.js 18+)
npm install -g @anthropic-ai/claude-code
# Connect to Shannon AI as backend
export ANTHROPIC_BASE_URL=https://api.shannon-ai.com
export ANTHROPIC_API_KEY=sk-YOUR_API_KEY
# Launch Claude Code in bare mode (no Anthropic account needed)
claude --bare
# Or run a one-shot command
claude --bare -p "Explain this codebase"
# Claude Code will use Shannon's Anthropic-compatible API
# for all AI operations: reading files, editing code,
# running tests, and multi-turn tool use. # Alternative: set env vars permanently in your shell profile
# ~/.bashrc or ~/.zshrc
export ANTHROPIC_BASE_URL=https://api.shannon-ai.com
export ANTHROPIC_API_KEY=sk-YOUR_API_KEY
# Then just run:
claude --bare
# Supported features through Shannon:
# - Multi-turn conversations with full context
# - File reading and editing (tool use)
# - Shell command execution
# - Streaming responses
# - All Claude Code slash commands (/compact, /clear, etc.) OpenAI's open-source coding agent. Uses the Responses API for multi-turn tool use, file editing, and shell commands.
# Install Codex CLI
npm install -g @openai/codex
# Connect to Shannon AI as backend
export OPENAI_BASE_URL=https://api.shannon-ai.com/v1
export OPENAI_API_KEY=sk-YOUR_API_KEY
# Launch Codex
codex
# Or run a one-shot command
codex "fix the bug in main.py"
# Codex uses the Responses API (POST /v1/responses)
# Shannon handles tool calls including:
# - Reading and writing files
# - Running shell commands
# - Multi-turn function calling # Alternative: set env vars permanently
# ~/.bashrc or ~/.zshrc
export OPENAI_BASE_URL=https://api.shannon-ai.com/v1
export OPENAI_API_KEY=sk-YOUR_API_KEY
# Then just run:
codex
# Supported features through Shannon:
# - Responses API with full tool use
# - Function calling (file read/write, shell exec)
# - Streaming with real-time output
# - Multi-turn conversations
# - All Codex approval modes (suggest, auto-edit, full-auto) Ямар ч OpenAI эсвэл Anthropic SDK хэрэглэ — base URL-ийг л өөрчил.
Official OpenAI Python SDK — Shannon-той ажиллана
pip install openai Official OpenAI Node.js SDK — Shannon-той ажиллана
npm install openai OpenAI-compatible API-д зориулсан community Go client
go get github.com/sashabaranov/go-openai OpenAI-compatible API-д зориулсан community Ruby client
gem install ruby-openai OpenAI-compatible API-д зориулсан community PHP client
composer require openai-php/client OpenAI-compatible API-д зориулсан Async Rust client
cargo add async-openai Official Anthropic Python SDK — Shannon-той ажиллана
pip install anthropic Official Anthropic TypeScript SDK — Shannon-той ажиллана
npm install @anthropic-ai/sdk Shannon нь стандарт HTTP status code-ууд ашиглаж, дэлгэрэнгүй алдаа мессеж буцаана.
{
"error": {
"message": "Invalid API key provided",
"type": "authentication_error",
"code": "invalid_api_key"
}
} Shannon API-ийн сүүлийн шинэчлэлтүүд ба сайжруулалтууд.
YOUR_API_KEY API түлхүүрээ нууц байлгаарай. Regenerate хийхэд шинэ түлхүүр үүсч хуучныг хүчингүй болгоно.
Нэвтэрсэн үед энэ хуудсан дээр token болон search хэрэглээг харна уу.
Shannon Coder (shannon-coder-1)-д зориулсан call-based quota. 4 цаг тутам reset.
API түлхүүрээ аваад өнөөдөр Shannon AI-тай бүтээж эхлээрэй.
Түгээмэл хайлт: