Paano i-self-host ang Iva Telegram AI assistant
I-deploy ang Iva v0.3.13 sa maliit na VPS gamit ang outbound-only Telegram connection, systemd user services at Obsidian vault na madali mong mai-back up.
Ang binubuo mo
Ang Iva ay isang self-hosted Telegram AI assistant. Isa ito sa iilang app na maaari mong i-deploy nang walang inbound port na kailangang buksan at walang domain na kailangang ituro rito. Wala ring certificate dahil walang service sa server ang nakikinig para sa public traffic. Kumokonekta palabas ang service sa Telegram, pinananatiling bukas ang connection, at binabasa ang iyong mga mensahe mula sa reply. Lahat ng iba pa ay nakabatay sa iisang outbound connection na ito.
MIT-licensed ang Iva at nakasulat sa Node. Ang memory nito ay isang folder ng mga plain markdown file na direktang binubuksan ng Obsidian, kaya nananatiling madaling basahin nang walang app ang mga note na iniingatan nito tungkol sa iyo. Ang gabay na ito ay nakapirmi sa release v0.3.13, na inilabas noong 6 August 2026. Pinalitan na ng repository ang pangalan nito mula smixs/iva tungo sa smixs/iva-agent, at ginagamit ng mga command sa ibaba ang bagong pangalan.
Karaniwang nagsisimula ang karamihan sa self-hosted software sa isang DNS (domain name system) record at isang Let's Encrypt certificate na inisyu gamit ang Certbot. Nilalaktawan ng Iva nang buo ang layer na iyon. Dahil dito, sapat na para sa kumpletong deployment ang isang maliit na VPS sa likod ng firewall na SSH lamang ang pinapahintulutang traffic.
Bakit hindi nangangailangan ng open ports si Iva
Ang iva-telegram-poll.service ay isang long polling bridge. Tinatawag nito ang getUpdates API ng Telegram at hinihintay ang tugon, kaya ang bawat koneksyon ay nagsisimula sa iyong server. Hindi kumokonekta pabalik ang Telegram. Ibig sabihin, walang reverse proxy na kailangang i-configure at walang certificate renewal na maaaring makalimutan.
Nakikinig mismo ang agent sa 127.0.0.1 port 8723 lamang. Malinaw ang sinasabi sa project documentation: huwag i-expose ang port 8723, at anumang reverse proxy na ilagay mo sa harap nito ay dapat magpanatili ng bearer token requirement. Suriin ang bind address pagkatapos ng install.
sudo ss -tlnp | grep 8723Dapat nakalagay ang address na 127.0.0.1:8723. Kapag wildcard address gaya ng 0.0.0.0:8723 ang ginamit, maaabot mula sa internet ang HTTP routes ng agent. Ayusin ito bago ka magpadala ng anumang pribadong data sa bot.
Kaya nananatiling sarado ang firewall. Payagan muna ang SSH bago mo ito i-enable, dahil ang ufw enable na walang SSH rule ay magsasara sa session na ginagamit mo.
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw statusAno talaga ang ginagawa ng one-line installer
May isang command sa front page ng proyekto na nagpi-pipe ng script mula sa GitHub papunta sa bash. Basahin muna ang script, dahil mas marami itong ginagawa kaysa sa pag-install ng isang program.
curl -fsSL https://raw.githubusercontent.com/smixs/iva-agent/main/install.sh -o iva-install.sh
less iva-install.sh- Nag-i-install ito ng mga system package gamit ang natukoy na package manager:
git,gh,python3,ffmpeg,pandoc, atpoppler-utils. - Gumagawa ito ng 2 GB swapfile sa
/swapfilekapag wala pang 1.5 GB ang RAM ng server at walang swap, dahil matatapos nang sapilitan ang build kapag wala nito. - Nag-i-install ito ng nvm, at pagkatapos ay ng Node 24, na siyang minimum na bersyong kailangan ng Iva.
- Ini-install nito ang
uv, ang package manager para sa Python, sa~/.local/bin. - Kino-clone nito ang repository sa
~/ivaat pinapatakbo angnpm ci. - Ini-install nito ang
agent-browserbilang global npm package. Dina-download nito pagkatapos ang Chromium at inilalagay ang Google Workspace CLI nagwssa~/.localnang hindi gumagamit ng sudo. - Pinapatakbo nito ang setup wizard, bina-build ang proyekto, at ginagawa ang vault.
- Isinusulat nito ang command na
ivasa~/.local/binat ini-install ang mga systemd user unit.
Maraming software ang ini-install ng isang line na ito. Ipinapaliwanag din nito kung bakit sinasabi sa README na mag-install bilang ordinaryong user at huwag bilang root: gagamitin ng shell tool ng agent ang mga privilege na mayroon ang installer. Ginagamit ng script ang sudo para lamang sa pag-install ng mga package at paggawa ng swapfile, at posibleng isa pang beses para sa hakbang ng Chromium, sa pamamagitan ng isang helper na direktang nagpapatakbo ng mga command kapag root ka na.
Gumawa ng dedicated user bago mag-install
Bigyan ang Iva ng sariling account. Nagpapatakbo ang agent ng shell commands sa host sa pamamagitan ng Node's child_process, nang walang container at sandbox. Kaya ang account na ginagamit nito ang security boundary.
sudo adduser --disabled-password --gecos "" iva
sudo usermod -aG sudo iva
sudo install -d -m 700 -o iva -g iva /home/iva/.ssh
sudo cp ~/.ssh/authorized_keys /home/iva/.ssh/authorized_keys
sudo chown iva:iva /home/iva/.ssh/authorized_keys
sudo chmod 600 /home/iva/.ssh/authorized_keys
sudo loginctl enable-linger ivaMahalaga ang enable-linger dahil tumatakbo ang Iva bilang systemd user units. Kapag walang linger, pinahihinto ng systemd ang mga service ng user sa sandaling matapos ang huling session nito. Dahil dito, mamamatay ang assistant kapag isinara mo ang SSH. Nalalapat din ang parehong rule sa anumang service at timer na ikaw mismo ang sumusulat sa ilalim ng systemd.
Kailangan ng account ang sudo habang nagdadagdag lamang ang installer ng mga package. Alisin ito kapag tapos na ang installation.
sudo deluser iva sudoDirektang mag-log in bilang user na iyon gamit ang SSH. Ang shell na binuksan mo gamit ang sudo -iu iva ay walang nakatakdang DBUS_SESSION_BUS_ADDRESS o XDG_RUNTIME_DIR. Kaya mabibigo ang bawat command na systemctl --user dahil sa Failed to connect to bus. Ang pagtatakda ng boundary na ito ay kapareho ng pagpapatakbo ng mga service gamit ang mga user na may least privilege.
Sa halip na i-pipe sa bash, mag-install ng naka-pin na release
May kapaki-pakinabang na property ang installer. Bago ito mag-clone ng anuman, tinitingnan nito kung ang directory kung saan naroon ang script ay may package.json na naglalaman ng "eve". Kung mayroon, bina-build nito ang checkout na iyon at nilalaktawan ang clone. Kaya ikaw ang makakapili ng bersyon.
git clone --branch v0.3.13 https://github.com/smixs/iva-agent.git ~/iva
cd ~/iva
git log -1 --oneline
bash install.shAlam mo na ngayon kung aling code ang tumatakbo. Hindi mo iyon malalaman kapag kino-clone ng script ang main sa anumang state nito sa oras na iyon. Limang release ang inilabas ng Iva mula 4 hanggang 6 August 2026, kaya magkaibang program ang main ngayong umaga at main ngayong hapon.
Iniiwan ng tag checkout ang git sa detached HEAD state. Maayos itong tumatakbo, pero dapat mong malaman ang limitasyon: inililipat ng iva update ang checkout pasulong sa update branch, kaya ang pin ay kilalang panimulang punto at hindi permanenteng freeze. Ipinapakita ng iva version ang package version at ang git commit, kaya lagi mong makikita kung nasaan ka.
Para sadyang lumipat sa mas bagong release, ilista ang mga tag, i-check out ang napili mong tag kapalit ng v0.3.13 sa ibaba, at patakbuhin muli ang installer mula sa loob ng checkout. Walang setting ang installer para sa release tag. Ang documented environment variables nito ay REPO_URL, BRANCH at INSTALL_DIR, kaya ang git checkout lamang ang nagpi-pin ng release.
cd ~/iva
git fetch --tags
git tag --list 'v*' | sort -V | tail -5
git checkout v0.3.13
bash install.sh --skip-setup
iva restartPinipigilan ng --skip-setup na patakbuhing muli ang wizard sa .env na gumagana na. Patakbuhin ang iva version pagkatapos upang kumpirmahin ang commit na napuntahan mo.
Ang limang hakbang ng wizard at ang mga key na hinihingi nito
- Model provider at model. Tumatanggap ang
MODEL_PROVIDERngopencode,ollama,openrouterocodex. Agad na bine-validate ng wizard ang key at inililista ang mga model na kasama sa plan mo. - Voice at search. Ginagamit ang Deepgram key para i-transcribe ang voice notes. Optional ang web search key (Tavily, Exa, Parallel o Brave).
- Telegram bot token mula sa @BotFather, na chine-check laban sa
getMeendpoint. - Access control. Magpapadala ka ng message sa bot, at babasahin ng wizard ang numeric user ID mo mula sa
getUpdates. - System settings. IANA timezone, vault directory, at local port na 8723 bilang default.
Dalawa sa mga ito ay dependencies na itinatago ng framing na "one command." Walang kasamang model ang Iva, kaya kailangan nito ng paid model plan o API key bago ito makasagot. Hindi rin nito kayang mag-transcribe ng audio nang mag-isa, kaya kailangan ng hiwalay na service para sa voice notes. Gamit ang nova-3 model at DEEPGRAM_LANGUAGE=multi, nade-detect ang language. May starter credits ang mga bagong Deepgram account na sapat para sa ilang buwang personal na paggamit. Gumagana ang text gamit ang model key lamang. Ang voice lang ang nakadepende sa Deepgram.
Tingnan kung ano ang isinulat ng wizard.
grep -E '^(MODEL_PROVIDER|TELEGRAM_ALLOWED_USER_IDS|ASSISTANT_VAULT_DIR|IVA_PORT)=' ~/iva/.env
ls -l ~/iva/.envDapat mag-print ang ls ng -rw-------, mode 0600, dahil hawak ng file na iyon ang lahat ng key na kakapaste mo lang. Dapat maglaman ang TELEGRAM_ALLOWED_USER_IDS ng numeric ID mo. Fail closed ang allowlist, kaya kapag walang laman ang value, walang sasagutin si Iva.
Isang beses lang binabasa ang model sa pagsisimula ng process. Walang mababago kapag in-edit mo ang MODEL_PROVIDER o ang pangalan ng model sa .env hanggang patakbuhin mo ang iva restart. Sa openrouter, ang pangalan ng model ay vendor slug gaya ng anthropic/claude-sonnet-4.5, hindi simpleng pangalan lang. Sa codex, walang API key: nagsa-sign in ang iva login sa isang umiiral na ChatGPT subscription.
Magkano ang gastos sa pagpapatakbo ng Iva bawat buwan
Ang datos sa likod ng tsart na ito
[
{
"plan": "Small VPS, always on",
"usd_per_month": 5
},
{
"plan": "OpenCode Go model plan",
"usd_per_month": 10
},
{
"plan": "Ollama Cloud model plan",
"usd_per_month": 20
},
{
"plan": "Deepgram voice, starter credits",
"usd_per_month": 0
},
{
"plan": "Tavily web search, free tier",
"usd_per_month": 0
},
{
"plan": "Cheapest complete setup",
"usd_per_month": 15
}
]Ito ang mga inilathalang list price noong October 2026, hindi aktuwal na measurements. Ang maliit na VPS na nagkakahalaga ng 5 US dollars, kasama ang OpenCode Go plan na 10 dollars, ang pinakamurang kumpletong setup—humigit-kumulang 15 dollars bawat buwan. Nakalista sa sariling Go page ng OpenCode ang buwanang presyong ito nang walang discount sa unang buwan, at tinataya ng README ng Iva na humigit-kumulang 14 hanggang 15 dollars ang kabuuang gastos para sa parehong stack. Ang Ollama Cloud ang isa pang flat-rate na opsyon, na nagkakahalaga ng 20 dollars para sa Pro plan nito; sisingilin nang hiwalay ang paggamit na lampas sa mga credit na kasama sa plan. Nagkakahalaga ang voice ng 0 habang available pa ang starter credits ng Deepgram.
Walang row para sa OpenRouter dahil pay as you go ito, kaya nakabatay ang bill sa aktuwal mong paggamit. Ito ang opsyong kailangang bantayan: mabilis lumampas sa gastos ng flat plan ang isang assistant na gumagamit ng 131072-token context window sa bawat turn. Itakda ang context window variable sa aktuwal na laki ng model, dahil nagsasayang lamang ng tokens ang sobrang taas na value.
Ang dalawang service at dalawang timer
- Ang
iva.serviceang nagpapatakbo sa mismong agent. - Ang
iva-telegram-poll.serviceang nagpapatakbo sa long polling bridge na kumokonekta sa Telegram. - Tumatakbo ang
iva-memory-doctor.timersa 05:00 at isinasagawa ang nightly maintenance pass sa vault. - Tumatakbo ang
iva-update-check.timersa 10:00 at tinitingnan kung may mas bagong release. - Umiiral lamang ang
iva-telegram-userbot.servicekung na-set up mo ang optional na Telethon proxy.
iva status
systemctl --user status iva.service iva-telegram-poll.service
systemctl --user list-timers
iva logs pollIniuulat ng iva status ang dalawang service at dalawang watchdog timer. Ipinapakita ng systemctl --user list-timers ang susunod na run time ng bawat timer. Ito ang paraan upang makumpirma mong tatakbo talaga ang memory doctor ngayong gabi. Dapat nasa active (running) ang dalawang service. Kung paulit-ulit na nagre-restart ang isa, ibinibigay ng journalctl --user -u iva.service -n 100 ang dahilan.
Mahalaga ang paghahati na ito kapag nagde-debug. Maaaring gumagana at nagpo-poll ang bridge habang down ang agent. Sa ganitong sitwasyon, tinatanggap ng Telegram ang mensahe mo pero walang sumasagot dito. Sinusubaybayan ng iva logs poll ang bridge, at sinusubaybayan ng iva logs ang agent. Kaya ipinapakita ng dalawang log kung aling bahagi ang may problema.
Kung saan nakalagay ang Obsidian vault at kung paano ito i-back up
Ang ASSISTANT_VAULT_DIR ay naka-default sa vault sa loob ng install directory, kaya nasa ~/iva/vault ang memory. Sarili itong git repository at hiwalay sa code. Dahil dito, maaari mong i-update ang Iva nang hindi ginagalaw ang iyong mga tala.
- Naglalaman ang
vault/CORE.mdng mga permanenteng fact at kasalukuyang preference. Naka-cap ito sa 1200 character at kasama sa bawat system prompt. - Ang
vault/daily/YYYY-MM-DD.mdang transcript ng araw at itinuturing itong append-only. - Naglalaman ang
vault/cards/ng mga typed card para sa mga contact, project, desisyon, idea, at tala. - Naglalaman ang
vault/summaries/daily/,weekly/,monthly/atyearly/ng mga rollup. - Naglalaman ang
vault/attachments/ng mga file ayon sa petsa, at naglalaman angvault/.graph/ng link graph. - Tinutukoy ng
vault/schema.jsonang mga uri ng card at mga tuntunin ng decay.
Tumatakbo ang mga rollup ayon sa schedule sa loob ng proseso. Sa 04:00, ginagawang mga card at summary ng daily pass ang transcript ng kahapon at nire-rewrite nito ang CORE.md. Pagkatapos, sunod-sunod na kino-compress ng weekly, monthly, at yearly pass ang mga iyon. Sa 05:00, nagpapatakbo ang memory doctor ng deterministic pass na walang model na ginagamit: ipinapatupad nito ang schema, binubuo muli ang link graph, nire-regenerate ang index, pagkatapos ay nagco-commit at nagpu-push.
Ang push na iyon ang iyong backup, at ito ang hakbang na madalas nakakaligtaan. Kung walang git remote ang vault, sinusubukan ng doctor na gumawa ng private GitHub repository sa pamamagitan ng gh. Kailangan nito ng authenticated GitHub CLI.
gh auth login
systemctl --user start iva-memory-doctor.service
cd ~/iva/vault && git log --oneline -3Ibig sabihin ng commit na may petsa ngayon ay tumakbo ang pass at na-commit ang vault. Ibig sabihin naman ng mga gh not available warning sa log na kabaligtaran: na-maintain ang vault pero hindi ito umaalis sa server. Kaya kapag namatay ang VPS, mawawala rin ang iyong memory.
Magtabi rin ng kopyang ikaw ang may kontrol.
tar czf ~/iva-vault-backup.tgz -C ~/iva vaultGamitin ang scp para kopyahin ang file palabas ng server, pagkatapos ay burahin ito sa server. Para mabasa ang memory sa Obsidian, ituro ang Obsidian sa clone ng vault repository. Gagana ang Wikilinks at backlinks nang walang pagbabago, pati ang graph view. Ligtas na mano-manong mag-edit ng mga card at ng CORE.md. Huwag galawin ang MOC.md at .graph/, dahil nire-regenerate ng nightly pass ang dalawang iyon.
Ituring logbook ng iyong buhay ang vault
Ang directory na iyon ay dated record ng mga sinabi mo, mga nakilala mo, at mga desisyong ginawa mo, sa machine na nirerentahan mo. May dalawang mahalagang implikasyon dito.
Inililipat ng self-hosting ang storage, hindi ang processing. Ipinapadala pa rin ang bawat turn sa model provider mo, at ipinapadala ang bawat voice note sa Deepgram. Iyo ang vault. Hindi pribado sa mga kumpanyang nagsisilbi sa mga ito ang mga request. Kapag ikaw mismo ang nagpatakbo ng memory layer, gaya ng Mem0 memory server sa sarili mong VPS, pareho pa rin ang setup: local ang store, pero lumalabas pa rin sa iyong environment ang model call. Kung masyadong sensitibo ang isang paksa para sa third party, huwag mo itong isama sa chat.
Sakop ng account na iyon ang buong vault. Host native na tumatakbo ang tools ni Iva sa pamamagitan ng Node's fs at child_process, na walang Docker at walang sandbox, kaya ang na-hijack na turn ay magkakaroon ng anumang access na mayroon ang service user. Kaya walang sudo ang account matapos ang install, at dapat bigyan ng higit na pansin ang allowlist kaysa sa maaaring ipahiwatig nito: ito ang gate na nagpapasya kung aling mga mensahe ang magiging commands sa server mo. Kung gusto mo ang assistant sa iyong telepono nang walang binubuksan, ito rin ang pattern na ginagamit para ma-access ang self-hosted Hermes agent mula sa iyong phone, kung saan ginagawa ng chat client ang trabahong kung hindi ay gagawin ng isang public endpoint.
Ano ang masisira at ang mensaheng makikita mo
Build killed, exit 137. Pinahinto ng out-of-memory killer ng kernel ang build. Nagdadagdag lamang ang installer ng swap kapag mas mababa sa 1.5 GB ang RAM at walang umiiral na swap. Kaya ikaw mismo ang magdagdag nito at patakbuhin muli ang installer.
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
free -hFailed to connect to bus. Ipinapakita ito ng bawat command na systemctl --user kapag walang user session bus ang shell. Ito ang ibinibigay ng sudo -iu iva. Magbukas ng normal na SSH session bilang user na iyon, o i-export ang XDG_RUNTIME_DIR=/run/user/$(id -u iva) bago patakbuhin ang command.
Hindi ka pinapansin ng bot. Walang laman ang TELEGRAM_ALLOWED_USER_IDS, at fail closed ang allowlist. Magpadala ng mensahe sa bot. Ang numeric ID mo lamang ang isasagot nito. Ilagay ang ID na iyon sa .env at patakbuhin ang iva restart.
Tumatahimik ang bot kaagad pagkatapos ng iva config. Maaaring ilipat ng wizard ang IVA_PORT nang hindi ina-update ang ASSISTANT_HOST, kaya kumokonekta ang bridge sa port na walang sumasagot. Ihambing ang dalawang linya, pagkatapos ay mag-restart.
grep -E '^(IVA_PORT|ASSISTANT_HOST)=' ~/iva/.env
iva restartWalang tugon sa voice note. Tinatanggihan ng Telegram Bot API ang pag-download ng file na lampas sa 20 MB, kaya hindi natatanggap ng bridge ang mahahabang audio at wala itong maipapadala sa Deepgram. Hatiin ang file bago ito ipadala.
ffmpeg -i long.ogg -f segment -segment_time 600 -c copy part-%02d.oggNabibitin ang isang turn at hindi kailanman sumasagot. Nananatili ang na-stuck na workflow state kahit mag-restart at muli itong ipinipila, kaya hindi ito nalilinis ng simpleng pag-restart. Kino-quarantine ng iva reset ang state na iyon at nire-restart ang dalawang serbisyo. Sinisimulan ng /new sa chat ang isang bagong conversation.
Hindi gumagana ang Chromium sa Ubuntu 24.04. Hinaharangan ng Ubuntu 24.04 ang unprivileged user namespaces sa pamamagitan ng AppArmor, kaya hindi makapagsimula ang sariling sandbox ng Chromium at nabibigo ang agent-browser. Nilalampasan ito ng installer sa pamamagitan ng pagsusulat ng "--no-sandbox" sa ~/.agent-browser/config.json. Dapat mong malaman na naroon ito. Pinapababa nito ang isolation ng browser, kaya isa pa itong dahilan upang walang pagmamay-ari ang account maliban sa Iva.
FAQ
Kailangan ko ba ng domain o bukas na port para ma-self-host ang Iva?
Hindi. Nakikipag-ugnayan ang Iva sa Telegram gamit ang long polling: tinatawag ng iva-telegram-poll.service ang getUpdates at naghihintay, kaya outbound ang bawat connection mula sa iyong server. Walang kailangang umabot sa server mula sa labas, kaya hindi mo kailangan ng DNS record o certificate. Naka-bind ang sariling HTTP port ng agent, ang 8723, sa 127.0.0.1, at sinasabi sa project documentation na huwag itong i-expose. Ang tamang configuration ay firewall na nagpapahintulot sa SSH at wala nang iba.
Magkano ang gastos sa pagpapatakbo ng Iva bawat buwan?
Batay sa published list prices noong October 2026, ang maliit na VPS na nagkakahalaga ng 5 dollars, kasama ang pinakamurang flat rate model plan na 10 dollars, ay humigit-kumulang 15 US dollars bawat buwan. Ang Ollama Cloud ay nagkakahalaga naman ng 20 dollars at sinisingil nang hiwalay ang usage na lumampas sa kasama nitong credits. Sapat muna ang Deepgram starter credits para sa voice, at may free allowance ang mga web search tier. Pay as you go ang OpenRouter, kaya wala itong fixed monthly figure.
Saan inilalagay ng Iva ang data ko, at paano ko ito iba-back up?
Bilang default, nasa ~/iva/vault ito, na itinatakda ng ASSISTANT_VAULT_DIR. Isa itong hiwalay at pribadong git repository ng plain markdown: CORE.md, daily/YYYY-MM-DD.md, cards/ at summaries/. Kino-commit at pino-push ito ng memory doctor nang 05:00. Makakatulong lamang ito kung may remote ang repository, kaya patakbuhin ang gh auth login o magdagdag ng sarili mong remote habang nagse-setup. Magtabi rin ng offline copy gamit ang tar czf ~/iva-vault-backup.tgz -C ~/iva vault at ilipat ang file na iyon palabas ng server.
Pribado ba ang data ko kung ako mismo ang nagho-host ng Iva?
Iyo ang storage. Hindi ikaw ang kumokontrol sa processing. Nananatili ang vault sa iyong disk hanggang i-push mo ito, at ang .env ay may mode na 0600 at pagmamay-ari ng service user. Cloud API ang mga model call at voice transcription, kaya dumadaan ang mga mensaheng iyon sa iyong model provider at Deepgram. MIT licensed ang Iva, kaya mababasa mo nang eksakto kung ano ang ipinapadala nito at maaari mo itong baguhin. Fail closed ang Telegram allowlist, kaya hinaharangan ng walang laman na TELEGRAM_ALLOWED_USER_IDS ang lahat, pati ikaw.
Aling mga model provider ang sinusuportahan ng Iva?
Sa pinned v0.3.13 release, tinatanggap ng MODEL_PROVIDER ang opencode (OpenCode Go), ollama (Ollama Cloud), openrouter at codex. Gumagamit ang OpenRouter ng vendor slug gaya ng anthropic/claude-sonnet-4.5 at nag-aalok ng pinakamalawak na pagpipilian ng mga model. Nag-sign in ang codex sa kasalukuyang ChatGPT subscription gamit ang iva login at hindi nangangailangan ng API key. Sa mga susunod na release, may idadagdag pang route, kabilang ang Claude subscription at custom OpenAI compatible endpoint. Itakda ang provider at ang katugmang context window sa aktuwal na laki ng model, pagkatapos ay patakbuhin ang iva restart, dahil isang beses lamang binabasa ang model sa pagsisimula ng proseso.