Codex konačno može slobodno da prebacuje na domaće velike modele!
Dugo su me pitali u grupi: Codex je sjajan alat, ali može da poziva samo GPT-5.5, model od samog OpenAI-ja — postoji li način da se prebaci na domaće velike modele?
Naravno da može.
Gledajte, ovo je prebacivanje na DeepSeek V4.

Princip je zapravo veoma jednostavan — samo treba da napravimo sloj za prilagođavanje protokola koji će zahteve Codex Responses API-ja prevoditi u Chat Completions ili Messages API koje podržavaju domaći modeli.

Kada se princip razume, implementacija je zapravo veoma jednostavna.
To sam uradio pomoću Claude Code + Step 3.7 Flash.
Treba da dodam PaiSwitch-u funkciju koja omogućava Codex-u da prebacuje osnovni model.

Pored korišćenja Step 3.7 Flash za prebacivanje osnovnog modela u Codex-u, usput sam uradio još dve stvari.
- Pomoću Step 3.7 Flash sam PaiAgent-u dodao tok rada za generisanje slika.

- PaiCLI-ju sam dodao sposobnost pretraživanja mreže i vizuelnog razumevanja.

U ovom članku ćemo rastaviti čitav proces.
Vežite sigurnosne pojaseve, idemoooo~
01. Šta je Step 3.7 Flash?
StepFun je 29. maja objavio Step 3.7 Flash — visokoefikasan Flash model za Agente produkcionog nivoa.
Obratite pažnju — nije u pitanju "brža i jeftinija Flash zamena". StepFun želi da Agent u stvarnim zadacima bude brži, stabilniji i štedljiviji u dovršavanju celog toka rada.

Evo nekoliko ključnih parametara:
- Arhitektura: 198B MoE (mešavina eksperata), pri svakom zaključivanju aktivira oko 11B parametara
- Prozor konteksta: 256K tokena
- Brzina generisanja: do 400 TPS
- Licenca otvorenog koda: Apache 2.0
- API protokol: istovremeno podržava OpenAI Chat Completions i Anthropic Messages
Šta znači 11B aktivnih parametara?
To znači da je količina izračunavanja pri zaključivanju približna onoj modela od 11B parametara, ali iza stoji rezerva znanja od 198B parametara.
Snimio sam ekran — pri povezivanju sa Step 3.7 Flash, PaiCLI je veoma brz, imajte na umu da nisam ubrzavao video.
[Video]
Ova brzina ispisa tokena je zaista impozantna.
Brz, jeftin, a pritom zadržava veoma visok nivo inteligencije.

Na SWE-Bench Pro osvaja 56,3%, prestigavši DeepSeek V4 Flash (55,6%) i Gemini 3.5 Flash (55,1%). ClawEval-1.1 rezultat je 67,1%, što ga čini prvim među Flash nivoom modela.
Još zanimljiviji je njegov Advisor Mode.
Jednostavno rečeno, Step 3.7 Flash radi kao izvršni motor Agenta za većinu zadataka, a samo na ključnim tačkama donošenja odluka poziva jači Advisor model.
U ovom režimu postiže 97% performansi programiranja Claude Opus 4.6, a trošak po zadatku je oko devetinu onog kod Opus-a ($0.19 vs $1.76).
Odnos cene i performansi zaista je na maksimumu.
Još jedna stvar me je iznenadila: multimodalnost Step 3.7 Flash je izvorna.
Gledajte, ovo je rezultat testa nakon integracije u PaiCLI — Agent može da razume šta je na slici iz međuspremnika.

On može direktno da razume UI interfejs, grafikone, snimke dokumenata, interfejse aplikacija, a zatim vizuelne informacije pretvori u strukturirane rezultate analize.
Pri razvoju Agenta ne morate zasebno da povezujete vizuelni model ili konfigurišete neki vizuelni MCP — jedan model istovremeno obavlja i gledanje slika i zaključivanje.
Step 3.7 Flash je posebno optimizovan za zadatke pretraživačkih Agenata — uz alate StepSearch / web_search, unutar Agent Loop-a može kompletirati pretragu, čitanje i sintezu.
Drugi rečima.
Tokom procesa zaključivanja Agenta, ako su potrebne spoljne informacije, model će automatski pokrenuti pretragu, a nakon što dobije rezultate, nastavlja sa zaključivanjem. Čitav proces ne zahteva ručno orkestriranje "pretraga → raščlanjivanje → ponovni unos".
Na primer, ovde sam zamolio PaiCLI da direktno pretraži ko je Chenmo Wang Er. Podaci o ovoj osobi nisu u modelu, pa je Agent automatski pokrenuo pretragu na mreži, koristio StepSearch i zatim dao odgovor.

Rezultat je veoma tačan.
Još jedna stvar koja mi se čini posebno zgodnom za domaće programere.
API Step 3.7 Flash istovremeno podržava i OpenAI i Anthropic protokole.

To znači da, bez obzira na to da li koristite Claude Code ili Codex, u teoriji možete direktno da se povežete. Što se tiče kompatibilnosti Agent ekosistema, Step 3.7 Flash je optimizovan za prilagođavanje glavnim okvirima kao što su Claude Code, KiloCode, RooCode, OpenCode, Hermes Agent, OpenClaw.
02. Codex na Step 3.7 Flash
Codex koristi OpenAI-jev Responses API, dok domaći veliki modeli uglavnom koriste Chat Completions API. Iako Step 3.7 Flash podržava OpenAI protokol, Responses API koji Codex koristi i standardni Chat Completions API se ipak razlikuju.
PaiSwitch je nastao baš da reši ovaj problem.

Suštinski princip smo već ranije spomenuli.
Lokalno se pokrene proxy servis koji prima Responses API zahteve koje šalje Codex, konvertuje ih u Chat Completions format, prosleđuje ih ciljnom modelu, a zatim odgovor konvertuje nazad u Responses format i vraća ga Codex-u.
I to je to.

PaiSwitch je otvorenog koda.
https://github.com/itwanger/PaiSwitch
Tok prebacivanja
Uzećemo kao primer prebacivanje sa Codex-a na Step 3.7 Flash — čitav proces izgleda ovako:
Prvi korak, u PaiSwitch dodajte Step 3.7 Flash i unesite svoj API ključ.

- base url:
https://api.stepfun.com/step_plan/v1 - ime modela:
step-3.7-flash
Možete kliknuti na [Testiraj vezu] da proverite da li radi.
Drugi korak, na kontrolnoj tabli PaiSwitch-a izaberite Codex, a zatim prebacite na StepFun.
PaiSwitch će automatski izmeniti ~/.codex/config.toml i usmeriti konfiguraciju modela na lokalni proxy:
model_provider = "step"
model = "step-3.7-flash"
model_reasoning_effort = "high"
[model_providers.step]
name = "Step 3.7 Flash"
base_url = "http://127.0.0.1:8080/codex-proxy/step/v1"
wire_api = "responses"Treći korak, nakon što se Codex ponovo pokrene, svi zahtevi prolaze kroz PaiSwitch proxy.
I prebacivanje na Step 3.7 Flash u Claude Code-u je slično.

- base URL:
https://api.stepfun.com/step_plan - ime modela:
step-3.7-flash
Zatim ponovo pokrenite Claude Code.

03. Step 3.7 Flash + PaiAgent
PaiAgent je AI platforma za orkestraciju poslovnih tokova koju sam napravio, a koja je već podržavala čvorove za LLM razgovor, pretraživanje mreže, pretragu baze znanja i slično.
https://github.com/itwanger/PaiAgent

Ali generisanje slika nikada nije dodato — razlog je jednostavan: do sada nije postojao multimodalni model koji je istovremeno brz i jeftin, a da može da izdrži učestale pozive u toku rada Agenta.
Nakon što je Step 3.7 Flash objavljen, osetio sam da je vreme pravo.
Proces razvoja
Prebacite Codex na Step 3.7 Flash, a zatim mu zadajte sledeći Prompt:

Dodaj PaiAgent-u čvor za generisanje slika (image_generate), sa zahtevima:
- Čvor poziva model za generisanje slika preko OpenAI kompatibilnog /images/generations API-ja
- Podržava konfiguraciju prompta, URL-a referentne slike, veličine, stila, negativnog prompta
- Generisana slika se automatski čuva u MinIO, a vraća se trajni URL
- Čvor može da primi izlazni prompt iz uzvodnog LLM čvora kao ulaz
Stabilnost Tool Use-a Step 3.7 Flash-a se u ovom zadatku posebno isticala. Tokom celog procesa razvoja, model je morao više puta da čita postojeći kod PaiAgent-a, razume apstraktnu osnovnu klasu izvršioca čvorova, generiše novi kod izvršioca i izmeni servis za definiciju čvorova — uz mnogo prebacivanja konteksta i pozivanja alata.

Konačno generisani ključni kod je ImageGenerateNodeExecutor, a tok izvršavanja se deli na četiri koraka:
- Izdvajanje prompta iz uzvodnog čvora ili konfiguracije
- Pomoću resolvera konfiguracije dobijanje adrese API-ja, ključa i imena modela za generisanje slika
- Pozivanje
/images/generationsAPI-ja za generisanje slike - Prebacivanje generisane slike iz privremenog URL-a u MinIO i vraćanje trajne adrese
Efekat generisanja slika
U globalnoj konfiguraciji PaiAgent-a, jezički model je postavljen na Step 3.7 Flash, a model za generisanje slika na step-image-edit-2.

Zatim kreiramo sledeći tok rada: ulaz → LLM čvor → image_generate čvor → izlaz.

Kao LLM čvor izaberite Step 3.7 Flash koji smo upravo konfigurisali, a prompt za LLM čvor je sledeći:
Ti si profesionalni dizajner AI promptova za generisanje slika. Na osnovu korisničkog unosa, generiši prompt pogodan za StepFun model za generisanje slika.
Strogi zahtevi:
1. Ispiši samo konačni prompt za generisanje slike, bez objašnjenja, bez naslova, bez Markdown-a.
2. Izlaz mora biti ograničen na 512 znakova, što bliže 300-450 znakova to bolje.
3. Sačuvaj ključni subjekt, scenu, namenu, stil i zahteve za proporcije iz korisničkog unosa.
4. Ako informacija nedostaje, umerno dopuni detalje scene, uključujući subjekt, okruženje, kompoziciju, svetlost, boje, sočivo, teksturu.
5. Ne gomilaj previše prideva, ne piši duge pasuse.
6. Osim ako korisnik izričito ne traži tekst, u prompt dodaj: izbegavaj tekst, Logo, vodeni žig, QR kod, nečitljive znakove.
7. Prednost daj kineskom promptu.
Korisnički unos:
{{input}}
Ispiši prompt za generisanje slika, ne duži od 512 znakova.Tipičan tok rada izgleda ovako:
Korisnik unese "lepa anime devojka" → Step 3.7 Flash kao LLM čov doteruje i proširi prompt → image_generate čvor poziva step-image-edit-2 i generiše sliku → slika se prebacuje u MinIO → izlazni trajni URL

Potpuno one-shot.
Testirao sam nekoliko grupa promptova — brzina generisanja slike je oko 10 sekundi po slici, a efekat je dobar.

Ključno je da je čitav tok rada potpuno automatizovan — LLM smišlja ideje i piše prompt, model za generisanje slika stvara sliku, bez potrebe za ručnim kopiranjem i lepljenjem.
Još jedan detalj vredan pomena: URL slike koji vraća StepFun API za generisanje slika važi 30 dana.
Ako se ne obezbedi trajnost, slika će nestati nakon 30 dana. Zato čvor image_generate u PaiAgent-u, nakon što dobije rezultat generisanja, automatski otprema sliku u MinIO objektno skladište i vraća trajno upotrebljiv interni URL.
04. Step 3.7 Flash + PaiCLI
PaiCLI je još jedan projekat koji sam napravio — AI asistent u terminalu. Prethodno je već imao osnovnu sposobnost pretraživanja mreže (tri dobavljača pretrage: Zhipu, SerpAPI, SearXNG), a osnovni model je bio Step 3.5 Flash.

Nakon objavljivanja Step 3.7 Flash-a, uradio sam dve stvari: nadogradio osnovni model i kombinovao vizuelno razumevanje Step 3.7 Flash-a sa sposobnošću pretraživanja mreže, omogućavajući PaiCLI-ju da "gleda sliku + pretražuje" u jednom dugu.
Vizuelno razumevanje + pretraga mreže
Dve izvorne sposobnosti Step 3.7 Flash-a, kada se kombinuju, daju veoma zanimljivu hemijsku reakciju.
Vizuelno razumevanje omogućava modelu da direktno razume sadržaj slike — UI interfejs, snimak koda, dijagram arhitekture, poruka o grešci — sve može da prepozna.
Pretraga mreže omogućava modelu da tokom zaključivanja automatski pokrene pretragu i dobije informacije u realnom vremenu. Kombinacijom ove dve sposobnosti, Agent može da "vidi sliku, razume njen sadržaj, a zatim na osnovu sadržaja pretražuje relevantne informacije".

LLM prvo razume šta je na slici, a zatim pretražuje najnoviji AI Agent tehnički stek, koristeći alat StepSearch koji smo ranije dodali.

I preporuke koje daje su veoma razumne.

ending
Posle celog dana testiranja Step 3.7 Flash-a, evo nekoliko utisaka.
198B MoE aktivira samo 11B — dovoljno brzo. Brzina generisanja od 400 TPS znači da nijedan korak u Agent Loop-u neće da zastane. Cena je niska — pri pogotku keša samo ¥0.27/M tokena, pa ni učestali pozvi ne peku novčanik.

ClawEval rezultat od 67,1 nije tek tako — stabilnost Tool Use-a se zaista oseća u stvarnom razvoju. Nakon celog dana pisanja koda sa Codex + Step 3.7 Flash, mislim da su rezultati veoma dobri.
Značaj PaiSwitch-a nije samo u tome što možemo da koristimo Step 3.7 Flash.
On rešava razliku u protokolima između Codex-a i domaćih velikih modela — bez obzira na to koji novi model StepFun izbaci, ili da li će DeepSeek izaći sa V5, može se prebaciti jednim klikom. Nema potrebe čekati zvanično prilagođavanje Codex-a — možete sami da delujete.
[Dobar alat pored toga što nam daje još jedan izbor, čini da svaki izbor povećava našu produktivnost.]
vidimo se u sledećem.
