MemoDokümantasyon
TR

Geliştirici API Ağ Geçidi: Memo'yu Claude Code'dan Kullanmak

Yan Menü → Geliştirici, Memo'yu yerel, Anthropic-uyumlu bir uç noktaya dönüştürüyor. Claude Code'u (ya da sadece Anthropic'in Messages API'sini konuşan başka bir aracı) buna yönlendir — Memo, o isteğin arkasında gerçekte ne varsa onu çalıştırır: yerel modelin ya da zaten yapılandırdığın herhangi bir harici sağlayıcı — Claude Code ise her zamanki gibi çalışmaya devam eder.

Adım 1 — Base URL'ini al

Memo'nun yan menüsünden Geliştirici'yi aç. Ekranın üstünde kopyalanabilir bir Base URL görürsün — varsayılan olarak bu http://localhost:8090, Memo'nun backend'inin dinlediği portla eşleşiyor. Backend'in portunu değiştirdiysen bu da ona göre değişir.

Adım 2 — Claude Code'u ona yönlendir

Claude Code hedef sunucusunu ortam değişkenlerinden okuyor. claude'u çalıştırmadan önce şunları ayarla:

# bash / zsh
export ANTHROPIC_BASE_URL="http://localhost:8090"
export ANTHROPIC_API_KEY="not-needed"
export ANTHROPIC_MODEL="local/qwen2.5"
# fish
set -x ANTHROPIC_BASE_URL "http://localhost:8090"
set -x ANTHROPIC_API_KEY "not-needed"
set -x ANTHROPIC_MODEL "local/qwen2.5"

ANTHROPIC_API_KEY, Geliştirici ekranındaki API Anahtarı Gerektir anahtarı kapalıyken (varsayılan) herhangi bir boş-olmayan metin olabilir — Memo bunu kontrol etmiyor, ama Claude Code'un kendi SDK'sı bir şey ayarlanmadan başlamayı reddediyor. API Anahtarı Gerektir'i açarsan, bunun yerine Geliştirici ekranında gösterilen gerçek token'ı kullan (Uzaktan Erişim'in kullandığı aynı token) — Claude Code bunu otomatik olarak x-api-key başlığıyla gönderiyor.

Adım 3 — tip/model-id ile bir model seç

Memo'nun ağ geçidi isteğin model alanını <tip>/<model-id> olarak okuyor:

Değer Neye yönlendiriyor
local/qwen2.5 Memo'da o an yüklü olan yerel llama.cpp modeli — qwen2.5 kısmı sadece bir etiket, gerçek model o anda çalışan her ne ise odur
openai/gpt-4o Ayarlar → API Sağlayıcıları altındaki etkin OpenAI sağlayıcın, gpt-4o modeliyle
custom/<model-id> Kendi yapılandırdığın etkin custom sağlayıcı (LM Studio, vLLM gibi kendi OpenAI-uyumlu uç noktan)

Geliştirici ekranı, o an geçerli olan her tip/model-id kombinasyonunu kopyalanabilir girdiler olarak listeliyor — hangi yerel modelin yüklü olduğuna ve hangi sağlayıcıların etkin olduğuna göre değişiyor. claude'u başlatmadan önce birini ANTHROPIC_MODEL olarak ayarla, ya da oturum ortasında Claude Code'un kendi /model komutuyla değiştir, örn. /model openai/gpt-4o.

Adım 4 — Claude Code'u olduğu gibi kullan

claude'u her zamanki gibi çalıştır. Arayüzünde hiçbir şey değişmiyor — dosya okuma/yazma, shell komutları çalıştırma, çok turlu araç-kullanımlı konuşmaların hepsi gerçek Anthropic API'sine karşı çalıştığı gibi çalışıyor, çünkü ağ geçidi Anthropic'in wire formatının tam, çift yönlü bir çevirisini yapıyor (bir araç çağrısının argümanlarının Anthropic tarafında gerçek bir JSON nesnesi, OpenAI tarafında ise JSON-kodlanmış bir string olması gibi ince bir detay dahil).

Tek gerçek sınırlama: çözümlenen model gemini, claude ya da ollama sağlayıcı tiplerinden birine aitse araç çağırma henüz çalışmıyor — Memo'daki alttaki implementasyonları henüz araç tanımlarını hiç desteklemiyor. Bunlardan birine yönlendirilen araç-tanımlı bir istek, araçları sessizce yok saymak yerine açık bir hata döndürüyor — böylece kafa karıştırıcı yarım bir davranış yerine hemen ne olduğunu anlıyorsun.

Gerçekten çalışıp çalışmadığını kontrol etmek

Geliştirici ekranının altında, ağ geçidinden geçen her isteğin canlı bir günlüğü var, ekran açıkken birkaç saniyede bir yenileniyor — zaman, çözümlenen model, streaming/araç kullanılıp kullanılmadığı, süre, ve istek/cevap önizlemesi. İlk Claude Code isteğinin gerçekten ulaşıp ulaşmadığını ve tam olarak hangi modele çözümlendiğini görmenin en hızlı yolu bu.

Hafıza ve sohbet geçmişi ayrı kalıyor

Bu ekrandaki iki ayar varsayılan olarak kapalı: API Anahtarı Gerektir (yukarıda) ve Hafızayı Kullan. Hafıza entegrasyonunu açmak, ağ geçidi isteklerini modele gönderilmeden önce Memo'nun kendi RAG hafızasından ilgili gerçeklerle zenginleştiriyor — ama Claude Code üzerinden bu şekilde çalıştırılan bir kodlama oturumu, hafıza açık olsa bile Memo'nun kendi sohbet geçmişinde asla görünür bir sohbet oluşturmuyor. Ağ geçidi trafiği ile sıradan sohbetlerin bilinçli olarak birbirine karışmaması sağlanıyor.