Mga Seksyon ng Base ng Kaalaman ▾

Nabigasyon

▸ Magsimula rito Ayon sa papel

Mga Kategorya

Mga Gamit 52
Glosaryo 12

Tools

Factory Droid + JoinGonka Gateway: BYOK sa mga modelo ng network ng Gonka

Ang Factory Droid (command na droid) ay isang terminal code agent ng kumpanyang Factory. Inaaral nito ang project, nag-aayos ng mga file, nagpapatakbo ng mga command at test, at kayang hatiin sa plano ang malalaking gawain. May dalawang mode: interactive droid sa terminal at isang beses na droid exec — isang gawain mula sa script o CI.

Sa normal na operasyon, gumagana ang Droid sa mga modelo mula sa catalog ng Factory, ngunit mayroon itong BYOK: ang array na customModels sa ~/.factory/settings.json ay tumatanggap ng anumang endpoint na gumagamit ng OpenAI Chat Completions. Ang JoinGonka Gateway ay eksaktong ganoon, kaya ang pagkonekta ay isang command lang ng installer — at gagana ang agent sa mga modelo ng decentralized network na Gonka: DeepSeek V4 Flash, GLM-5.3 Flash at MiniMax M2.7, lahat sa parehong presyo — $0.0069 bawat milyong input tokens.

May isang kondisyon na dapat malaman nang maaga: ang interactive mode ng Droid ay nangangailangan ng pag-log in sa Factory account, at hindi ito mababago ng paggamit ng sariling mga modelo. Ang isang beses na droid exec sa mga BYOK model ay gumana rin sa aming test nang walang log-in — detalye sa seksyon tungkol sa BYOK. Ang mga command, file, at mensahe sa ibaba ay na-verify sa live test ng Droid 0.225.1 sa pamamagitan ng gateway noong Setyembre 23, 2026. Pagkatapos kumpirmahin ang address, makakatanggap ang account ng 3M na libreng tokens — sapat na ito para subukan mo ang lahat nang mag-isa.

Mabilisang simula: installation at isang command

Hakbang 1: i-install ang Droid. Mga opisyal na paraan mula sa dokumentasyon ng Factory:

# macOS and Linux
curl -fsSL https://app.factory.ai/cli | sh

# Homebrew
brew install --cask droid

# Windows (PowerShell)
irm https://app.factory.ai/cli/windows | iex

# via npm
npm install -g droid

Inilalagay ng script ang binary sa ~/.local/bin at sinasabi kung paano idagdag ang direktoryo sa PATH; sa Linux, hinihiling ng dokumentasyon na i-install din ang xdg-utils package. Para i-verify — droid --version.

Hakbang 2: kumuha ng key. Magrehistro sa gate.joingonka.ai/register, i-verify ang address at gumawa ng key na may jg- prefix sa seksyong «Mga API key». Isang key at isang balanse ang gumagana para sa lahat ng modelo ng network.

Hakbang 3: patakbuhin ang installer.

npx @joingonka/setup --tool droid

Tatanungin ng installer ang key — hindi ito ipinapasa sa command-line arguments para hindi ito maiwan sa shell history — at gagawin nito ang apat na bagay:

  • magdadagdag ng entry sa customModels array ng ~/.factory/settings.json (sa Windows — %USERPROFILE%\.factory\settings.json) para sa bawat modelo ng network: address ng gateway, uri ng provider na generic-chat-completion-api, key bilang literal, tunay na context window at response ceiling; makakakuha ang file ng 600 permissions;
  • itakda ang default na modelo — sessionDefaultSettings.model — sa DeepSeek V4 Flash, pero kung wala pang napili o ang napili ay tumutukoy sa modelong wala na sa network. Hindi nito aagawin ang modelo mula sa catalog ng Factory o anumang BYOK entry, sa halip ay sasabihin kung paano magpalit;
  • magse-save ng kopya ng dating file, at iiwan ang mga entry ng iba sa customModels, iba pang settings at comments kung ano sila; ang file na hindi mabasa ay hindi nito i-overwrite, sasabihin lang kung ano ang ayusin;
  • sa huli, magpapadala ng live na request sa gateway at direktang sasabihin kung tinanggap ang key, address at modelo.

Ang ibang default na modelo ay itinatakda ng --model flag na may shorthand na deepseek, glm o minimax — ang tahasang tinukoy na modelo ay laging isinusulat. Para sa mga dotfile at server, may mode na walang tanong, at ang key dito ay kinukuha mula sa environment variable:

JOINGONKA_API_KEY=jg-your-key npx @joingonka/setup --tool droid --model glm --non-interactive

Hindi kailangang i-restart ang Droid: siya na mismo ang nakakapansin ng mga pagbabago sa settings.json. Ang linyang ! Could not verify right now na may 429 response sa dulo ay nangangahulugang abala ang modelo, hindi error sa setup — nakasulat na ang configuration.

Manual na setting: customModels sa settings.json

Lahat ng ginagawa ng installer, kayang isulat nang manu-mano. Ang mga custom na setting ng Droid ay nakaimbak sa ~/.factory/settings.json; kung wala ang file, ginagawa ito ng Droid sa unang pagpapatakbo. Para sa network ng Gonka, kailangan ang array na customModels at ang default na modelo:

{
  "customModels": [
    {
      "model": "deepseek-ai/DeepSeek-V4-Flash-0731",
      "id": "custom:deepseek-ai/DeepSeek-V4-Flash-0731",
      "displayName": "DeepSeek V4 Flash (Gonka)",
      "baseUrl": "https://gate.joingonka.ai/v1",
      "apiKey": "jg-your-key",
      "provider": "generic-chat-completion-api",
      "maxOutputTokens": 32768,
      "maxContextLimit": 380000,
      "noImageSupport": true
    },
    {
      "model": "zai-org/GLM-5.3-Flash",
      "id": "custom:zai-org/GLM-5.3-Flash",
      "displayName": "GLM 5.3 Flash (Gonka)",
      "baseUrl": "https://gate.joingonka.ai/v1",
      "apiKey": "jg-your-key",
      "provider": "generic-chat-completion-api",
      "maxOutputTokens": 8192,
      "maxContextLimit": 390000,
      "noImageSupport": true
    },
    {
      "model": "MiniMaxAI/MiniMax-M2.7",
      "id": "custom:MiniMaxAI/MiniMax-M2.7",
      "displayName": "MiniMax M2.7 (Gonka)",
      "baseUrl": "https://gate.joingonka.ai/v1",
      "apiKey": "jg-your-key",
      "provider": "generic-chat-completion-api",
      "maxOutputTokens": 8192,
      "maxContextLimit": 200000,
      "noImageSupport": true
    }
  ],
  "sessionDefaultSettings": {
    "model": "custom:deepseek-ai/DeepSeek-V4-Flash-0731"
  }
}
FieldHalagaMahalagang tandaan
modelid ng modelo sa networkIpinapadala sa request nang buo, kasama ang prefix ng vendor
idcustom: + id ng modeloPermanenteng pangalan ng entry para sa flag na -m at sa default na modelo. Kung wala ang field na ito, ang Droid mismo ang gumagawa ng pangalan — mula sa displayName at ordinal na numero
displayNamekahit anong labelIto ang pangalan ng modelo sa listahan ng /model
baseUrlhttps://gate.joingonka.ai/v1Dapat may /v1 sa dulo: ang path na /chat/completions ay dinadagdag mismo ng Droid
apiKeyang iyong key na jg-…Literal — pinakamaaasahang opsyon. Ang reference na tulad ng ${JOINGONKA_API_KEY} ay okay rin, pero kailangang nasa environment kung saan tumatakbo ang Droid ang variable, kung hindi hindi makakarating ang request
providergeneric-chat-completion-apiUri para sa OpenAI Chat Completions — eksaktong ganyan, lowercase; dito nasubukan ang buong tagubiling ito
maxOutputTokens32768, 8192, 8192Takda ng sagot ng bawat modelo sa network
maxContextLimit380000, 390000, 200000Window ng konteksto ng modelo; nakasaad ang field sa schema ng setting ng Factory
noImageSupporttrueText-based ang mga modelo sa network, kaya ang flag na ito ang nagpapatay ng attachment ng larawan para sa entry

Ang default na modelo ay nakaimbak sa sessionDefaultSettings.model at tumutukoy sa entry sa pamamagitan ng id nito. Binabanggit pa ng dokumentasyon ng Factory ang key na model sa root ng file, pero sa aming pagpapatakbo ng droid exec na walang flag na -m, kinuha ng Droid ang modelo mula mismo sa sessionDefaultSettings — at ganoon din pagkatapos baguhin ang halaga.

Nakalagay ang key sa file nang plaintext: isara ang file gamit ang command na chmod 600 ~/.factory/settings.json at huwag ilipat ang mga entry na may key papunta sa .factory/settings.json ng proyekto — kadalasan kasi napupunta ito sa repository. At kung pagkatapos patakbuhin ang Droid ay iba ang hitsura ng file, normal lang iyon: sa tuwing sine-save ang anumang setting, buong isinusulat muli ng Droid ang file — inaayos ang mga key, nagdadagdag ng field na index sa mga entry, at hindi nagse-save ng mga komento. Nananatili naman ang permisyong 600, at walang problema itong ina-update ng installer.

BYOK sa Droid: pagpili ng modelo at ano ang kailangan para sa Factory account

Ipinapakita ng Droid ang sarili nitong mga entry nang hiwalay sa catalog: ayon sa dokumentasyon, sa interactive na mode, inilalabas ng command na /model ang mga ito sa seksyong Custom models, at ang Ctrl+N ay nagbibisikleta sa mga modelo mismo sa input field. Sa one-shot na mode, tinutukoy ng flag na -m ang modelo gamit ang value mula sa field na id, isinusulat ang mga forward slash nang ganito: droid exec -m custom:zai-org/GLM-5.3-Flash "…".

Kung magkamali ka sa pangalan, sasagot ang Droid ng Invalid model at ililista ang lahat ng modelong nakikita nito, kasama na ang sarili nito sa anyong custom:… (display name): makikita rin na nag-load ang mga entry. Ang pangalan sa estilo ng dokumentasyon ng Factory, mula sa caption at numero (custom:DeepSeek-V4-Flash-(Gonka)-0), ay hindi gagana kapag may tahasang id — sa aming run, parehong Invalid model ang ibinigay nito.

Ano ang nangangailangan ng Factory account. Inaalis ng sariling mga modelo ang isyu sa pagbabayad ng mga token, pero hindi ang pag-login sa produkto mismo. Ito ang ipinakita ng run ng Droid 0.225.1 nang walang login sa account:

ScenarioKailangan ba ang login sa FactoryAno ang nangyari sa run
Interactive na droidOoPagkatapos agad ng splash screen — ang screen na «Please login with your Factory account to continue» na may mga opsyon na Login at Exit; hindi na makakausad nang walang account
droid exec sa mga modelong BYOKAyon sa dokumentasyon — oo, sa pamamagitan ng key na FACTORY_API_KEYSumagot ang lahat ng tatlong modelo ng network; sa JSON output, factory_credits: 0, sa log — mga babala tungkol sa hindi available na cloud features
Mga cloud feature: pag-sync ng mga session sa web version, mga connector, mga limit ng planOoNakatanggap ng 401 ang mga request sa Factory API at nilaktawan — hindi ito nakaapekto sa paggana ng agent

Para gumana sa interface, gumawa ng Factory account at mag-login sa browser — ang Login option o ang command na /login; sa machine na walang browser, iminumungkahi ng dokumentasyon ang key mula sa mga setting ng account sa variable na FACTORY_API_KEY. Ang paggana ng droid exec nang walang login ay maginhawa para sa pagsubok, pero hindi opisyal na nakadokumento — huwag umasa dito sa CI. Ayon sa pricing page ng Factory, kasama ang BYOK sa lahat ng indibidwal na plan na may libreng limit, at lampas sa limit, ang paggamit ng BYOK ay sinisingil ayon sa mga kondisyon ng plan; ang kasalukuyang mga kondisyon ay nasa factory.ai/pricing. Ang mga token ng mga modelo ng network ay binabayaran nang hiwalay — mula sa balanse ng JoinGonka.

Alin ang modelong pipiliin. Pareho ang presyo ng lahat ng modelo ng network, kaya ang pagpili ay tungkol sa pagganap. Ganito sila nagtrabaho sa aming run ng droid exec sa isang gawain — basahin ang file at hanapin ang error:

ModeloContext / sagotPaano kumilos sa Droid
DeepSeek V4 Flash380K / 32768Tamang sagot sa dalawang hakbang. Pinakamalaking ceiling ng sagot sa network, kaya ito ang default na inilalagay ng installer. Sa --auto low, ito rin ang nag-ayos ng file at mismo ang nagpatakbo nito para suriin
GLM-5.3 Flash390K / 8192Tamang sagot sa dalawang hakbang, mga 20 segundo. Nag-iisip na modelo: ang bahagi ng ceiling ng sagot ay napupunta sa pag-iisip
MiniMax M2.7200K / 8192Tamang sagot sa dalawang hakbang, 10-20 segundo. Hiwalay na dumarating ang pag-iisip ng modelo mula sa sagot, at sa output ng droid exec, ang sagot lang ang natitira

Ang flag na -r (antas ng pag-iisip) sa mga modelong BYOK, ayon sa dokumentasyon ng Factory, ay hindi inilalapat. Kung bakit DeepSeek V4 Flash ang default, tinalakay sa review ng modelo.

Pag-verify: ano ang dapat mangyari

Maglagay sa isang walang laman na direktoryo ng file na calc.py na may malinaw na bug — halimbawa, ang area ng rektanggulo kung saan pinagsasama ang mga gilid sa halip na i-multiply — at hilingin sa Droid na hanapin ito:

droid exec "Read the file calc.py in the current project directory and tell me in one sentence whether it has a bug."

Kung walang flags, ang droid exec ay gumagana sa read-only mode: puwedeng tingnan ang mga file, pero hindi sila mababago. Ang agent mismo ang tatawag sa tool sa pagbabasa at sasagot nang direkta, kasama ang pagtukoy sa maling expression. Sa flag na -o json, darating ang sagot bilang isang object na madaling i-parse ng script (pinaikli ang output):

{"type":"result","subtype":"success","is_error":false,"duration_ms":2239,"num_turns":2,
 "result":"Yes, the file has a bug: the rectangle area is computed as the sum of the side lengths, but it should be their product (width * height). …",
 "usage":{"input_tokens":19016,"output_tokens":146,"factory_credits":0,"ttft_ms":747}}

Kinukumpirma ng field na factory_credits: 0 na sa inyong sariling modelo tumakbo ang trabaho, hindi sa mga credit ng Factory. Para makapag-edit ang agent ng mga file, magdagdag ng antas ng autonomy: droid exec --auto low "Fix the bug in calc.py and change nothing else." — sa aming run, binasa ng DeepSeek V4 Flash ang file, pinalitan ang pagdaragdag ng pagpaparami, at mismo ang nagpatakbo ng script para tiyakin na 12 ang output.

Ang ikatlong pagsusuri ay mula sa panig ng gateway: sa dashboard, sa seksyong "Usage", lalabas ang request sa breakdown na "By models", at sa block na "By keys" mag-a-update ang oras ng huling request.

Kung may nagkamali, tandaan ang kakaibang behavior ng Droid: sa console, ang droid exec ay nagpi-print lamang ng Error during droid execution: Exec failed (sa JSON — "result":"Exec failed"), at ang tunay na dahilan ay nananatili sa log. Makukuha ito sa isang command:

grep agent_error_count ~/.factory/logs/droid-log-single.log | grep -o '"errorMessage":"[^,]*' | tail -1
Ano ang nakikitaAno ang ibig sabihinAno ang gawin
401 Invalid API keyHindi tinanggap ng gateway ang keySuriin ang apiKey sa entry ng modelo: buong key, walang puwang. Kung may reference na ${…} — dapat nasa environment kung saan pinatakbo ang Droid ang variable
405 <html>…405 Not Allowed…Walang suffix na /v1 sa baseUrlDapat eksaktong https://gate.joingonka.ai/v1 ang address
400 Model "…" not found. Available: …May typo sa field na model, kadalasan walang prefix ng vendorKopyahin ang id mula sa listahan na ibinibigay ng gateway sa mismong mensahe
Invalid model: custom:… at ang listahan ng mga modeloAng flag na -m o ang default na modelo ay tumutukoy sa entry na walaKunin ang pangalan mula sa seksyong Available custom models. Wala ang mga modelo ng network doon — hindi na-load ng Droid ang mga entry: suriin ang syntax ng JSON
429 Model "…" is currently overloaded in the Gonka network (rate limit)Walang libreng kapasidad ang modelo sa network ngayonKusang inuulit ng Droid ang request — sa amin, limang pagsubok sa loob ng mga dalawang minuto. Kung hindi tumulong — palitan ang modelo gamit ang flag na -m; ang estado ng network — sa status page
402Mag-top up sa seksyong "Billing"; gumagana pa rin ang key
"Please login with your Factory account to continue"Kailangan ng Factory account ang interactive modeMag-login sa pamamagitan ng Login o gumamit ng droid exec
Mahabang paghinto bago ang unang sagotPila sa modelo sa peak hoursMaghintay o palitan ang modelo gamit ang flag na -m

Magkano ito

Ang ahenteng tool ay gumagastos ng tokens nang iba kaysa sa chat: sa bawat parirala mo, nagdaragdag ang Droid ng system prompt, mga deskripsyon ng tool, at snapshot ng working directory, at ang task ay tumatagal ng ilang steps. Sa aming run, bawat step ay may dala na mga 9.5 libong input tokens bago pa ang tanong mo: ang task na "basahin ang file at hanapin ang error" ay tumagal ng dalawang steps at mga 19 libong tokens, ang "ayusin at suriin" — apat na steps at mga 44 libong tokens. Kaya ang presyo kada token ay mahalaga rito.

Sa pamamagitan ng JoinGonka Gateway, ang mga tokens ay nagkakahalaga ng $0.0069 kada milyon sa input at $0.021 kada milyon sa output — ang presyo ay pareho para sa lahat ng models sa network at awtomatikong kinukuha sa pahinang ito mula sa isang live source.

SenaryoKonsumoSa pamamagitan ng Gateway
Isang beses na task: basahin, ayusin, suriin19-44K tokensmga sentimo
Araw ng aktibong pagtatrabaho3-7M tokensiilang sentimo
Buwan ng aktibong development~150M tokensmga isang dolyar

Ang mga estimasyon sa kanang column ay base sa presyo noong Setyembre 2026. Para sa paghahambing — paano posibleng magbayad para sa mga models sa Droid:

ParaanModel ng PagbabayadLimitasyon
Mga model mula sa Factory catalogsubscription sa plan na Pro, Plus o Maxrolling limits para sa 5 oras, 7 at 30 araw; higit pa rito — Droid Core pool o pagbili ng Extra Usage
BYOK gamit ang vendor keykada token ayon sa presyo ng vendorang bill ay lumalaki kasabay ng haba ng mga sessions; ang presyo ay depende sa napiling model
JoinGonka Gateway (BYOK)kada token, prepaid balanceang konsumo ay makikita sa cabinet, ang gateway ay walang subscription o quotas; ang mga kondisyon ng BYOK sa panig ng Factory ay pareho sa kahit anong sariling key

Ang command na /cost sa Droid interface ay nagpapakita ng statistics ng session, at ang eksaktong konsumo at balance para sa mga BYOK models ay nasa cabinet ng gateway, sa mga seksyong "Usage" at "Billing". Gumawa ng hiwalay na key para sa Droid — ang traffic nito ay makikita bilang hiwalay na linya.

Mga dapat isaalang-alang sa pagtatrabaho

Autonomy. Sa one-shot mode, ang Droid ay nagbabasa lang bilang default; pinapalawak ng mga antas ang mga pahintulot: --auto low — pag-edit ng mga file, --auto medium — kasama pa ang pag-install ng dependencies, build, tests at lokal na commits, --auto high — hanggang sa push at deploy. Ang flag na --skip-permissions-unsafe ay nag-aalis ng lahat ng pagsusuri — para lamang sa mga disposable container. Sa interactive mode, ang Ctrl+L ang nagpapalit ng antas, at ang panimulang antas ay itinakda ng sessionDefaultSettings.autonomyLevel; default doon ay off — lahat may kumpirmasyon.

Lagda sa mga commit. Ang setting na includeCoAuthoredByDroid ay naka-on bilang default: nagdadagdag ang Droid ng linyang co-authorship sa mga commit message. Kung ayaw ninyo ito, isulat ang "includeCoAuthoredByDroid": false sa settings.json.

Saan naka-store ang mga session. Pagkatapos mag-login sa account, ang Droid ay nagmi-mirror ng CLI sessions sa web version ng Factory bilang default — ang cloudSessionSync ang responsable dito. Ang mga BYOK key, ayon sa dokumentasyon, ay nananatiling lokal; kung dapat ding manatili sa makina ang pag-uusap, itakda ang "cloudSessionSync": false. Sa panig nito, hindi nag-iimbak ang gateway ng nilalaman ng mga prompt at sagot — mga aggregate ng gastos lang ang natitira sa stats.

Mga update. Ang pag-install sa pamamagitan ng script ay kusang nag-a-update; maaaring i-pin ang bersyon gamit ang variable na FACTORY_DROID_AUTO_UPDATE_ENABLED=false o ang command na droid update --version <version>; ang mga npm build ay hindi kusang nag-a-update. Pagkatapos ng update, sa isang droid exec, tiyakin na naroon pa rin ang mga modelo ng network.

Mga larawan. Text-only ang mga modelo ng network; para sa mga screenshot, panatilihin sa tabi ang isang entry na may modelong may vision, mula sa ibang provider.

Kung mahalaga ang pagtatrabaho nang walang vendor account. Ang parehong mga modelo ng network ay kumokonekta sa mga bukas na terminal agent na hindi kailangan ng login — halimbawa, sa OpenCode gamit ang parehong installer, na may flag na --tool opencode.

Kumokonekta ang Factory Droid sa JoinGonka Gateway sa pamamagitan ng BYOK: ang command na npx @joingonka/setup --tool droid ay nagdadagdag sa customModels ng file na ~/.factory/settings.json ng mga entry para sa DeepSeek V4 Flash, GLM-5.3 Flash at MiniMax M2.7 (provider: generic-chat-completion-api, baseUrl na may /v1, key na jg-…, tahasang id na anyong custom:<model>) at inilalagay ang DeepSeek V4 Flash sa sessionDefaultSettings.model. Ang interactive mode ay nangangailangan ng Factory account; ang droid exec sa mga BYOK model sa run 0.225.1 ay gumana kahit wala ito, may factory_credits: 0. Ang verification — droid exec -o json at ang seksyong “Usage” sa dashboard, at ang dahilan ng pagka-fail ng Droid ay isinusulat hindi sa console, kundi sa ~/.factory/logs/droid-log-single.log.

Gusto mo pang matuto?

Galugarin ang iba pang mga seksyon o simulang kumita ng GNK ngayon.

Kumuha ng key at libreng tokens →