track
DeepSeek Harness este construit pentru a rula o sarcină, nu doar pentru a răspunde la o întrebare. Este un runtime open-source pentru agenți care conectează un model la depozitul tău de cod, terminal, unelte și istoricul sesiunii. Cere-i să repare un bug și poate inspecta fișiere, edita cod, rula teste și răspunde când o comandă eșuează. Un singur apel de model nu poate face asta de unul singur.
Partea mai neobișnuită se află sub acest flux de lucru. DeepSeek Harness expune adaptorul de model, uneltele, sesiunile, sandboxul și chiar bucla agentului ca pluginuri coordonate de Cordis. Modelul este o parte a agentului, nu produsul în sine.
Nu este software finalizat. Harness este încă în preview pentru dezvoltatori; API-urile lui se pot strica între versiuni, iar propria notă de siguranță afirmă că nu a trecut printr-un audit de securitate. Voi acoperi aceste limite alături de arhitectură și unde diferă de Claude Code, Codex și OpenCode.
Pe scurt
- Ce este: DeepSeek Harness este un runtime open-source pentru agenți, nu un model. Îi oferă unui model unelte, sesiuni, sandboxing și o buclă de agent.
- Design de bază: Cordis expune adaptorul de model, uneltele, stocarea sesiunilor, sandboxul și bucla agentului ca pluginuri înlocuibile.
- Sesiuni: Un jurnal de evenimente doar-adăugare permite reluare, ramificare, căutare, redare și vizualizarea Trajectory.
- Moduri: Standard, PTC, Minimal și Creator schimbă ce unelte poate folosi agentul și cum ajunge la ele.
- Diferența principală: DeepSeek Harness le permite dezvoltatorilor să înlocuiască componente de runtime mai joase pe care Claude Code, Codex și OpenCode le păstrează fixe.
- Limita principală: Rămâne un preview pentru dezvoltatori fără audit de securitate, iar API-urile pot suferi modificări între versiuni.
Ce este DeepSeek Harness?
DeepSeek Harness, prescurtat dsh, este un open-source agent harness de la DeepSeek AI sub licența MIT. Se află între un model de limbaj și lumea exterioară, oferind unelte, sesiuni, sandboxing și bucla care menține o sarcină în mișcare.
Propunerea DeepSeek este „Agent = Model + Harness.” Modelul se ocupă de raționament și generare. Harness-ul este tot ce permite ca acel raționament să acționeze pe un sistem de fișiere real și să continue fără să fie nevoie să re-explici sarcina la fiecare pas.
Rulează pe Cordis, un framework de pluginuri anterior DeepSeek Harness. Cordis permite setărilor să înlocuiască aceste părți independent. Voi reveni mai târziu la costul acestei alegeri.
Cu această încadrare, iată cele două concepții greșite comune.
DeepSeek Harness nu este un model AI
După cum am menționat, modelul și runtime-ul sunt straturi separate. Această separare îți permite să schimbi furnizorii fără a schimba uneltele sau configurarea sesiunilor. Același runtime poate folosi DeepSeek, Anthropic, OpenAI sau un endpoint compatibil OpenAI.
DeepSeek Harness este mai mult decât un asistent de programare
Modul Standard creează impresia de asistent de programare, dar este doar o configurație. După cum voi detalia, modurile Minimal și Creator schimbă ce poate folosi agentul. Construirea unei noi configurații tot necesită muncă de inginerie; dezvoltatorii au acces la părți.
Cum organizează Cordis pluginurile DeepSeek Harness
După cum am menționat, Cordis este frameworkul de pluginuri de sub DeepSeek Harness. Permite fiecărei părți să solicite un serviciu fără a o lega de codul unui singur furnizor.
Cordis a venit din ecosistemul chatbot Koishi și a fost construit de un dezvoltator cunoscut ca Shigma; DeepSeek îl distribuie și îl extinde. Autorii descriu designul în lucrarea lor numită A Programming Paradigm for Spatiotemporal Composability.
Aceste elemente de bază conduc la sloganul principal al proiectului și două termene Cordis. Numele sună academic, dar comportamentul este destul de simplu.
„Totul este un plugin”
Documentația arhitecturii DeepSeek spune că extinzi dsh montând un plugin alături de celelalte. Adaptori de model, unelte, sesiuni, sandboxuri, stocare, planificare, bucla agentului și interfața sunt toate pluginuri.
Luate literal, sloganul merge prea departe. Cordis stă totuși sub pluginuri. Le încarcă și le elimină, verifică de ce au nevoie și rulează evenimentele pe care le folosesc ca să comunice. Cordis este necesar, nu încă o piesă opțională.
Compozabilitatea spațială gestionează dependențele pluginurilor
Un plugin declară serviciile de care are nevoie fără a cere o secvență de pornire scrisă manual. Se activează când acele servicii există și se dezactivează dacă un serviciu necesar dispare. Dependențele îi decid când poate rula.
DeepSeek numește asta compozabilitate spațială. Dependențele îi spun lui Cordis unde se potrivește o componentă, astfel încât dezvoltatorii să nu trebuiască să aranjeze manual ordinea de pornire.
Compozabilitatea temporală inversează efectele pluginurilor
Cordis urmărește și înregistrări precum ascultători de evenimente, secțiuni de prompt și scheme de unelte. Eliminarea unui plugin elimină acele efecte în loc să lase ascultători orfani. Asta nu anulează o acțiune externă precum o comandă de shell; reversibilitatea se aplică doar efectelor pe care Cordis le urmărește.
Arhitectura DeepSeek Harness: cum se îmbină runtime-ul
O instanță în execuție este un arbore de pluginuri construit din setări încărcate într-o ordine stabilită. Aceste setări determină ce părți sunt active.

Cordis conectează fiecare plugin de runtime înlocuibil. Imagine de autor.
Serviciile Cordis lasă pluginurile să se găsească între ele
Cordis oferă un registru comun de servicii. Pluginurile folosesc chei stabile precum ctx.tools, ctx.llm și ctx.sessions în loc să importe codul unui furnizor. O unealtă care apelează ctx.llm nu trebuie să știe ce adaptor de model este în spatele lui.
Presetările agentului și profilurile de runtime controlează straturi diferite
Dacă totul e înlocuibil, ceva tot trebuie să decidă ce se montează pentru o anumită rulare, iar DeepSeek Harness răspunde la asta la două straturi ușor de confundat.
Pe scurt: un profil controlează cum pornește programul, în timp ce o presetare controlează ce poate face agentul. Dacă folosești doar aplicația web, poți să sari peste următoarele două subsecțiuni.
Profiluri de runtime
Un profil de runtime (web, headless, sdk, sdk-minimal și acp sunt livrate ca șabloane) decide cum se lansează aplicația și care pachete de pluginuri Cordis sunt stivuite la boot. Majoritatea cititorilor vor atinge acest strat doar rulând dsh web sau o comandă similară.
Presetări de agent
O presetare de agent (Standard, PTC, Minimal sau Creator) decide ce poate folosi o sesiune activă. Un fișier patch poate schimba presetarea fără a atinge sursa Harness.
Bucla agentului coordonează turele, pașii și apelurile de unelte
DeepSeek distinge un pas de o tură. Un pas este o solicitare de model plus apelurile ei de unelte. O tură înseamnă zero sau mai mulți pași: se deschide înainte ca prima intrare să fie preluată și se închide odată ce nu se mai datorează nimic. Majoritatea tururilor rulează mai mulți pași înainte ca agentul să poată răspunde, dar o intrare respinsă închide o tură care nu a consumat pași.

O tură poate conține mai mulți pași. Imagine de autor.
Sesiunile folosesc un jurnal de evenimente doar-adăugare
Aceasta este partea pe care o consider cea mai importantă. O sesiune este un jurnal doar-adăugare de evenimente tipizate, nu un array de mesaje de chat. Harness construiește istoricul modelului din acel jurnal, iar documentația sesiunilor cere ca orice e trimis modelului să poată fi recuperat din el.
Reluarea, ramificarea, căutarea, redarea și vizualizarea Trajectory se bazează toate pe acel flux de evenimente.
Re-derivarea istoricului nu este o re-rulare deterministă. Ieșirea modelului și starea externă pot diferi, dar jurnalul oferă totuși o înregistrare inspectabilă a ceea ce s-a întâmplat.

Istoricul sesiunii este un jurnal doar-adăugare. Imagine de autor.
Cum controlează DeepSeek Harness uneltele și sandboxurile
Un model poate solicita o unealtă după nume, dar nu i se permite să o ruleze direct. Două controale separate stau între cerere și o modificare a sistemului de fișiere.
Conducta de execuție a uneltei
Apelul trece printr-o verificare de politici, execuție și tratarea rezultatului. Modelul alege unealta; runtime-ul decide dacă și cum rulează.

Runtime-ul decide cum rulează uneltele. Imagine de autor.
Sandboxing versus aprobări
- Aprobarea întreabă dacă utilizatorul ar trebui să confirme o acțiune.
- Sandboxingul limitează unde și cum se execută.
DeepSeek le păstrează separate, deși presetările de permisiuni pachetează ambele controale, la fel cum un runtime de containere separă permisiunile de proces de limitele de execuție.
Merită semnalat acum, pentru că voi reveni la asta în secțiunea de limitări: a spune unui model în promptul de sistem să „citească doar fișierele” este o sugestie pe care o poate urma, nu o limită impusă ca o restricție de sandbox la nivel de OS.
Modurile DeepSeek Harness: Standard, PTC, Minimal și Creator
DeepSeek Harness oferă patru moduri diferite. Niciunul nu e „deasupra” celorlalte. Sunt patru răspunsuri la „cât din runtime ar trebui expus acestei sesiuni”, iar cel potrivit depinde de sarcină. După cum a arătat secțiunea de arhitectură, fiecare mod schimbă setul de unelte disponibile agentului.

Patru moduri împart aceeași bază de runtime. Imagine de autor.
Modul Standard
Baza cu scop general:
- Editare de fișiere
- Acces la shell
- Căutare în fișiere și pe web
- Skills
- Planificare
- Obiective
- Subagenți
- Workflows
Pentru munca obișnuită într-un repository, de aici aș începe.
Modul PTC
Modul PTC păstrează aproape tot setul de unelte al Standardului, dar schimbă modul în care modelul ajunge la ele. (Începând cu versiunea 0.1.2, modul Web PTC nu mai expune implicit unealta generalistă workflow.)
În loc să solicite unelte individuale în mai mulți pași de model, modelul scrie un program împotriva unui SDK generat. Acel program poate apela mai multe unelte prin run_code. Fiecare apel trece tot prin aceleași verificări de politici, deci PTC schimbă cum își exprimă modelul planul, nu ce are voie să facă.
Pagina de produs încă folosește eticheta „Code mode”, dar o versiune oficială mai nouă l-a redenumit în modul PTC, păstrând lizibile înregistrările vechi de conversații. Voi folosi peste tot „modul PTC”; întrebările frecvente revin la ce pot însemna inițialele.
Modul Minimal
Modul Minimal reduce mediul la două unelte: un shell persistent și un editor de fișiere cu înlocuire de string. DeepSeek îl folosește pentru benchmark-uri de model pentru că rezultatele testelor depind parțial de harness-ul modelului, nu doar de greutățile lui.
Modul Creator
Modul Creator le permite dezvoltatorilor să inspecteze runtime-ul și să testeze pluginuri Cordis în memorie. Este pentru construirea de presetări și nu l-aș numi auto-îmbunătățitor într-un sens mai profund.
Ce face DeepSeek Harness diferit de alte frameworkuri pentru agenți?
DeepSeek Harness diferă de multe frameworkuri pentru agenți prin faptul că face părțile de jos ale runtime-ului înlocuibile. Aproape că am inclus asta în secțiunea de arhitectură, dar distincția e ușor de ratat. Cordis gestionează acele schimbări printr-un singur sistem de pluginuri.
Poți schimba cum operează agentul, nu doar uneltele pe care le poate apela. Jurnalul de evenimente face, de asemenea, o rulare pe care dezvoltatorii o pot inspecta, nu doar să o citească drept transcriere de chat. Modurile Minimal și Creator le permit apoi să testeze runtime-ul din direcții opuse.
DeepSeek Harness vs. Claude Code, Codex și OpenCode
O listă de bifat pe funcții ar rata esența. Fiecare competitor acceptă extensii; întrebarea utilă este ce părți pot schimba dezvoltatorii. Distincția sună mică, dar nu este. Comparația noastră dedicată Harness versus Claude Code folosește același model în ambele și acoperă configurarea, jurnalele și costul.
DeepSeek Harness vs. Claude Code
Claude Code acceptă instrucțiuni de proiect, abilități, hooks, MCP, subagenți și un Agent SDK, și își păstrează bucla încorporată fixă. DeepSeek Harness le permite dezvoltatorilor să înlocuiască bucla, adaptorul de model și stratul de stocare prin setări.
DeepSeek Harness vs. Codex
Codex necesită o comparație mai atentă pentru că CLI-ul și App Serverul sunt și ele open-source. Oferă un agent harness pe care dezvoltatorii îl extind prin puncte de intrare documentate. DeepSeek Harness este construit în jurul schimbării runtime-ului în sine. Oferă niveluri diferite de control.
DeepSeek Harness vs. OpenCode
OpenCode este deja open-source, funcționează cu mai mulți furnizori de modele și folosește o arhitectură client-server. Îi poți configura uneltele, permisiunile, sesiunile și furnizorii. Pluginurile lui extind un nucleu de server fix, în timp ce DeepSeek face de asemenea bucla și stocarea sesiunilor înlocuibile.
Când să folosești DeepSeek Harness
Înlocuirea părților de runtime nu este utilă de una singură. Controlul suplimentar contează doar când rezolvă o problemă pe care o ai deja.
- Când runtime-ul în sine face parte din proiect. Dacă modifici adaptori de model, bucla agentului, stocarea sau comportamentul sesiunilor, nu doar construiești deasupra unui agent, acesta este potrivirea mai directă.
- Când compari modele într-un mediu controlat. Folosirea aceluiași runtime păstrează mai mult din test fix atunci când schimbi modelul, deși modelele pot totuși să difere în folosirea uneltelor și stilul de raționament.
- Când contează depanarea unei rulări complexe. Jurnalul de evenimente al sesiunii și vizualizarea Trajectory fac mai ușoară reconstrucția a ceea ce a văzut modelul și ce unelte au rulat.
- Când testezi internals-urile agentului. Modul Creator și Cordis sunt pentru dezvoltatori care studiază cum sunt alcătuiți agenții, mai mult decât pentru cei care au nevoie doar să li se scrie cod de aplicație.
Poate fi inutil pentru apeluri simple de model sau pentru echipe care își doresc un agent de coding gata de folosit fără să fie nevoie să-i atingă interiorul. Înlocuirea a mai multor părți merită munca suplimentară doar când acel control rezolvă o problemă reală.
Limitările DeepSeek Harness: statut de preview pentru dezvoltatori și riscuri de securitate
Nimic din arhitectura de mai sus nu contează prea mult fără o relatare clară a punctelor slabe de azi.
Încă este un preview pentru dezvoltatori
Repository-ul DeepSeek afirmă clar că vor exista schimbări rupătoare. S-a întâmplat deja: redenumirea din Code în PTC a venit cu modificări la API-urile sesiunilor și eliminarea unei opțiuni opționale de stocare SQLite. Blochează-ți versiunile. A sări peste acest pas și a spera că setup-ul rămâne stabil nu este un plan.
Mai mult control înseamnă și mai multă complexitate
A face mai mult din runtime înlocuibil le dă, de asemenea, dezvoltatorilor mai multe de învățat: dependențe de pluginuri, setări, diferențe între furnizori și compatibilitate de versiuni. Este schimbul obișnuit între comoditate și control.
Este DeepSeek Harness local?
DeepSeek Harness stochează conținutul sesiunilor, înregistrările uneltelor și setările local în mod implicit, conform declarației sale de procesare a datelor. Poți dezactiva rapoartele anonime despre setări și liste de proiecte.
Dar un furnizor extern de model, o unealtă web, un server MCP sau un plugin poate totuși trimite date în afara mașinii tale conform politicii proprii. „Local-first” nu acoperă fiecare serviciu la care te conectezi.
Rularea agenților aduce riscuri de securitate
Un runtime care poate edita fișiere, rula comenzi și încărca pluginuri terțe poate cauza daune reale. Nota de siguranță a DeepSeek spune că proiectul nu a avut un audit de securitate. Sandboxingul, aprobările și controalele de permisiuni reduc riscul, dar nu garantează izolare.
A rula software-ul pe propria mașină nu elimină acest risc. Folosește permisiuni limitate și un mediu de unică folosință pentru munca neîncredințată și fii atent la conținutul care poate conține instrucțiuni ascunse.
De ce comportamentul agentului depinde de mai mult decât de model
Comportamentul agentului depinde de runtime precum și de model. Asta revine la „Agent = Model + Harness”, iar aceeași separare se aplică agenților LLM dincolo de DeepSeek.
Ce poate produce un model depinde de greutățile lui. Ce face un agent depinde și de ce context ajunge la model, ce acțiuni are voie să întreprindă și cât de strâns este constrânsă execuția. Nimic din toate acestea nu trăiește în greutăți.
DeepSeek Harness arată acel strat din jur despărțindu-l în părți denumite pe care dezvoltatorii le pot înlocui. Modul Minimal arată de ce asta contează dincolo de DeepSeek: un scor de benchmark reflectă parțial harness-ul folosit pentru test, nu doar modelul. Harness-ul nu face un model mai inteligent. Schimbă mediul în care modelul lucrează.
Concluzie
Ideea din deschidere este cea de păstrat: modelul raționează, dar runtime-ul decide la ce poate ajunge acel raționament și ce poate face. DeepSeek Harness face acel runtime editabil, de la adaptorul de model și unelte la stocarea sesiunilor și bucla agentului.
Acest control creează costul. Înlocuirea mai multor părți ale runtime-ului înseamnă să-ți asumi mai mult din configurarea lui, schimbările de versiuni și limitele de securitate. Un preview pentru dezvoltatori cu acces la shell nu e ceva de instalat și uitat.
Punctul meu de vedere e simplu: folosește DeepSeek Harness când runtime-ul în sine face parte din muncă. Dacă ai nevoie doar de editări într-un repository, un agent de coding gata făcut îți cere mai puțin.
Tutorialul nostru DeepSeek Harness acoperă configurarea. Ghidul de alternative la Claude Code compară mai mulți agenți de coding, iar Introduction to AI Agents acoperă elementele de bază pe care acest articol le presupune.
Întrebări frecvente despre DeepSeek Harness
DeepSeek Harness este același lucru cu un model DeepSeek?
Nu, modelul și runtime-ul sunt separate. Harness nu include greutăți de model și nu rulează inferența singur; trimite cereri către DeepSeek, Anthropic, OpenAI sau un model local.
Este DeepSeek Harness gratuit de folosit?
Software-ul în sine are licență MIT și este gratuit. Ce nu este gratuit este orice furnizor de model la care te conectezi, deoarece inferența este facturată separat de către cine rulează acel model, plus orice cost de infrastructură din sandboxuri sau servicii externe pe care le adaugi peste.
Ce înseamnă de fapt modul PTC?
Notițele de lansare ale DeepSeek folosesc „modul PTC” fără a detalia o extindere fixă, deși comportamentul se aliniază cu „apelare programatică a uneltelor”. Aș trata asta ca o definiție de lucru, nu un acronim confirmat, până când DeepSeek va preciza unul direct.
Pot avea încredere în DeepSeek Harness pentru un repository important pentru mine?
Se aplică în continuare unele limitări. Pentru un repository la care ții, lucrează pe o copie sau pe un branch separat, ține credențialele de producție în afara mediului și verifică fiecare plugin înainte de a-l încărca.
Faptul că „totul este un plugin” înseamnă că îl pot transforma în orice fel de agent doresc?
Nu fără muncă reală de inginerie. Înlocuirea adaptorului de model sau a buclei agentului necesită în continuare un plugin care respectă contractul de servicii corespunzător. Sistemul de pluginuri îți oferă acces la mai multe părți; nu face munca să dispară.