Ukutshintshwa kwe-Drop-in
IyahambelanaIsebenza nge-OpenAI kunye nee-Anthropic SDKs. Guqula nje isiseko se-URL.
Zonke iilwimi ziyalingana. Khetha leyo ufuna ukukhangela kuyo.
I-OpenAI kunye ne-Anthropic ehambelana ne-AI API enobizo lomsebenzi, ukhangelo lwewebhu, kunye neziphumo ezicwangcisiweyo.
Yonke into oyifunayo ukuyithumela nge-Shannon's OpenAI kunye ne-Anthropic ehambelanayo API.
https://api.shannon-ai.com/v1/chat/completions Sebenzisa iChat Completions API ngomsebenzi wokufowuna kunye nokusasaza.
https://api.shannon-ai.com/v1/messages Ifomati yeMiyalezo kaClaude enezixhobo kunye nesihloko se-anthropic-version.
Ugunyaziso: Umthwali <iqhosha lakho> Okanye i-X-API-Key ene-anthropic-version yeefowuni zesimbo sikaClaude.
Amaxwebhu oluntu-Iqhosha liyafuneka ukufowuna Ukusasaza, ukubiza umsebenzi, iziphumo ezicwangcisiweyo, ukukhangela kwiwebhu.
Ukufakwa endaweni ye-OpenAI kunye ne-Anthropic APIs ngenkxaso yemveli yezixhobo, iziphumo ezicwangcisiweyo, kunye nokukhangela kwewebhu eyakhelwe-ngaphakathi.
Isebenza nge-OpenAI kunye nee-Anthropic SDKs. Guqula nje isiseko se-URL.
Chaza izixhobo, vumela uShannon ababize. Ixhasa i-auto, inyanzeliswa, kwaye akukho nanye iindlela.
Uphendlo lwewebhu lwexesha lokwenyani olunocatshulo lwemithombo. Ifumaneka ngokuzenzekelayo.
JSON imowudi kunye JSON Unyanzeliso lweSchema ukulungiselela ukutsalwa kwedatha okuthembekileyo.
Iilophu zokwenziwa komsebenzi ezizenzekelayo. Ukuya kuthi ga kwi-10 yophindaphindo kwisicelo ngasinye.
Iziganeko ezithunyelwe ngumncedisi wokusasaza ithokheni yexesha langempela.
Qalisa ngamanyathelo amathathu. UShannon ujonga i-OpenAI kunye nabathengi be-Anthropic.
Sebenzisa isiphelo esihambelana ne-OpenAI.
https://api.shannon-ai.com/v1/chat/completions Sebenzisa i-Bearer auth kwi-header yoGunyaziso.
Khetha ulwimi kwaye utshintshe isitshixo sakho.
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
}
} Vavanya iShannon API ngqo kwibhrawuza yakho. Yakha isicelo sakho, usiqhube, kwaye ubone impendulo ngexesha lokwenyani.
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.
/xh/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.
Zonke izicelo ze-API zifuna uqinisekiso usebenzisa isitshixo sakho seShannon API.
Authorization: Bearer YOUR_API_KEY X-API-Key: YOUR_API_KEY
anthropic-version: 2023-06-01 UShannon ubonelela ngeemodeli ezininzi ezilungiselelwe iimeko ezahlukeneyo zokusetyenziswa.
shannon-1.6-lite Shannon 1.6 Lite Iimpendulo ezikhawulezayo, ezisebenzayo kwimisebenzi yemihla ngemihla
shannon-1.6-pro Shannon 1.6 Pro Ukuqiqa okuphezulu kwiingxaki ezinzima
shannon-2-lite Shannon 2 Lite
shannon-2-pro Shannon 2 Pro
shannon-coder-1 Shannon Coder Ilungiselelwe iKhowudi yeClaude ye-CLI ene-quota esekwe kwifowuni
Chaza izixhobo ezinokuthi uShannon afowunele ukwenza iintshukumo okanye ukufumana ulwazi.
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" Umzekelo ugqiba ekubeni uwutsalele umnxeba umsebenzi (okwendalo) "none" Khubaza umsebenzi wokufowuna kwesi sicelo {"type": "function", "function": {"name": "..."}} Nyanzelela umnxeba othile wokusebenza {
"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"
}
]
} Nyanzelela uShannon ukuba aphendule nge-JSON ehambelana neschema sakho.
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"} Nyanzelela JSON imveliso (akukho schema sithile) {"type": "json_schema", "json_schema": {...}} Nyanzelela imveliso ehambelana neschema sakho kanye Yenza ustrimisho lomqondiso wexesha lokwenyani kunye neMisitho eThunyelwe nguSeva kwii-UIs eziphendulayo.
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);
} I-Shannon ibandakanya i-web_search eyakhelwe-ngaphakathi efumaneka ngokuzenzekelayo.
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 UShannon ukwaxhasa ifomati ye-API yeMiyalezo ye-Anthropic.
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) Sebenzisa nayiphi na i-OpenAI okanye i-Anthropic SDK - vele utshintshe isiseko se-URL.
I-OpenAI Python SDK esemthethweni - isebenza noShannon
pip install openai I-SDK esemthethweni ye-OpenAI Node.js - isebenza noShannon
npm install openai Umxhasi we-Community Go we-OpenAI-ehambelanayo APIs
go get github.com/sashabaranov/go-openai Umxhasi weRuby yoluntu kwi-OpenAI-ehambelanayo APIs
gem install ruby-openai Umxhasi we-PHP yoLuntu kwii-API ezihambelana ne-OpenAI
composer require openai-php/client Umthengi we-Async Rust we-OpenAI-ehambelanayo APIs
cargo add async-openai I-SDK esemthethweni ye-Anthropic Python - isebenza noShannon
pip install anthropic I-SDK esemthethweni ye-Anthropic TypeScript-isebenza noShannon
npm install @anthropic-ai/sdk UShannon usebenzisa iikhowudi zesimo seHTTP esisezantsi kwaye ubuyisela imiyalezo yempazamo eneenkcukacha.
{
"error": {
"message": "Invalid API key provided",
"type": "authentication_error",
"code": "invalid_api_key"
}
} Uhlaziyo lwakutsha nje kunye nokuphuculwa kweShannon API.
YOUR_API_KEY Gcina i-API yakho iyimfihlo engundoqo. Ukuhlaziya kwakhona kudala isitshixo esitsha kwaye kungasebenzi esidala.
Jonga ithokheni kunye nokusetyenziswa kokukhangela kweli phepha xa ungene kwiakhawunti yakho.
I-quota esekwe kwifowuni ye-Shannon Coder (i-shannon-coder-1). Iseta kwakhona rhoqo kwiiyure ezi-4.
Fumana isitshixo sakho seAPI kwaye uqalise ukwakha nge- Shannon AI namhlanje.
Uphendlo oludumileyo: