Gara qabiyyee isaatti darbaa
Nymbotitti deebi'uuf

Bu’uura beekumsaa Uumtoota

Meeshaalee fi SDKwwan

Wanti OpenAI ykn Anthropic waliin dubbachuu danda'u hundi Nymbot waliin dubbachuu danda'a. Keessattuu karaa baay'ee, URL bu'uraa, furtuu (key) fi maqaa moodelaati.

Tooftaaleen hundi armaan gaditti argamanii API key barbaadu, kan appii sana keessatti uumamed API menu (argi Tooftaa API), fi id moodelii irraa tarree moodelii. Fakkeenyiwwan kun fayyadamu anthropic/claude-sonnet-5 balansii Pro irratti. nymbot/auto chat salphaa qofafaf yaada simata irratti filannoo gatii gadi aanaa dha, garuu meeshaalee (tools) Goose barbaaduuf fayyadamuu hin danda'u; kanaaf, kan qabu filadhu capabilities.tools.

Qophii agentiiwwan coding akka Claude Code, Codex, Cline, Kilo Code fi Continue qopheessuun fuula addaati: meeshaalee koodingii.

Meeshaa hundaaf furtuu isaanii kenni.

Meeshaa hundumaaf limitii qabu tooftaa addaa uumi. Ajantoonni koodii hojii tokkoof kutannoo moodeelii hedduu taasisu, tooftii irratti limitii gochuun immoo meeshaan hamma meeqa dabarsuu akka danda'u beekuuf karaa salphaa dha. Yoo meeshaan dogoggore, tooftaa isaa haqii, kan biroon immoo hin miidhamu.

OpenAI SDK

Liibarariin Python fi JavaScript kan ijoo akkuma jiranitti hojjetu. Qabxii base_url Nymbot fi furtuu kee dabarsi. Chat Completions, Responses, fakkiiwwan, sagaleewwan fi embeddings hundi isaaniin hojjatu.

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);

Dhaabbilee Nymbot kanneen akka, plugins barbaacha weebii tiif, seeni extra_body Python keessatti fi JavaScript keessatti kallattiin gara object request-tti. nymbot karsi uuwwii deebii keessatti ta'u dha reply.model_extra["nymbot"] Python keessatti fi reply.nymbot JavaScript keessatti. Libiraariwwan kan dubbisan OPENAI_BASE_URL fi OPENAI_API_KEY Tooftaalee barruu (environment variables) qofaan Nymbot irratti qajeelfamuu danda'u.

Anthropic SDK

Librayiin Anthropic fayyadamu https://nymbot.ai/api akkuma URL bu'uraa, malee /v1, sababni isaan dabalan /v1/messages ofii isaanii. Moodeelii kaatalaaluu kamiyyuu ni hojjeta, Claude qofa miti.

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);

Gargaaruu

Aider serwera kamiyyuu OpenAI waliin walitti dhufeenya qabu waliin dubbata. URL bu'uraa fi furtuu kaa'i, akkasumas galchi openai/ id moodela duraa irratti akka Aider tajaajila kam akka ta'e beekuuf:

Shell

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

Aider’n gosti modelichaatiin walitti dhufeenya isaa ykn gatii isaa akka hin beekne si hubachiisuu danda'a. Hubachiisni kun miidhaa hin qabu; --no-show-model-warnings dhoksa.

Open WebUI

Open WebUI keessatti, banu Paaneelii Bulchaa, sana booda Akkaataa barbaadamuun sirreessuu, sana booda Walitti hidhamiinsa, fi walitti hidhami OpenAI API:

  • URL: https://nymbot.ai/api/v1
  • Kii: kii API kee

Open WebUI tarree modelii API irraa dubbisa, kanaaf modelii chat hunda filannoo keessatti mul'atu. Docker keessatti yommuu hojjetamu, wanti kunis varsiiiniwwan (variables) naannoo (environment) fayyadamuun gochamuun danda'ama. OPENAI_API_BASE_URL fi OPENAI_API_KEY.

Open WebUI haasaa keessan serveerii isaa irratti kuusa. Nymbot isaan hin kuusu, garuu Open WebUI bakka isin itti fayyadaman hunda ni kuusa.

Ganota

Fiigadhu goose configure, filadhu Provisionerootiiwwan Akkaataa Gadi Lakkisiisi, filadhu OpenAI, fi yeroo gaafatamutti qabxiiwwan kanneen kenni. Akkasumas kun naannoo (environment) keessatti ni sirreessama:

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 tarkaanfii hunda irratti meeshaalee fayyadama, kanaafuu moodela kan qabu filadhu capabilities.tools liista moodeela keessatti; nymbot/auto meeshaalee رفضata.

HTTP Qulqulluu

SDK hin barbaachisu. Utubaan (endpoint) kamiyyuu JSON HTTPS irra kan ta'e dha, dhimma ol-kaayyoo (file uploads) ala, isaan immoo multipart forms dha. Afaan ykn meeshaa ijaarsa HTTP request danda'u kamiyyuu API kana fayyadamuu danda'a:

  • Ergi furtii akka Authorization: Bearer sk-nymbot-….
  • JSON bodies waliin ergi Content-Type: application/json.
  • Streaming irratti, deebii akka eventii server-sent ta'etti dubbisi; cURL waliin, dabalii -N kanaafuu yeroo isaan dhufan qabxii akka isaan dhufanitti maxxansa.
  • Kaffaltii irraa dubbisi X-Nymbot-Cost-Sats header, fi eegumsa isaa eeggadhu X-Request-Id mata-duree yoo gaaffii waa'ee gaaffii tokkoo gaafachuu barbaadde.

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);