Mga Seksyon ng Base ng Kaalaman ▾

Nabigasyon

▸ Magsimula rito Ayon sa papel

Mga Kategorya

Mga Gamit 52
Glosaryo 12

Tools

DeepSeek Harness: sariling provider sa pamamagitan ng JoinGonka Gateway

DeepSeek Harness (command dsh) — open agentic harness mula sa DeepSeek AI: isang shell kung saan ang modelo ay nagbabasa at nagbabago ng mga file ng proyekto, nagpapatakbo ng mga command, nagde-delegate ng mga subtask, at nagpapanatili ng plano, habang sinusubaybayan mo ito mula sa browser at kinukumpirma ang mga mapanganib na hakbang. Ang proyekto ay bago pa lamang: ang mga may-akda mismo ang tumatawag dito na developer preview at direkta silang nagbabala na magkakaroon ng mga hindi compatible na pagbabago. Kaya naman, ang lahat ng nasa ibaba ay naka-attach sa partikular na bersyon — 0.1.5-rc.2, kung saan ginawa namin ang configuration mula sa unang screen hanggang sa sagot ng agent.

Sa unang pagtakbo ng dsh, humihingi ito ng key para sa opisyal na API ng vendor nito, ngunit ang model layer nito ay bukas: sa page na Settings → Models, maaaring magdagdag ng anumang provider na gumagamit ng isa sa tatlong protocol — OpenAI Chat Completions, OpenAI Responses, o Anthropic Messages. Sineserbisyuhan ng JoinGonka Gateway ang lahat ng tatlo, kaya ang harness ay kumokonekta sa desentralisadong network ng Gonka gamit ang mga standard na tool, nang walang mga plugin at patch.

Isang kapansin-pansing detalye mula sa page ng application sa OpenRouter catalog: sa ranking ng mga modelo kung saan gumagana ang DeepSeek Harness sa nakalipas na 30 araw, ang pangalawang puwesto ay nakuha ng DeepSeek V4 Flash 0731, at ang pangatlo ay GLM 5.3 Flash (data noong Setyembre 21, 2026; sa unang puwesto ay isang anonymous na test model). Parehong sineserbisyuhan ng network ng Gonka ang mga open model na ito — kasama ang MiniMax M2.7 — kaya ang pamilyar na set ay lilipat sa ibang endpoint nang hindi nagpapalit ng modelo: ang address at presyo kada token lamang ang magbabago.

Ano ang DeepSeek Harness at paano ito patakbuhin

Ang harness ay lahat ng nakapalibot sa model sa agentic na trabaho: ang loop na «request → tool call → result → susunod na hakbang», mga tool para sa file at terminal, mga permiso at kumpirmasyon, session log, pag-compress ng context. Binubuo ito ng DeepSeek Harness mula sa mga plugin: ang arkitekturang «everything is a plugin» ay nakabase sa Cordis framework, at kahit anong node — mula sa tool hanggang sa model adapter — napapalitan nang hindi kinakailangang baguhin ang core. Open source ang code sa ilalim ng MIT license.

Hindi kailangan ng installation — sapat na ang Node.js (linya 22 simula 22.19 o 24 pataas):

npx @deepseek-ai/dsh web

Binubuksan ng command ang Web UI sa http://127.0.0.1:3080 at awtomatikong bubukas ito sa browser; kapag SSH ang launch, ipi-print lang ang address sa terminal. Ang --no-open flag ay nagpapatakbo ng server nang walang browser, binabago ng --port ang port. Ang directory kung saan inilunsad ang dsh ang magiging default workspace, pero magsisimula lang ng session ang interface pagkatapos ng malinaw na pagpili ng workspace.

ModeCommandPara saan
Web UIdsh webPangunahing interface: sessions, settings, kumpirmasyon ng mga operasyon
Isahang taskdsh --profile headless "task"Mga script at CI: sagot sa stdout, reasoning sa stderr
ACPdsh --profile acpMga editor at client na sumusuporta sa Agent Client Protocol
SDKdsh --profile sdkMga client via JSON-RPC, kasama ang Python SDK

Ang model layer ay binubuo ng dalawang adapter. Ang direct ay kumakausap sa official API ng vendor. Ang multi-provider — dsh-llm-pi-ai — ay nakabase sa pi-ai library, ang parehong nasa ilalim ng terminal agent na Pi; sa pamamagitan nito nakakonekta ang parehong built-in providers mula sa catalog at kahit anong sariling endpoint. Kaya ang mga pangalan ng field sa settings — api, contextWindow, maxTokens — ay kapareho ng pamilyar sa Pi.

Tungkol sa maturity. Nagsisimula ang README ng proyekto sa babala: developer preview, mabilis na iteration, breaking changes. Nililinaw ng hiwalay na dokumentong SAFETY.md na walang isinagawang security audit, at ang agent ay nagpapatupad ng mga command na binuo ng model. Simple lang ang praktikal na konklusyon: patakbuhin ang dsh sa container, virtual machine, o sa ilalim ng hiwalay na account, at panatilihin ang backup ng lahat ng maaabot nito.

Pagkonekta sa pamamagitan ng Web UI: Settings → Models

Hakbang 1: key. Magrehistro sa gate.joingonka.ai/register: pagkatapos ma-verify ang address, papasok sa account ang 3M na libreng token. Sa dashboard, buksan ang seksyong "Mga API key" at gumawa ng key na may prefix na jg-. Maginhawang gumawa ng hiwalay na key para sa harness — sa ganoon, makikita ang trapiko nito sa estadistika bilang hiwalay na linya.

Hakbang 2: unang screen. Pagkatapos ng abiso tungkol sa test status (button na Continue), hihilingin ng dsh na ilagay ang key ng opisyal na API ("Add an API key to get started"). Hindi ito sapilitan: pindutin ang Configure later.

Hakbang 3: provider. Buksan ang Settings → Models at piliin ang Add a custom provider. Mga field ng form:

FieldHalagaTandaan
Provider IDjoingonkaMaliit na Latin na letra, nagsisimula sa letra. Permanenteng identifier ito: napupunta ito sa mga request, naka-save na session, at pangalan ng reference sa key. Hindi ito mapapalitan ng pangalan — kailangang gumawa ng bagong provider at burahin ang luma
Display nameJoinGonka GatewayKahit anong label para sa mga listahan
Base URLhttps://gate.joingonka.ai/v1May suffix na /v1
API protocolopenai-completionsPaano pumili ng protocol — nasa talahanayan sa ibaba
API keyjg-your-keyWrite-only ang field: pagkatapos i-save, naka-mask na descriptor ang natatanggap ng page, hindi ang key mismo

Hakbang 4: mga modelo. Sa block na Models, pindutin ang Fetch available models: hihilingin ng dsh sa gateway ang listahan at bubuksan ang window na "Choose models to add". Sa aming run, naroon ang lahat ng tatlong modelo ng network — MiniMaxAI/MiniMax-M2.7, deepseek-ai/DeepSeek-V4-Flash-0731, at zai-org/GLM-5.3-Flash — at pagkatapos ng Add selected, awtomatikong inilagay ng harness ang context window at response cap ng bawat isa — ayon sa data ng gateway. Pindutin na lang ang Create provider.

Hakbang 5: pagpili ng modelo. Isara ang settings, pindutin ang Choose workspace, at idagdag ang project directory. Lalabas ang mga modelo ng bagong provider sa selector; ang napili ang magiging default na modelo para sa mga bagong session.

Hiwalay na iniimbak ng dsh ang key mula sa settings: sa file na ~/.dsh/.credentials.yaml na may permiso para sa may-ari lamang. Sa settings.yaml, pangalan lang ng reference dito ang natitira — sa aming run, JOINGONKA_API_KEY, ayon sa provider ID.

Alin ang protocol na pipiliin. Kinakausap ng gateway ang lahat ng tatlo, nagkakaiba sa base address at sa mga karagdagang kaginhawahan:

API protocolBase URLKailan pipiliin
openai-completionshttps://gate.joingonka.ai/v1Pangunahing opsyon: canonical na path ng gateway, nahihila ang listahan ng modelo sa pamamagitan ng button, hiwalay na stream ang dumarating na reasoning flow ng reasoning model
openai-responseshttps://gate.joingonka.ai/v1Kung ang iyong mga plugin o scenario ay para sa Responses API
anthropic-messageshttps://gate.joingonka.aiFormat ng Anthropic Messages; ang path na /v1/messages ay idinadagdag mismo ng client

Isang protocol lang ang sinasalita ng isang provider sa dsh, kaya ang pangalawang protocol ay pangalawang provider na may ibang Provider ID. Para sa pang-araw-araw na trabaho, sapat na ang unang opsyon; sa aming run, gumana ang agentic loop na may tool calls sa lahat ng tatlo.

Pag-configure gamit ang file: settings.yaml

Ang form na Models ay nagsusulat sa isang ordinaryong YAML na dokumento — $DSH_HOME/settings.yaml, bilang default ay ~/.dsh/settings.yaml. Maaari mo itong i-edit nang direkta: binubuksan ng button na Open configuration file sa itaas ng mga setting ang file, at muling binabasa ito ng mga adapter sa susunod na request — hindi kailangan ng restart. Ang kumpletong bersyon para sa Gonka network:

# ~/.dsh/settings.yaml
llm-pi-ai:
  providers:
    joingonka:
      displayName: JoinGonka Gateway
      apiKeyEnv: JOINGONKA_API_KEY
      api: openai-completions
      baseURL: https://gate.joingonka.ai/v1
      models:
        - id: deepseek-ai/DeepSeek-V4-Flash-0731
          name: DeepSeek V4 Flash
          contextWindow: 380000
          maxTokens: 32768
        - id: zai-org/GLM-5.3-Flash
          name: GLM-5.3 Flash
          contextWindow: 390000
          maxTokens: 8192
          reasoningEfforts:
            off: low
            high: high
        - id: MiniMaxAI/MiniMax-M2.7
          name: MiniMax M2.7
          contextWindow: 200000
          maxTokens: 8192
agent-default-model:
  provider: joingonka
  model: deepseek-ai/DeepSeek-V4-Flash-0731

Narito ang mahalaga:

  • apiKeyEnv — hindi ang key mismo kundi ang pangalan ng reference dito. Hinahanap ng dsh ang value sa sunod-sunod na pagkakasunod-sunod: environment variable sa oras ng paglulunsad, pagkatapos ay .credentials.yaml (dito nagsusulat ang form), pagkatapos ay .env sa launch directory, pagkatapos ay ~/.dsh/.env. Kung nagse-set up ka ng harness na walang browser, sapat na ang linyang JOINGONKA_API_KEY=jg-your-key sa ~/.dsh/.env na may permiso na 600. Ang variable na na-export pagkatapos ng startup ay hindi na makikita ng nagsisimula nang proseso.
  • contextWindow at maxTokens — itakda nang tahasan. Ang modelong walang alam ang dsh ay binibigyan nito ng 262,144 at 32,768 token — hindi ito tumutugma sa totoong limitasyon. Ang itinakdang maxTokens ay nagiging default na limitasyon din ng sagot para sa bawat request.
  • reasoningEfforts — mga antas ng pag-iisip para sa menu na Effort. Ang modelong manu-manong inilagay ay walang mga antas, at hindi lumilitaw ang menu para dito. Sa GLM-5.3 Flash, binary ang switch: ang value na low ay nagpapatay sa pag-iisip, ang anumang iba pa ay nag-iiwan nito nang buo. Kaya ang antas na off ay naka-map sa low, at ang high ay ipinapasa nang ganito. Sa aming pagsubok, sa off ay walang mga bloke ng pag-iisip, sa high ay bumalik ang mga ito.
  • agent-default-model — ang modelo para sa mga bagong agent, kasama ang mode na headless. Ganoon din ang ginagawa ng pagpili ng modelo sa interface; dito rin maaaring idagdag ang reasoningEffort.

Ang mga switch na compat na inirerekomenda ng dokumentasyon ng dsh para sa mahigpit na gateway (supportsDeveloperRole: false, maxTokensField: max_tokens) ay hindi na kailangan dito: tinatanggap ng JoinGonka Gateway ang parehong role na developer at ang field na max_completion_tokens.

Ang installer na npx @joingonka/setup ay hindi nagse-set up ng harness na ito: ang buong koneksyon ay nauuwi lamang sa form mula sa nakaraang seksyon o sa YAML fragment sa itaas.

Pag-verify at mga karaniwang error

Pinakamabilis na paraan para masubukan ang setup ay ang isang beses na pagpapatakbo mula sa direktoryo na may code. Maglagay ng maliit na file sa tabi nito na may halatang error at ipahanap iyon:

cd /path/to/project
npx @deepseek-ai/dsh --profile headless "Read calc.py and tell me in one sentence whether it has a bug."

Ang huling sagot ay ipinapasa sa stdout, ang takbo ng pag-iisip ay sa stderr na may tatak na dsh: reasoning:. Dapat na ang agent mismo ang tumawag sa tool na pangbasa ng file at sumagot nang matino: sa aming pagpapatakbo, ang bawat isa sa tatlong modelo ng network ay tumukoy sa maling linya. Ibig sabihin, ang buong siklo na "kahilingan → tawag sa tool → resulta → sagot" sa pamamagitan ng gateway ay nabubuo nang tama.

Ang ikalawang hati ng pagsusuri ay nasa panig ng gateway. Sa dashboard, buksan ang "Paggamit": makikita roon ang mga kahilingan kada oras at kada araw, ang hati-hati ayon sa modelo at ayon sa mga key. May lumitaw na linya na may key ng harness at sariwang oras ng huling kahilingan — talagang dumadaan ang trapiko sa gateway.

Kung may nangyaring mali, karaniwang mababasa nang direkta mula sa mensahe ang diagnosis:

Ano ang nakikitaAno ang ibig sabihinAno ang gawin
AUTH: 401: … Invalid API keyHindi tinanggap ng gateway ang keyIlagay muli ang key sa pahina ng Models o itama ang variable na tinutukoy ng apiKeyEnv
MISSING_CREDENTIAL: … no credential for provider route "joingonka"Walang natagpuan sa link mula sa apiKeyEnvI-save ang key sa form o itakda ang variable bago patakbuhin ang dsh: isang beses lang binabasa ang environment, sa simula
UNKNOWN_MODELWala ang modelo sa listahan ng models ng providerIdagdag ito sa form o sa file, o pumili ng naka-configure na
400 … Model "…" not found. Available: …Hindi tumpak ang naisulat na identifier, kadalasan walang prefix ng vendorKopyahin ang id mula sa listahan na ibinibigay ng gateway sa mismong mensahe
429 … currently overloaded … (rate limit)Normal na sitwasyon sa ilalim ng load: si dsh mismo ang umuulit ng kahilingan. Kung naubos na ang mga pag-uulit — palitan ang modelo o maghintay ng isang minuto; makikita ang kalagayan sa pahina ng status
Ang Fetch available models ay sumasagot ng 401Hiningi ang listahan gamit ang maling keySuriin ang key sa form; maaari ring manu-manong isulat ang mga modelo — ganoon din ang magiging paggana nila
Walang menu na Effort ang reasoning-modelWalang nakatalang antas sa entry ng modeloIdagdag ang reasoningEfforts sa settings.yaml, tulad ng halimbawa sa itaas
Naputol o walang laman ang sagot ng reasoning-modelHuwag babaan ang maxTokens; para sa maiikling gawain, piliin ang antas na off
Sa input field, may nakasulat na Select model, naka-block ang inputAng default na modelo ay tumutukoy sa tinanggal na providerPumili ng ibang modelo sa selector

Aling modelo ang pipiliin

Ang presyo para sa lahat ng modelo sa network ay pare-pareho, kaya ang pagpili ay tungkol sa behavior, hindi sa budget. Sa ibaba ay ang mga limitasyon at kung paano gumawi ang mga modelo sa aming dsh run sa parehong gawain: basahin ang isang file at hanapin ang error dito.

ModeloIdentifierContext / sagotBehavior sa dsh
DeepSeek V4 Flashdeepseek-ai/DeepSeek-V4-Flash-0731380K / 32768Malinis na sagot na may indicator ng linya. Ang pinakamataas na limitasyon ng sagot sa network — mahahabang edit at malalaking file sa isang go
GLM-5.3 Flashzai-org/GLM-5.3-Flash390K / 8192Reasoning-model: ipinapakita ng dsh ang reasoning sa isang hiwalay na thread, malinis ang sagot. Kasama ang reasoning sa limitasyon ng sagot
MiniMax M2.7MiniMaxAI/MiniMax-M2.7200K / 8192Tama ang paglutas sa gawain; dumarating ang reasoning sa isang hiwalay na field na reasoning_content, sa text ng sagot ay ang sagot lang mismo

Ang default na rekomendasyon ay DeepSeek V4 Flash: ang agent work ay mabilis na umaabot sa context limit at edit length, ngunit dito ay may sobra sa parehong parameter. Kapag ang gawain ay nangangailangan ng pag-iisip sa masalimuot na lohika, lumipat sa GLM-5.3 Flash at panatilihin ang reasoning level na high; para sa mabilis na pag-edit, ibinibigay ito ng parehong provider sa level na off. Ang MiniMax M2.7 ay isang maayos na opsyon para sa maiikling gawain kung hindi nakakaabala ang nakikitang reasoning. Ang modelo ay napapalitan sa interface selector o sa pamamagitan ng model string sa block na agent-default-model.

Ang komposisyon ng network ay tinutukoy sa pamamagitan ng boto ng mga participant at nagbabago sa paglipas ng panahon; ang kasalukuyang listahan kasama ang mga limitasyon ay palaging ibinibigay ng GET https://gate.joingonka.ai/v1/models — ito rin ang ginagamit ng Fetch available models na button.

Magkano ang halaga nito at ano ang dapat isaalang-alang sa trabaho

Ang mga agent tool ay gumagamit ng tokens sa ibang paraan kaysa sa chat: sa bawat parirala mo, ang harness ay nagdaragdag ng system prompt at mga deskripsyon ng lahat ng tool, at pagkatapos ay nagsasagawa ng multi-step na dialogue sa modelo. Sa ating run, ang gawaing "basahin ang file at hanapin ang error" ay umabot ng dalawa hanggang tatlong step at 14 hanggang 22 libong tokens, kung saan halos lahat ng ito ay input: mayroong pitong libong tokens ang bawas sa bawat step bago pa man ang iyong tanong. Ito ang normal na kabayaran para sa autonomy — at iyan ang dahilan kung bakit mahalaga ang presyo bawat token.

Sa pamamagitan ng JoinGonka Gateway, ang mga token ay nagkakahalaga ng $0.0069 kada milyon sa input at $0.021 kada milyon sa output — ang presyo ay pareho para sa lahat ng modelo ng network at kinuha sa pahinang ito mula sa live source. Ang order ng magnitude para sa mga presyo noong Setyembre 2026:

ScenarioConsumptionVia Gateway
One-time task (basahin ang file, hanapin ang error)14-22K tokensfraction ng sentimo
Araw ng aktibong trabaho3-7M tokensilang sentimo
Buwan ng aktibong development~150M tokensnasa isang dolyar

Ang pagbabayad ay base sa aktwal na paggamit, walang subscription at walang quota sa bilang ng request; ang natitira at ang konsumo bawat araw ay makikita sa dashboard.

Bersyon. Habang ang proyekto ay nasa status na developer preview, pagkatapos ng bawat update, suriin kung gumagana ang provider, at para sa reproducibility, i-fix ang bersyon nang direkta sa command: npx @deepseek-ai/[email protected] web.

Permissions. Ang mga bagong session ay gumagana bilang default sa Workspace Write mode — pagsusulat sa loob ng working directory; ang interface ay hihingi ng kumpirmasyon para sa mga operasyong labas sa policy. Ang mode ay mababago sa Settings → General.

Retries. Sa kaso ng isang network error, ang dsh ay awtomatikong uulit ng request — ayon sa dokumentasyon hanggang limang beses — kaya ang panandaliang spike ng network load ay karaniwang hindi napapansin.

Privacy. Ang gateway ay hindi nag-iimbak ng content ng mga prompt at sagot: ang statistics ay naglalaman lamang ng aggregate consumption. Ang mga file ng proyekto ay binabasa ng agent nang lokal sa iyong machine.

Kung kailangan mo ng trabaho na may mga imahe — screenshot ng interface, diagram sa larawan — magdagdag ng pangalawang provider na may modelong marunong tumingin: ang dsh ay humahawak ng ilang provider nang sabay-sabay, at ang mga modelo ng Gonka network ay text-based.

Ang DeepSeek Harness ay hindi lamang ang ahente na inilabas ng mismong laboratoryo na gumawa ng mga modelo: ang Z.ai, ang mga may-akda ng GLM, ay may environment na ZCode, at ang MiniMax ay may terminal MiniMax Code. Parehong kumokonekta sa parehong gateway gamit ang parehong key.

Ang DeepSeek Harness ay isang open-source agent harness mula sa DeepSeek AI sa status na developer preview: Web UI, one-time runs, ACP at SDK sa ibabaw ng plugin architecture. Ang iyong sariling endpoint ay kumokonekta nang normal: Settings → Models → Add a custom provider, address https://gate.joingonka.ai/v1, protocol openai-completions, key jg-…; ang Fetch available models button ay awtomatikong kukuha ng DeepSeek V4 Flash, GLM-5.3 Flash at MiniMax M2.7 kasama ang mga limitasyon nito. Ang parehong bagay ay isinusulat bilang isang block na llm-pi-ai sa ~/.dsh/settings.yaml. Para sa GLM-5.3 Flash, i-declare ang mga level na off: low at high: high — ang pag-iisip (reasoning) ay magiging switchable. Patakbuhin ang harness sa isang isolated environment at i-fix ang bersyon habang hindi pa stable ang format.

Gusto mo pang matuto?

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

Kumuha ng key at libreng tokens →