Huruw kɔ emu nsɛm no so
San kɔ Nymbot

Nimdeɛ a wɔde gyina so Akanfoɔ a wɔyɛ adwuma a wɔyɛ nneɛma foforɔ

Nneɛma ne SDKs

Deɛ biara a ɛbɛtumi aka OpenAI anaa Anthropic nkɔmmɔ no, ɛbɛtumi aka Nymbot nkɔmmɔ nso. Wɔ deɛ ɛba biara mu no, ɛyɛ base URL, key, ne model din.

Adehyee biara a ɛwɔ ase yi hyɛ API key bi a wɔayɛ wɔ app no mu API menu (hwɛ API nkyerɛkyerɛmu mfeɛ no), na model id firi mmoa mu dwumadi nnyigyeɛ no. Mfatoho no de anthropic/claude-sonnet-5 Pro nteteeɛ no so. nymbot/auto ɛno ne nnyɛdeɛ a ɛyɛ mmerɛw paa wɔ standard balance no so ma plain chat, nanso ɛntumi nnyɛ adwuma akwan mma tools, a Goose hoye; ɛno nti, fa catalog model a ɛwɔ capabilities.tools.

Akyerɛkyerɛmu ma coding agents te sɛ Claude Code, Codex, Cline, Kilo Code ne Continue wɔ ne pɔn mu kɔ nokware: nkɔtwe nneɛma a wɔde yɛ coding.

Ma nwoma biara nya ne kɔmɔ wɔ ne ho

Ma kɔmponin biako ma kɔmponin biara, ne mpaebɔ bi a ɛwɔ hɔ. Coding agents ma model calls pii ma adwuma baako, na mpaebɔ bi wɔ kɔmponin biara so ne kwan a ɛkwatidwene paa sɛ yɛbɛhu sɛnea kɔmponin bi bɛtumi di dwuma kɛseɛ paa. Sɛ kɔmponin bi yɛ adwuma bɔne a, fa ne kɔmponin no asi, na ɛnyɛ biribiara na ɛbɛhyehye.

OpenAI SDK

Python ne JavaScript library titiriw no bɔɔ mmofra kwan koro ara. Point base_url at Nymbot na woama wo key. Chat Completions, Responses, images, audio ne embeddings nyinaa yɛ adwuma sarahu wɔn so.

cURL

curl https://nymbot.ai/api/v1/chat/completions \
  -H "Authorization: Bearer $NYMBOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "anthropic/claude-sonnet-5", "messages": [{"role": "user", "content": "Hello"}]}'

Python

# pip install openai
import os
from openai import OpenAI

client = OpenAI(base_url="https://nymbot.ai/api/v1", api_key=os.environ["NYMBOT_API_KEY"])

reply = client.chat.completions.create(
    model="anthropic/claude-sonnet-5",
    messages=[{"role": "user", "content": "Hello"}],
)
print(reply.choices[0].message.content)

JavaScript

// npm install openai
import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://nymbot.ai/api/v1", apiKey: process.env.NYMBOT_API_KEY });

const reply = await client.chat.completions.create({
  model: "anthropic/claude-sonnet-5",
  messages: [{ role: "user", content: "Hello" }],
});
console.log(reply.choices[0].message.content);

Nymbot ne ne ho mfeɛ a ɛwɔ ne nkyɛn no, sɛnea mfonini sɛ plugins web nhwehwɛ mu kɔ Ɛ extra_body Wɔ Python mu na ɛfa kɔ JavaScript request object no mu aninga. Ne nymbot ɔwerɛ deɛ ɛwɔ mmuaeɛ mu no ne reply.model_extra["nymbot"] Python mu ne reply.nymbot JavaScript mu. Ndwuma a ɛboa ma yɛtwerɛ nea ɛwɔ... OPENAI_BASE_URL ne OPENAI_API_KEY environment variables no tumi kɔ Nymbot kwan so wɔ saa nneɛma no ho nko ara.

Anthropic SDK

Anthropic nhoma mfonini no di dwuma https://nymbot.ai/api sɛ ɛyɛ base URL no, a ɛnni bi Ɛ /v1, efisɛ wɔn hyɛ /v1/messages wɔn anɔpa. Dwumadi bɔne biara bɛyɛ, ɛnyɛ Claude nko ara.

cURL

curl https://nymbot.ai/api/v1/messages \
  -H "x-api-key: $NYMBOT_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{"model": "claude-sonnet-5", "max_tokens": 1024, "messages": [{"role": "user", "content": "Hello"}]}'

Python

# pip install anthropic
import os
import anthropic

client = anthropic.Anthropic(base_url="https://nymbot.ai/api", api_key=os.environ["NYMBOT_API_KEY"])

message = client.messages.create(
    model="claude-sonnet-5",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Hello"}],
)
print(message.content[0].text)

JavaScript

// npm install @anthropic-ai/sdk
import Anthropic from "@anthropic-ai/sdk";

const client = new Anthropic({ baseURL: "https://nymbot.ai/api", apiKey: process.env.NYMBOT_API_KEY });

const message = await client.messages.create({
  model: "claude-sonnet-5",
  max_tokens: 1024,
  messages: [{ role: "user", content: "Hello" }],
});
console.log(message.content[0].text);

Boa mmoa

Aider bɔ nkɔmmɔ ne OpenAI-compatible server biara. Set base URL ne key no, na fa openai/ model id no anim na ɛbɛyɛ sɛ Aider nim sɛ ɛyɛ sɛnƆ server:</p>

Shell

export OPENAI_API_BASE=https://nymbot.ai/api/v1
export OPENAI_API_KEY=sk-nymbot-...
aider --model openai/anthropic/claude-sonnet-5

Aider bɛtumi aka asɛm sɛ ɛnnim model no context size anaa ne boɔ. Saa akɔkyerɛ no nyɛ asɛm; --no-show-model-warnings ɛhyɛ no fi.

Mma WebUI nka

Wɔ Open WebUI mu no, fae Ɔhɔhia Dwumadi Panu, ɛnna Nnwuma a wɔkyerɛ ho akwankyerɛ, ɛnna Nkabomɔ, na fa OpenAI API kɔm bɔ mu:

  • URL: https://nymbot.ai/api/v1
  • Key: wo API key

Open WebUI sua model list no fi API no, enti model biara nni ne kwan mu. Sɛ wode Docker di dwuma a, wubetumi ayɛ saa ara no wɔ environment variables no mu OPENAI_API_BASE_URL ne OPENAI_API_KEY.

Open WebUI ma wo nkɔmmɔdwɔ mmoa no kɔ ne server wɔ ne ho. Nymbot nnye wo nkɔmmɔdwɔ no gu, nanso Open WebUI gye gu, ɛfiri nea wode no bɔ mpa no.

Kɔkɔɔmbi

Tweɛ goose configure, torɔ Siesie Ahyɛdeɛfoɔ, fa OpenAI, na ma no saa nneyɛe yi wɔ sɛbɛtumi abisa a. Wɔahyɛ saa deɛ no ase wɔ environment no mu:

Shell

export GOOSE_PROVIDER=openai
export OPENAI_HOST=https://nymbot.ai/api
export OPENAI_BASE_PATH=v1/chat/completions
export OPENAI_API_KEY=sk-nymbot-...
export GOOSE_MODEL=anthropic/claude-sonnet-5
goose session

Goose frɛ nhoma ne nneɛma wɔ anom pii wɔ ne nan ase kɔɔ so biara so no, enti fa model a ɔwɔ ne ne sɛ... capabilities.tools wɔ mɔdeli list no mu; nymbot/auto ɔto nneɛma.

Plain HTTP

Ɛhwee nni hɔ a ɛhia SDK. Endpoint biara yɛ JSON wɔ HTTPS so, deɛ ɛnyɛ file upload no, ɛyɛ multipart forms. Ɛlangɔ biara anaa nneɛma biara a ɛtumi ayɛ HTTP request no bɛtumi adeɛ API no di:

  • Ma kɔgye adeɛ no sɛ Authorization: Bearer sk-nymbot-….
  • Ma JSON bodies ne Content-Type: application/json.
  • Ɛpono nkyerɛkyerɛmu no nkyerɛkyerɛmu no sɛ server-sent events; cURL ne, fa nnyigyeɛ nkyerɛkyerɛmu bi nkyerɛ -N entisɛ ɛhwɛ sɛ ɛsesa wɔn sɛnea wɔn ba.
  • Kan adeɛ a ɛdi boɔ no fi X-Nymbot-Cost-Sats asɛmti, na hwɛ so no X-Request-Id ti sɛnea wobɛtumi abisa fa asɛm bi ho a ɛhia.

cURL

curl -i https://nymbot.ai/api/v1/chat/completions \
  -H "Authorization: Bearer $NYMBOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "nymbot/auto", "messages": [{"role": "user", "content": "Hello"}]}'

Python

import os
import requests

res = requests.post(
    "https://nymbot.ai/api/v1/chat/completions",
    headers={"Authorization": "Bearer " + os.environ["NYMBOT_API_KEY"]},
    json={"model": "nymbot/auto", "messages": [{"role": "user", "content": "Hello"}]},
)
print(res.headers["X-Nymbot-Cost-Sats"], res.headers["X-Request-Id"])
print(res.json()["choices"][0]["message"]["content"])

JavaScript

const res = await fetch("https://nymbot.ai/api/v1/chat/completions", {
  method: "POST",
  headers: {
    "Authorization": "Bearer " + process.env.NYMBOT_API_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ model: "nymbot/auto", messages: [{ role: "user", content: "Hello" }] }),
});
console.log(res.headers.get("X-Nymbot-Cost-Sats"), res.headers.get("X-Request-Id"));
console.log((await res.json()).choices[0].message.content);