MiniMax M3.1 Flash ve OpenCode: test edilmiş kurulum ve araç çağrıları
OpenCode v2.2.3 üzerinde test edilmiş bir MiniMax M3.1 Flash kurulumu: provider JSON'un tamamı, gerçek bir araç çağrısı izi ve devamı kesen hatalar.
Bu sayfada
- Başlamadan önce gerekenler
- Test ettiğimiz OpenCode V2 yapılandırması
- Anahtarı sunucunun kabuğunda çalıştırın
- Okuma, yazma ve test döngüsünü doğrulayın
- Effort, bağlam ve çıktı sınırını ayarlayın
- Anahtar, model kimliği ve devam hatalarını düzeltin
- Maliyet, izinler ve sonraki adımlar
- Sık sorulan sorular
- Bu yapılandırma OpenCode V1 ile uyumlu mu?
- opencode --standalone models bir provider filtresi gerektiriyor mu?
- OmniaKey üzerinden bu modele görsel veya PDF gönderebilir miyim?
- max_tokens değerini 4096'nın üzerine çıkarabilir miyim?
- Kontrol edilen kaynaklar
MiniMax M3.1 Flash, OpenCode v2.2.3 içinde OpenAI uyumlu özel bir provider ile çalışır. OpenCode'daki tam model adı omniakey/minimax-m3.1-flash, Base URL https://api.omniakey.com/v1 ve aşağıdaki yapılandırma 12 Kasım 2026'da gerçek bir depo görevini tamamladı: beş okuma, bir yazma, bir node --test çalıştırması ve 12 testin 12'si başarılı.
OpenCode, özel provider ile OpenAI Chat Completions biçimini konuşur; OmniaKey bu biçimi /v1 altında sunar. Kurulum tek bir proje dosyasına sığar, ama üç ayrıntı çalışıp çalışmayacağını belirler: model kimliği OmniaKey'in yazımıyla aynı olmalı, anahtar OpenCode sunucu sürecine ulaşmalı ve provider yapılandırması araç çağrıları arasında modelin akıl yürütme alanını korumalı.
Başlamadan önce gerekenler
OpenCode V2 kullanın. Test edilen sürüm v2.2.3. V2, özel provider'ları en üst düzeydeki providers nesnesine koyar; V1 örnekleri farklı bir yapı kullanır. Kopyalamadan önce V2 provider belgelerine ve opencode --version çıktısına bakın.
- OpenCode: v2.2.3, 12 Kasım 2026'da test edildi.
- OmniaKey model kimliği:
minimax-m3.1-flash. - OpenCode'daki başvuru:
omniakey/minimax-m3.1-flash.
Bir OmniaKey anahtarı oluşturup OMNIAKEY_API_KEY içine koyun. Aşağıdaki JSON yalnızca değişken adını yazar, gizli değeri asla içermez. Test komutu hazır olan küçük bir depo seçin; testte src/normalize.js, bir test dosyası ve bir test betiği olan Node örneği kullanıldı.
MiniMax'in kendi API'si karışık harfli MiniMax-M3.1-Flash kimliğini kullanır. OmniaKey küçük harfli minimax-m3.1-flash kullanır. opencode.jsonc içinde hem models haritasındaki anahtara hem modelID alanına OmniaKey'in küçük harfli kimliğini yazın; farklı harf büyüklüğü OmniaKey kimliğine uymaz.
Hâlâ model seçiyorsanız MiniMax M3.1 Flash incelemesi benchmark'ları, çıkış bilgilerini ve her zaman açık akıl yürütmeyi bir arada sunar.
Test ettiğimiz OpenCode V2 yapılandırması
Bunu proje köküne opencode.jsonc olarak koyun. Çalıştırmada kullanılan yapılandırmanın herkese açık biçimidir.
{
"$schema": "https://opencode.ai/config.json",
"model": "omniakey/minimax-m3.1-flash",
"share": "disabled",
"update": "disable",
"warming": false,
"snapshots": false,
"enabled_providers": ["omniakey"],
"providers": {
"omniakey": {
"name": "OmniaKey",
"env": ["OMNIAKEY_API_KEY"],
"package": "@opencode/ai/providers/openai-compatible",
"settings": {
"baseURL": "https://api.omniakey.com/v1"
},
"models": {
"minimax-m3.1-flash": {
"modelID": "minimax-m3.1-flash",
"name": "MiniMax M3.1 Flash",
"body": {
"reasoning_effort": "medium",
"max_tokens": 4096,
"stream_options": {"include_usage": true}
},
"limit": {
"context": 1000000,
"output": 4096
},
"capabilities": {
"tools": true,
"input": ["text"],
"output": ["text"],
"freeform": [],
"reasoning": {
"supported": true,
"effort": ["low", "medium", "high", "xhigh", "max"]
}
},
"compatibility": {
"reasoningField": "reasoning_content",
"requireReasoning": true,
"maxTokensField": "max_tokens"
}
}
}
}
},
"permissions": [
{"action": "*", "resource": "*", "effect": "deny"},
{"action": "read", "resource": "*", "effect": "allow"},
{"action": "glob", "resource": "*", "effect": "allow"},
{"action": "grep", "resource": "*", "effect": "allow"},
{"action": "edit", "resource": "src/normalize.js", "effect": "allow"},
{"action": "shell", "resource": "node --test", "effect": "allow"},
{"action": "shell", "resource": "git diff *", "effect": "allow"},
{"action": "external_directory", "resource": "*", "effect": "deny"}
]
}
env dizisi OpenCode'a hangi kimlik bilgisi değişkenini okuyacağını söyler: OMNIAKEY_API_KEY sunucu sürecinin ortamından gelir. modelID OmniaKey'e gönderilen kimliktir; models haritasındaki anahtar ise OpenCode'un provider/model başvurularında kullandığı kimliktir. İkisini de minimax-m3.1-flash bırakmak aramayı belirsizlikten çıkarır.
limit ve capabilities blokları OpenCode'un bilinmeyen model için varsayımlarını değiştirir. Aksi hâlde OpenCode 200.000 token bağlam ve görsel giriş varsayar. OmniaKey model sayfası bu model için 1M token bağlam yazar ve görme girdisi listelemez; bu yüzden yapılandırma bağlam sınırını 1.000.000, girişi yalnızca metin yapar. 1M, yayımlanmış pencere boyutudur; bu küçük görevin tükettiği bir uzunluk değildir.
body bloğu bu çalıştırmada denenen iki değeri taşır: medium akıl yürütme ve 4096'lık max_tokens sınırı. capabilities içindeki effort listesi MiniMax kılavuzunun saydığı beş kademedir; testte medium kullanıldı.
permissions bloğu demo deposu için bilerek dardır. Önce her şeyi reddeder, sonra okuma, glob ve grep, src/normalize.js düzenlemesi, node --test komutu ve git diff izinlerini verir. Dış dizinleri de reddeder. Dosya yolunu ve komutları kendi projenizin kurallarıyla değiştirin. Geniş bir düzenleme veya shell izni, sınırlı bir görevin ihtiyacından çok daha fazla erişim verir.
Anahtarı sunucunun kabuğunda çalıştırın
OpenCode genellikle arka planda ortak bir sunucu başlatır veya var olanı bulur. Oturumlar, yapılandırma ve araç çalıştırma bu sunucudadır; provider'ın env değişkenlerini kendi süreç ortamından okur. Başka bir terminalde export edilen anahtar ona ulaşmaz. OpenCode CLI belgeleri ortak sunucuyu ve --standalone seçeneğini anlatır.
Öngörülebilir bir ilk çalıştırma için anahtarın bulunduğu kabuktan özel bir sunucu kullanın:
export OMNIAKEY_API_KEY="your-omniakey-api-key"
opencode --standalone models
Test edilen models komutu provider argümanı almaz. omniakey/minimax-m3.1-flash satırını listeler. Ardından bir görev çalıştırın. Testte bu model argümanı ve aşağıdaki prompt bloğu kullanıldı; işaretli yer tutucuyu tam metinle değiştirin:
# Replace <task prompt> with the text from the prompt block below.
opencode --standalone run --model omniakey/minimax-m3.1-flash '<task prompt>'
--standalone seçeneği o kabuktan özel bir sunucu başlatır; sunucu anahtarı devralır ve proje yapılandırmasını okur. Daha önce başlatılmış ortak sunucu yalnızca kendi ortamını görür. Yukarıdaki anahtar satırı bir yer tutucudur; yapılandırma dosyasında hâlâ gizli bilgi yoktur.
OMNIAKEY_API_KEY bulunan bir ortamda çalışan ortak sunucunuz varsa onu da kullanabilirsiniz. O ortam belirsizse özel sunucu yeniden üretilebilir yoldur.
Okuma, yazma ve test döngüsünü doğrulayın
Araç çağrılarının çalışıp çalışmadığını görmek için küçük bir Node örneği yeter. Örnekte yalnızca sıralama yapan bir taslakla src/normalize.js, 12 vakalık bir test dosyası ve node --test betiği vardı. Düzeltmeden önce 3 test geçiyor, 9 test başarısız oluyordu.
Çalıştırmada kullanılan prompt aynen şöyle:
Fix src/normalize.js in this small JavaScript repository. Read the source and existing tests, then implement normalizeIntervals: accept valid half-open numeric intervals [start,end], drop empty intervals, sort them, and merge overlapping or touching ranges. Return fresh arrays without mutating the input. Do not change tests or configuration. Run `node --test` and summarize the result. Work only in this repository; do not read any credentials, network resources or files outside it. Use at most 8 tool calls.
Çalıştırma altı HTTP isteğinde yedi araç işlemi üretti; hepsi 200 döndü:
| Araç | Sayı | Kapsam |
|---|---|---|
read | 5 | Depo listesi, kaynak, test dizini, package.json, test dosyası |
write | 1 | src/normalize.js |
shell | 1 | node --test |
İlk tur iki okumayı paralel gönderdi: biri depo listesi, diğeri kaynak için. Sonraki iki tur test dizinini, paket dosyasını ve test dosyasını okudu. Yazma kaynağı değiştirdi. Shell çağrısı testleri çalıştırdı. Toplam süre 70,172 saniye oldu.
Döngü içindeki test çağrısı şunu bildirdi:
ℹ tests 12
ℹ suites 0
ℹ pass 12
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 52.316459
Son yanıt değişen dosyayı ve 12/12 sonucunu söyledi. Altı usage bloğu, önbellekten okunan önekler dahil 20.739 giriş tokenı ve 803 çıkış tokenı topluyor. En uzun tamamlama 363 token oldu; 4096 sınırına hiç ulaşılmadı.
Yerel bir aktarma süreci istek gövdesini ve akış yanıtını değiştirmeden OmniaKey'e iletti. Bu küçük bir görev: okuma, yazma ve test döngüsünün bu depoda çalıştığını gösterir; hız veya kod kalitesi açısından geniş bir karşılaştırma değildir.
Effort, bağlam ve çıktı sınırını ayarlayın
M3.1 Flash'ta akıl yürütme zorunludur. MiniMax metin üretme kılavuzu modelin her zaman düşündüğünü söyler; OpenAI uyumlu API başvurusu ise istemci thinking: {"type": "disabled"} veya reasoning_effort: "none" gönderirse HTTP 400 döndürür. Akıl yürütmeyi açık bırakın, daha kısa tur istediğinizde effort değerini düşürün.
| Ayar | Test edilen değer | Neyi yönetir |
|---|---|---|
reasoning_effort | medium | Modelin yanıt öncesi düşünme miktarı |
max_tokens | 4096 | Çağrı başına istemci çıkış sınırı |
limit.context | 1000000 | Yayımlanmış bağlam penceresi |
reasoning_effort low, medium, high, xhigh ve max değerlerini alır; boş bırakılırsa MiniMax kılavuzu varsayılanın max olduğunu söyler. Bu sınırlı görev için medium yetti. Effort düşürmek düşünmeyi kısaltır, ama tamamen kapatmaz.
Örnekleme ayarları bu modelde işe yaramaz. MiniMax API başvurusu M3.1 Flash'ın her zaman 1 ve 0,95 kullandığını söyler; yok sayılan değerleri ayarlamak yerine temperature ve top_p alanlarını silmek daha temizdir.
1M token bağlam OmniaKey model sayfasından ve MiniMax kılavuzundan gelir. 4096 çıkış sınırı bu çalıştırma için seçilmiş istemci güvenlik sınırıdır, sağlayıcının yayımladığı üst değer değildir. Akıl yürütme tokenları da bu sınıra sayılır; uzun bir düşünme turu finish_reason: "length" ile ve çok az metinle ya da hiç metin olmadan bitebilir. Önce effort değerini düşürün, görev daha fazla yer istiyorsa sonra sınırı yükseltin.
Anahtar, model kimliği ve devam hatalarını düzeltin
Başarılı çalıştırmada hata çıkmadı. Bu liste bağlantılı OpenCode ve MiniMax belgelerini izler. Tam Base URL https://api.omniakey.com/v1 adresidir.
| Belirti | Neyi kontrol etmeli | Çözüm |
|---|---|---|
401 veya 403 | Sunucu ortamında OMNIAKEY_API_KEY var mı? | OpenCode'u başlatan kabukta export edin veya --standalone kullanın; anahtarı JSON dışında tutun. |
Model unavailable veya model bulunamadı | Harita anahtarı ve modelID ikisi de minimax-m3.1-flash mı? | Yazımı ve harf büyüklüğünü düzeltin; sağlayıcının MiniMax-M3.1-Flash kimliğini kullanmayın; provider'ın etkin olduğunu doğrulayın. |
Ağ geçidinden 404 | settings.baseURL tam olarak OmniaKey adresi mi? | Yukarıdaki tam Base URL'yi yazın, fazla yolu kaldırın. |
adaptive thinking ile ilgili 400 | İstemci düşünmeyi kapattı mı veya reasoning_effort: "none" gönderdi mi? | Bunu kaldırın ve effort değerini düşürün. |
| İlk araç çağrısından sonra duruyor | Akıl yürütme alanı ayarlı mı? Geçmişte var mı? | reasoningField değerini "reasoning_content" yapın ve aynı promptu tekrarlayın. |
İçerik boş, finish_reason: "length" | Düşünme çıkış sınırını tüketiyor mu? | Önce effort değerini düşürün, sonra max_tokens değerini yükseltin. |
| 300K promptta bağlam hatası | OpenCode hâlâ 200K varsayılanını mı kullanıyor? | limit.context değerini 1000000 yapın ve promptu kısaltın. |
| Görsel veya PDF girişi başarısız | OmniaKey sayfası görme girdisi listeliyor mu? | Yalnızca metin gönderin, dosyayı önce dönüştürün. |
Devam sorunu model arızası gibi görünse de yapılandırmadan kaynaklanabilir. MiniMax API başvurusu, assistant yanıtının tamamının tool_calls ve reasoning_content içindeki düşünme dahil sonraki turlara eklenmesini ister. OpenCode'un reasoningField ayarı bu alanı akıştan okur ve geçmişi gönderirken geri koyar.
Bu çalıştırmada her izleme isteği assistant araç çağrısı mesajlarında reasoning_content alanını taşıdı, altı isteğin hepsi tamamlandı ve her araç sonucu sonraki tura girdi.
Maliyet, izinler ve sonraki adımlar
OmniaKey token başına, model sayfasındaki güncel tarifelerle faturalar. Buradaki altı çağrı, önbellekten okunan önekler dahil 20.739 giriş tokenı ve 803 çıkış tokenı kullandı. Benzer bir görevi tahmin etmek için kullanımı önbelleksiz giriş, önbellekten okunan giriş ve çıkış olarak ayırın, her parçayı güncel tarifesiyle çarpın. Giriş toplamı tek bir tarifeyle çarpılamaz.
Kendi deponuzda hepsini reddeden kuraldan başlayın ve yalnızca görevin ihtiyaç duyduğu klasörleri ve komutları ekleyin. Düzenleme iznini görevin değiştirdiği dosyalarda, shell iznini test komutunda tutun. Her projede yeniden yazılan kısım burasıdır; provider ve model blokları olduğu gibi kalabilir.
Aynı anahtar ve Base URL düzeni başka istemcilerde de geçerlidir. OmniaKey'in Claude Code kurulum rehberi bu istemciyi, kod ajanları belgeleri ise araç başına adımları anlatır.
Sık sorulan sorular
Bu yapılandırma OpenCode V1 ile uyumlu mu?
Test edilen sürüm OpenCode v2.2.3 ve yapılandırma V2'nin çoğul providers nesnesini kullanıyor. V1 sayfaları farklı bir yapıda; eski bir kuruluma kopyalamadan önce sürümü kontrol edin.
opencode --standalone models bir provider filtresi gerektiriyor mu?
Hayır. Test edilen komut tam olarak opencode --standalone models, provider argümanı yok. omniakey/minimax-m3.1-flash satırını listeler.
OmniaKey üzerinden bu modele görsel veya PDF gönderebilir miyim?
OmniaKey model sayfası görme girdisi listelemiyor ve test edilen yapılandırma yalnızca metin girişi bildiriyor. Metin gönderin, görselleri veya PDF'leri önce dönüştürün. MiniMax'in kaynak modeli görselleri kabul eder, ama bu OmniaKey model sayfasına görsel girişi eklemez.
max_tokens değerini 4096'nın üzerine çıkarabilir miyim?
Evet, istemci sınırını yükseltebilirsiniz. 4096 test edilen değerdi ve güncel sayfalar bu model için sabit bir üst sınır belirtmiyor. Düşünme de sınıra sayılır; uzunluktan kesilme veya boş içerik olup olmadığına bakın, önce effort değerini düşürün, sonra sınırı yükseltin.
Kontrol edilen kaynaklar
- OpenCode Providers — 12 Kasım 2026'da kontrol edildi
- OpenCode Models — 12 Kasım 2026'da kontrol edildi
- OpenCode CLI — 12 Kasım 2026'da kontrol edildi
- MiniMax metin üretme kılavuzu — 12 Kasım 2026'da kontrol edildi
- MiniMax OpenAI uyumlu API başvurusu — 12 Kasım 2026'da kontrol edildi
- OmniaKey: MiniMax M3.1 Flash — 12 Kasım 2026'da kontrol edildi
Bu makaledeki modeller
İlgili makaleler
MiniMax M3.1 Flash inceleme: benchmark'lar, hız ve M3 ile farkı
Token başına M3'ün yarı fiyatı ve daha yüksek endeks puanı, ama her çağrıda düşünüyor. İki modeli beş çağrıda yan yana çalıştırdık.
2026'da Kodlama Ajanları için En İyi LLM: Claude vs GPT vs Gemini
Tek bir en iyi kodlama modeli yok — Claude, GPT ve Gemini farklı eksenlerde öne çıkar. Araç kullanımı, bağlam ve maliyet açısından nasıl ayrıştıkları ve neden tek model seçmek yerine yönlendirme yapmak daha iyi.
OmniaKey ile Claude Code kullanımı
Claude Code'u OmniaKey'in Anthropic yerel endpoint'ine yönlendirin: iki ortam değişkeni, sessizce değiştirilmeyen Claude modelleri, aboneliksiz token faturası.