154,302 stelle. Ogni recensione che ho letto mi diceva le stesse tre cose: tutto è un plugin, il log delle sessioni è append-only, ed è un'anteprima per sviluppatori.
Nessuna mi ha detto quanto disco consuma. O quanta RAM tiene una sessione inattiva. O cosa succede quando lo si punta a un endpoint che non è quello di DeepSeek.
Così l'ho installato e gli ho dato un compito, tre volte: costruire un tracker ISS live in un singolo file HTML autonomo. Tre diverse configurazioni di provider, stesso prompt, stesso modello. Tutti e tre hanno finito. Tutti e tre hanno stampato un sicuro "Fatto" con un elenco puntato di tutto ciò che avevano presuntamente verificato.
Poi ho aperto le tre pagine in un browser. Due erano rotte.
Punti chiave
npm install @deepseek-ai/dshha tirato giù 531 pacchetti e 306 MB su macOS. Non 1,5 GB, ma neanche piccolo, e il pacchettodshstesso è 172 KB di quel totale.- Il server web dsh è rimasto in idle a 35-40 MB RSS con una sessione live aperta, dopo aver raggiunto un picco di circa 212 MB all'avvio. La cifra di 500 MB che la gente cita non è il processo del server.
- La vista Trajectory è la vera novità di questo rilascio. È un semplice flusso di eventi JSONL append-only su disco, ed è ciò che mi ha permesso di diagnosticare il problema di configurazione in minuti invece che ore.
- Due righe YAML (
compat.thinkingFormate unmaxTokensreale) hanno fatto passare lo stesso compito da un'esecuzione di 36 passaggi e 422 secondi a una di 15 passaggi e 152 secondi. Nessuna delle due righe è presente nel sito della documentazione. - Ogni esecuzione ha riportato successo. Solo una ha prodotto una pagina con zero errori in console. Leggi l'output, non il riepilogo.
- È un'anteprima per sviluppatori, e il README lo dice in lettere maiuscole. Pilota controllato, sì. Piano di controllo per produzione, no.
Ecco l'intero articolo in un'unica immagine. Due pagine del tracker ISS, stesso prompt, stesso modello, una differenza di configurazione. A sinistra l'esecuzione che ho ottimizzato. A destra quella che non ho ottimizzato.

Confronto affiancato di due pagine del tracker ISS costruite da DeepSeek Harness, a sinistra con una mappa mondiale distorta e un badge bloccato, a destra renderizzata correttamente con un indicatore live
Sinistra: l'esecuzione ottimizzata, 152 secondi, quindici percorsi SVG malformati e un badge bloccato su "Stale". Destra: l'esecuzione ingenua, 422 secondi, zero errori in console. Entrambe hanno riportato "Fatto".
Perché Ogni Recensione di DeepSeek Harness Dice le Stesse Tre Cose
Il repository è stato pubblicato il 13 agosto e quando ho iniziato a scrivere aveva 154.302 stelle e 15.960 fork sotto licenza MIT (GitHub, agosto 2026). A quella velocità, la maggior parte della copertura è una lettura del README, perché non c'è stato tempo per altro.
Quindi il panorama delle recensioni esistenti di DeepSeek Harness si divide in tre gruppi, e tutti e tre hanno lo stesso buco. Gli articoli di audit del codice sorgente analizzano le giunture dei plugin e non eseguono mai un benchmark. Gli articoli sui dati confrontano i conteggi dei token e saltano esplicitamente la dimensione dell'installazione e la memoria. I pezzi per l'approvvigionamento aziendale arrivano a un verdetto con quasi nessun numero misurato al loro interno.
Nessuno lo ha installato, eseguito un compito dall'inizio alla fine, e poi aperto il risultato.
Nel frattempo, la critica più acuta non era in nessuna recensione. Erano due commenti nel thread di lancio, che hanno raccolto 737 punti e 309 commenti in quattro giorni.

Due commenti testuali di Hacker News sulla dimensione di installazione e l'uso di memoria in idle di DeepSeek Harness
I due reclami che questa recensione cerca effettivamente di verificare, citati testualmente dal thread di lancio.
Utente Kuyawa: "47mb scaricati, 1.5gb dopo build, che cavolo?" e, in una modifica, "35 dipendenze compongono 1.4gb, a cosa servono?" Utente eglintondust, in un sottothread sul carico della CPU: "L'uso della memoria è decisamente fuori controllo, ho una sessione inattiva in questo momento che consuma 500MB" (Hacker News, agosto 2026).
Questi sono i due numeri che volevo verificare per primi, perché sono i due che decidono se questa cosa vive sul tuo laptop. Entrambi si sono rivelati più complicati di quanto suggeriscano le citazioni, e uno di essi misura qualcosa di diverso da ciò che la gente presume. Se hai bisogno del manuale di architettura prima che tutto questo abbia senso, quello è un articolo diverso: cosa è effettivamente DeepSeek Harness.
Come Ho Impostato Questa Recensione di DeepSeek Harness: Un Compito, Un Endpoint
La configurazione è volutamente noiosa in modo che la variabile sia la configurazione, non il compito.
Il compito. Costruire un tracker ISS live in un singolo index.html autonomo. Richiede un'API esterna, un rendering di mappa, un ciclo di polling e la gestione degli errori, quindi forza un vero ciclo di strumenti multi-passaggio invece di un dump di codice una tantum. E, cosa cruciale, posso aprire il risultato e vedere immediatamente se funziona.
Il modello. deepseek-ai/deepseek-v4-flash-0731, lo stesso modello in tutte e tre le esecuzioni, quindi nulla nel confronto è una differenza di modello.
L'endpoint. Questa è la parte che la gente salta. Harness non spedisce alcun modello. Necessita di un URL di base compatibile con OpenAI e di una chiave, punto e basta, e la superficie di configurazione per questo è da dove provengono tutti e tre i miei problemi. L'ho eseguito contro un endpoint ospitato compatibile con OpenAI con prezzi piatti DeepSeek e nessun supplemento per le ore di punta, il che è importante quando stai per eseguire lo stesso compito ripetutamente e vuoi che il conto sia comparabile tra le esecuzioni. Qualsiasi endpoint compatibile funziona allo stesso modo.
| Endpoint | Protocollo | GET /models | Forma di fatturazione | V4 1M-contesto |
|---|---|---|---|---|
| API di prima parte DeepSeek | openai-completions | Sì | Divisione picco e fuori picco, 01:00-04:00 e 06:00-10:00 UTC sono picco, fuori picco è la metà (Documentazione API DeepSeek, agosto 2026) | Sì |
| Atlas Cloud | openai-completions | Sì, ha restituito 200 con 135 modelli quando ho controllato | Piatto per token, nessun supplemento di picco | Sì, $0,14 in / $0,28 out per 1M su V4 Flash |
| Ollama locale | openai-completions | Sì | Gratuito, anche se la ricerca web integrata necessita ancora del cloud Ollama | Dipende dal modello locale |
Una nota onesta su quella riga centrale, perché mi ha morso più tardi: restituisce {"code":200,"msg":"succeed","data":[...]} piuttosto che l'involucro standard OpenAI {"object":"list","data":[...]}. L'array data è lì, quindi un client indulgente è a posto, ma non dare per scontato che ogni endpoint "compatibile con OpenAI" sia identico byte per byte alla specifica.
I prezzi sono stati letti dalla pagina del modello V4 Flash il 18 agosto 2026. Nessun badge di sconto su nessun modello DeepSeek in questo momento, quindi nulla qui è una tariffa a tempo limitato.
Passo 1: Installare DeepSeek Harness e Misurare Quanto Costa Effettivamente
Tutto da qui è riproducibile su macOS con Node 22.19+ o 24+ (non c'è supporto 23.x, e molte guide sbagliano questo punto). Ho usato Node v24.15.0 e @deepseek-ai/[email protected].
Inizia con l'avvio rapido, che è un comando:
bash1node -v # ^22.19.0 || >=24, non 23.x 2npx @deepseek-ai/dsh web # Interfaccia web su http://127.0.0.1:3080
Per ottenere un numero che puoi effettivamente confrontare con l'affermazione di 1,5 GB, installalo in una directory pulita e misura invece:
bash1mkdir dsh-size && cd dsh-size && npm init -y 2npm install @deepseek-ai/dsh 3du -sh node_modules 4du -sh node_modules/* | sort -h | tail -8 # dove risiede il peso
Ecco cosa ha prodotto sulla mia macchina:
text1added 531 packages in 2m 2306M node_modules 3255 voci di primo livello in node_modules 4172K node_modules/@deepseek-ai/dsh <- il pacchetto stesso 5 6 13M node_modules/@shikijs 7 13M node_modules/openai 8 14M node_modules/@google/genai 9 17M node_modules/@img/sharp-libvips-darwin-arm64 10 24M node_modules/@mistralai/mistralai 11 26M node_modules/node-pty 12 27M node_modules/@deepseek-ai 13 34M node_modules/@opentelemetry
Quindi: 306 MB, non 1,5 GB. La cifra di 1,5 GB in quel commento di Hacker News è una build completa del sorgente, che trascina dipendenze di sviluppo e output di build nell'intero monorepo. L'installazione runtime è un quinto di quella.
Detto questo, 306 MB per un agente di coding è ancora tanto, e la ripartizione spiega esattamente perché le persone sono infastidite. Stai installando tre SDK di vendor che potresti non chiamare mai (openai, @google/genai, @mistralai/mistralai arrivano a 51 MB insieme), un intero albero OpenTelemetry, un binario nativo sharp e un evidenziatore di sintassi. "Tutto è un plugin" ha un costo di spedizione, e in questo momento lo paghi tutto in anticipo, indipendentemente dal fatto che tu usi o meno quelle rotte.
Per la memoria in idle, avvia il profilo web, apri una sessione, lasciala in pace e leggi RSS:
bash1npx @deepseek-ai/dsh web --port 3099 2# poi, in un'altra shell: 3ps -o pid,rss,command -p $(pgrep -f "dsh web")
Campionato una volta al minuto per cinque minuti con una sessione live aperta e nessun compito in esecuzione:
text1t+0s 101.8 MB (subito dopo l'apertura della sessione) 2t+60s 37.0 MB 3t+120s 39.8 MB 4t+180s 38.8 MB 5t+240s 35.8 MB 6t+300s 35.0 MB
Ha toccato circa 212 MB durante l'avvio, si è stabilizzato a ~102 MB quando l'interfaccia si è connessa, poi il garbage collector lo ha portato giù alla fascia 35-40 MB e lì è rimasto. Non è "fuori controllo".
Ma eglintondust non ha necessariamente torto, e questa è la parte che vale la pena capire: il profilo web dsh è un server locale più una scheda del browser. I 35 MB sono il server. L'interfaccia è un'applicazione web completa nel tuo browser, e quella memoria è addebitata a Chrome, non a dsh. Se stai osservando una sessione inattiva da 500 MB in Activity Monitor, controlla a quale processo è attribuita prima di aprire un bug. I dettagli completi dell'installazione sono nel walkthrough di installazione in 10 minuti.

Output terminale reale che mostra l'impronta di installazione e le misurazioni di memoria in idle di DeepSeek Harness
Le misurazioni effettive, con i comandi visibili. 306 MB installati, 35 MB in idle.
Passo 2: Puntare DeepSeek Harness al Proprio Endpoint
Nell'interfaccia questo è Settings poi Models poi Add a custom provider: ID provider, URL di base, protocollo, chiave, elenco modelli. Puoi anche scriverlo direttamente in $DSH_HOME/settings.yaml (default ~/.dsh/settings.yaml), che è quello che ho fatto io, perché la versione su file è ciò che puoi confrontare tra esecuzioni.
Le sezioni in quel file sono indicate dall'ID del plugin, il che non è ovvio la prima volta. Il dizionario del provider appartiene a llm-pi-ai, e la selezione del modello predefinita appartiene a agent-default-model:
yaml1llm-pi-ai: 2 providers: 3 atlas: 4 displayName: Atlas Cloud 5 api: openai-completions 6 baseURL: https://api.atlascloud.ai/v1 7 apiKeyEnv: ATLAS_API_KEY 8 models: 9 - id: deepseek-ai/deepseek-v4-flash-0731 10 11agent-default-model: 12 provider: atlas 13 model: deepseek-ai/deepseek-v4-flash-0731
Questa è la configurazione ingenua, ed è quella con cui ho iniziato. Funziona. Prendi una chiave dalla console Atlas, export ATLAS_API_KEY=..., e l'esecuzione va a buon fine. Nota che apiKeyEnv è un riferimento, non il segreto, quindi nessuna chiave finisce mai in questo file.
Un dettaglio dall'interfaccia che è facile da perdere e genuinamente buono: quando la chiave proviene dall'ambiente, il campo della chiave API viene visualizzato come Provided by the launch environment (read-only). Il punto verde accanto al provider significa che la rotta si è risolta. Il punto rosso accanto al provider DeepSeek integrato significa che non ha credenziali. Questo è un controllo di integrità in due secondi che non devi andare a cercare.
Due cose su questa configurazione sono silenziosamente sbagliate, comunque, e non le ho scoperte fino a quando non ho confrontato le traiettorie. Tieni questo pensiero fino al Passo 4.

La pagina Modelli delle Impostazioni di DeepSeek Harness che mostra un provider personalizzato compatibile con OpenAI chiamato Atlas Cloud con un punto di stato verde e la sua chiave API fornita in sola lettura dall'ambiente di lancio
Impostazioni, Modelli, provider personalizzato. Punto verde significa che la rotta si è risolta; il provider DeepSeek integrato sopra è rosso perché non ha chiave.
Passo 3: Le Tre Esecuzioni della Recensione di DeepSeek Harness, Affiancate
Stesso prompt ogni volta. Incolla questo testualmente se vuoi riprodurlo:
text1Costruisci un tracker ISS a pagina singola in un unico index.html autonomo. 2 3Requisiti: 4- Recupera la posizione ISS da https://api.wheretheiss.at/v1/satellites/25544 ogni 5 secondi. 5- Renderizza una mappa mondiale con un indicatore alla lat/lon corrente, più una scia dissolvente delle ultime 60 posizioni. 6- Mostra altitudine (km), velocità (km/h) e la lat/lon corrente in un pannello leggibile. 7- Nessun passaggio di build, nessun npm install, nessuna chiave API. Solo Vanilla JS + CSS inline. 8- Gestisci i fallimenti di fetch senza rompere la pagina: mantieni l'ultima posizione conosciuta e mostra un badge "stale". 9- Scrivi il file, poi segnala completato.
Eseguilo in modalità headless così il transcript è pulito:
bash1export DSH_HOME=$PWD/dsh-home 2export ATLAS_API_KEY=<your key> 3dsh --profile headless "<il prompt sopra>"
Tre configurazioni:
- Esecuzione A, quella ottimizzata:
compat.thinkingFormat: deepseek,contextWindow: 1048576,maxTokens: 131072. - Esecuzione B, quella ingenua del Passo 2: la voce del modello non è altro che
id. - Esecuzione C, l'errore plausibile: uguale a A ma con
maxTokens: 4096, un numero che ho preso direttamente dall'esempio del README dell'adattatore stesso.
Tutte e tre hanno terminato con codice 0. Tutte e tre hanno scritto un index.html. Tutte e tre hanno stampato un riepilogo che affermava la verifica. Il riepilogo di C si vantava persino di auto-riparazione: "Un paio di bug che ho catturato e corretto durante la build: una variabile non definita nella dissolvenza della scia, logica errata dei suffissi N/S-E/W..."
Poi ho aperto tutti e tre i file in un browser reale con la console aperta, e li ho lasciati fare polling per due cicli.
| Esecuzione A (ottimizzata) | Esecuzione B (ingenua) | Esecuzione C (maxTokens: 4096) | |
|---|---|---|---|
| Tempo reale | 152,7 s | 422,5 s | 50,2 s |
| Passaggi | 15 | 36 | 8 |
| Chiamate strumenti | 14 | 35 | 7 |
| Mix di strumenti | 6 edit, 4 read, 2 bash | 19 bash, 8 read, 3 grep | 4 edit, 1 write, 1 bash |
| Dimensione file scritta | 19.569 B | 10.812 B | 11.326 B |
| Errori console al caricamento | 15 | 0 | 12 |
| Cosa era rotto | ogni percorso dei continenti malformato, nessun indicatore ISS, badge "Stale" bloccato per sempre | nulla | cerchi della scia tutti cx="NaN", indicatore parcheggiato a 0,0, latitudine stampata come -34.76° S |
Rileggi quella tabella. L'esecuzione più veloce e quella che avevo accuratamente ottimizzato hanno entrambe spedito pagine rotte. L'esecuzione lenta, ingenua, più costosa è l'unica che ha funzionato.
Il fallimento dell'esecuzione A è quello istruttivo. Il pannello di telemetria era perfetto: 431 km di altitudine, 27.547 km/h, lat/lon corretti, aggiornamento in tempo reale. La mappa sottostante era una macchia verde, perché tutti e quindici i percorsi dei continenti terminavano con una L vagante senza coordinate ("... L48.0 624.0 L Z"). E il badge diceva "Stale, keeping last position" con "Last update: -" mentre tre fetch riusciti erano nella scheda di rete. Ha ottenuto la parte difficile giusta e quella visibile sbagliata.
Il motivo è seduto nel suo stesso log di ragionamento, al passo 12, nelle sue stesse parole: aveva cancellato una variabile che il suo costruttore di mappe stava ancora usando, se ne è accorto, e ha continuato comunque. Quel tipo di regressione auto-inflitta a fine esecuzione è esattamente ciò per cui una traiettoria append-only è utile, che è il passo successivo.
L'esecuzione C è più divertente e peggiore. Ha dichiarato di aver corretto il bug della dissolvenza della scia e la logica dei suffissi N/S. La scia è esattamente ciò che è rotto (dodici cerchi NaN, nessuna scia renderizzata), e l'etichetta della latitudine legge -34.76° S, che è doppio segno. Non ha risolto nessuna delle due cose che ha detto di aver risolto, e ha verificato il suo lavoro con node --check, che analizza la sintassi JavaScript e non sa nulla se un percorso SVG è legale.

La pagina del tracker ISS della terza esecuzione con una scia posizionata a NaN, un indicatore bloccato nell'angolo in alto a sinistra e un'etichetta di latitudine a doppio segno
Esecuzione C, l'esecuzione da 50 secondi: carina, live, e silenziosamente rotta nei due punti che aveva dichiarato di aver corretto.
Niente di tutto questo è realmente un bug di Harness. È un bug dell'agente di coding che Harness ha fedelmente eseguito e poi fedelmente riportato come successo. Il che ci porta all'unica parte di questo rilascio che mi ha genuinamente impressionato.
Passo 4: La Correzione di Due Righe, e la Vista Trajectory di DeepSeek Harness Che L'ha Trovata
L'esecuzione B che durava 2,8 volte più dell'esecuzione A non aveva senso per me. Stesso modello, stesso compito, e l'unica differenza erano poche righe di YAML. Così sono andato alla Trajectory.
La descrizione ufficiale è accurata, il che è più raro di quanto dovrebbe essere: "Tutto ciò che il modello vede è registrato in un log di sessione append-only: prompt di sistema, ragionamento, chiamate a strumenti e risultati, pianificazione dei sotto-agenti e ogni iniezione di contesto... Nella vista Trajectory, puoi ispezionare questi record per sorgente. Riprendi, fork, cerca e riproduci operano tutti sullo stesso flusso di eventi" (DeepSeek Harness, agosto 2026).
Non è marketing. Il flusso è un file reale:
bash1ls $DSH_HOME/sessions/<workspace>/session-<uuid>/session.jsonl.zstd
Un evento JSON per riga, con frame zstd, append-only. L'esecuzione A ha prodotto 606 eventi; l'esecuzione B ne ha prodotti 1.709. Filtra per sorgente nell'interfaccia, o semplicemente grep il file decodificato. I tipi di evento sono esattamente ciò che la frase sopra promette: turn/start, step/start, request/header, request/context, assistant/chunk, reasoning-chunks, tool-call-chunks, tool/call, tool/result, step/end, turn/end.
L'evento request/header è ciò che ha risolto il problema. Registra la configurazione effettivamente inviata in rete:
jsonc1// Esecuzione A 2{"config":{"provider":"atlas","model":"deepseek-ai/deepseek-v4-flash-0731","maxTokens":131072}, 3 "adapterDefaults":{"maxTokens":true}} 4 5// Esecuzione B 6{"config":{"provider":"atlas","model":"deepseek-ai/deepseek-v4-flash-0731"}}
L'esecuzione B non ha inviato alcun limite di output, e il suo ragionamento è esploso a 72.420 caratteri in 33 blocchi contro i 6.094 dell'esecuzione A in 9. È lì che sono andati i 270 secondi extra e i 44.170 token di output extra.
La causa è documentata, ma non sul sito della documentazione. È sepolta in packages/llm/llm-pi-ai/README.md: il dialetto di pensiero è indovinato dall'URL dell'endpoint. Nelle parole degli stessi manutentori, compat.thinkingFormat è qualcosa che "pi-ai indovina dall'URL dell'endpoint; l'URL di un gateway privato non dice nulla, quindi a un gateway con dialetto DeepSeek si parlerebbe nel dialetto OpenAI senza modo di correggerlo."
Il mio endpoint restituisce reasoning_content, l'ortografia DeepSeek. Il suo nome host non dice nulla al riguardo. Quindi nell'esecuzione B l'adattatore è caduto nel dialetto OpenAI, non ha potuto inviare un livello di pensiero, e il modello ha ragionato con il suo default su ognuna delle 36 chiamate. Separatamente, una voce di modello che dichiara solo id eredita i fallback di rotta defaultContextWindow: 262144 e defaultMaxTokens: 32768, quindi un modello da 1.048.576 token perde silenziosamente tre quarti della sua finestra.
Entrambi sono due righe:
yaml1llm-pi-ai: 2 providers: 3 atlas: 4 api: openai-completions # compat.* esiste SOLO sotto questo protocollo 5 baseURL: https://api.atlascloud.ai/v1 6 apiKeyEnv: ATLAS_API_KEY 7 compat: 8 thinkingFormat: deepseek # smetti di indovinare dall'URL 9 supportsReasoningEffort: true 10 models: 11 - id: deepseek-ai/deepseek-v4-flash-0731 12 contextWindow: 1048576 # sovrascrivi il fallback 262.144 13 maxTokens: 131072 # lascia spazio reale al ragionamento 14
Due cose da tenere a mente. L'ordine di risoluzione è modello, poi rotta, poi la voce del catalogo installato, poi l'indovinello URL di pi-ai, quindi un valore a livello di modello vince. E compat.* esiste solo sotto api: openai-completions; metterlo altrove e la risoluzione fallisce completamente. L'adattatore inoltre non supporta deliberatamente Bedrock, Vertex, Azure o Codex, perché la loro autenticazione richiede più di una chiave, un endpoint e intestazioni.
Imposta questo, e la configurazione di rete dell'esecuzione A è corretta, il suo conto di token scende di 3,5x, e spedisce comunque una mappa rotta. Che è il riepilogo onesto di tutto questo esercizio: la correzione della configurazione è reale, e corregge il conto, non la revisione del codice che devi ancora fare tu stesso.

Il flusso di eventi di sessione append-only da un'esecuzione reale di DeepSeek Harness, con conteggi degli eventi e l'intestazione della richiesta che ha rivelato il problema di configurazione
Il flusso di eventi Trajectory dell'esecuzione A: 606 eventi, e quello che ha esposto il limite di output mancante.
Quanto È Costata Questa Recensione di DeepSeek Harness, e Se È Pronta per la Produzione
Tre esecuzioni complete dell'agente su un compito non banale, direttamente dalle traiettorie, alla tariffa piatta di $0,14 in / $0,28 out per 1M:
| Esecuzione A | Esecuzione B | Esecuzione C | Totale | |
|---|---|---|---|---|
| Chiamate LLM | 15 | 36 | 8 | 59 |
| Token di input non memorizzati nella cache | 38.452 | 109.408 | 20.781 | 168.641 |
| Token di output | 12.740 | 56.910 | 6.969 | 76.619 |
| Token letti dalla cache | 280.832 | 2.150.144 | 108.800 | 2.539.776 |
| Quota di cache del prompt | 88,0% | 95,2% | 84,0% | 93,8% |
| Input non memorizzato in cache + output | $0,0090 | $0,0313 | $0,0049 | $0,0452 |
| Se ogni token in cache fosse fatturato a tariffa piena di input | $0,0483 | $0,3323 | $0,0201 | $0,4007 |
Due cose che vale la pena estrarre da quella tabella. Primo, i numeri della cache sono reali e l'endpoint li riporta: il 93,8% di tutti i token del prompt nelle tre esecuzioni sono tornati come letture della cache, il che è ciò che rende un ciclo di agente accessibile. Secondo, l'esecuzione mal configurata è costata 3,5 volte quella ottimizzata per un compito di dimensione identica. Questo è il prezzo effettivo delle due righe YAML.
Nota la forma della prima chiamata in ogni esecuzione: circa 11.000 token di input prima che l'agente abbia fatto qualsiasi cosa. Questo è il prompt di sistema, gli schemi degli strumenti e il catalogo delle abilità che "tutto è un plugin" implica, e lo paghi su ogni nuova sessione. È il motivo per cui il tasso di hit della cache è più importante su questo harness che su uno più snello, e perché un'esecuzione in modalità Minimal (bash più un editor di file) vale la pena provare se il tuo compito non ha bisogno del set completo di strumenti.
Quindi puoi metterlo in produzione? No, e il progetto è d'accordo con te. Le parole del README: "DeepSeek Harness è attualmente in anteprima per sviluppatori e sta iterando rapidamente. CI SARANNO CAMBIAMENTI CHE ROMPONO LA COMPATIBILITÀ." L'interfaccia web si apre con un modale che dice "DeepSeek Harness 0.1 rimane in fase di test per gli sviluppatori di Harness." La licenza MIT significa che puoi fare ciò che vuoi con esso; non significa che l'API contro cui costruisci esisterà il mese prossimo.
| Chi sei | Verdetto | Perché |
|---|---|---|
| Sviluppatore individuale che vuole solo spedire codice oggi | Salta per ora | Due delle mie tre esecuzioni hanno spedito output rotto con un sicuro "fatto". Passerai il tuo tempo sull'harness, non sul lavoro. |
| Team di infrastruttura che vuole modificare il ciclo dell'agente stesso | Fai un pilota | Questo è l'unico strumento in cui il ciclo, gli strumenti e l'interfaccia sono tutti configurabili. Questo è genuinamente raro e vale il tuo tempo. |
| Azienda che sta mettendo in piedi un piano di controllo per la produzione | Non ancora | Le modifiche che rompono la compatibilità sono promesse per iscritto, i plugin e i server MCP vengono eseguiti fuori dalla sandbox, e il sito della documentazione manca di configurazione che decide il tuo conto di token. |
| Costruttori di plugin e strumenti | Sì, ora | Le giunture di estensione sono l'intero punto, l'ecosistema è piccolo, e i primi plugin avranno il campo libero. |
Il resto dell'elenco dei rischi è breve e reale. C'è un UUID di telemetria anonimo. I plugin e i server MCP vengono eseguiti al di fuori della sandbox bash, quindi un plugin è codice che scegli di fidarti. E come questa recensione ha scoperto a proprie spese, le impostazioni che controllano il costo e la correttezza sono documentate in un README del pacchetto piuttosto che nella guida, il che significa che la tua prima fattura può essere diverse volte superiore a quanto dovrebbe per ragioni che nessun messaggio di errore ti dirà.
Recensione di DeepSeek Harness: Domande Frequenti
DeepSeek Harness è pronto per la produzione?
No. Il README lo afferma chiaramente: "DeepSeek Harness è attualmente in anteprima per sviluppatori e sta iterando rapidamente. CI SARANNO CAMBIAMENTI CHE ROMPONO LA COMPATIBILITÀ." L'interfaccia web lo ripete in un modale all'avvio. Un pilota controllato su un carico di lavoro non critico è ragionevole oggi. Un piano di controllo di produzione da cui il tuo team dipende non lo è, perché la superficie API contro cui costruisci è esplicitamente instabile.
Quanto disco e memoria usa effettivamente DeepSeek Harness?
Su macOS, npm install @deepseek-ai/dsh ha tirato giù 531 pacchetti e 306 MB, di cui il pacchetto dsh stesso è 172 KB. Il valore ampiamente citato di 1,5 GB è una build completa del sorgente, non l'installazione runtime. Il processo del server web è rimasto in idle a 35-40 MB RSS con una sessione live aperta, dopo aver raggiunto un picco vicino a 212 MB durante l'avvio. La memoria dell'interfaccia è addebitata al tuo browser, non a dsh.
Perché la mia esecuzione di DeepSeek Harness è molto più lenta e costosa del previsto?
Molto probabilmente la tua voce di modello dichiara solo id. Questo eredita i fallback di rotta defaultContextWindow: 262144 e defaultMaxTokens: 32768, e lascia che l'adattatore indovini il dialetto di ragionamento dal nome host del tuo endpoint. Nel mio test quella combinazione ha prodotto 36 passaggi invece di 15 e 3,5 volte il costo in token per lo stesso compito. Imposta compat.thinkingFormat, un contextWindow reale e un maxTokens reale.
DeepSeek Harness funziona con endpoint non DeepSeek?
Sì, qualsiasi URL di base compatibile con OpenAI funziona, ed è così che la maggior parte delle persone lo utilizzerà. Il problema è che il dialetto di pensiero è dedotto dall'URL, quindi a un gateway con dialetto DeepSeek su un nome host neutro si parla nel dialetto OpenAI. compat.thinkingFormat: deepseek è la correzione, ed esiste solo sotto api: openai-completions. Bedrock, Vertex, Azure e Codex non sono supportati deliberatamente.
La vista Trajectory è effettivamente utile, o è marketing?
È utile, ed è la cosa più forte di questo rilascio. Il log di sessione è un vero file JSONL append-only che puoi filtrare per sorgente, riprendere, forkare e riprodurre, e l'evento request/header mi ha detto esattamente quale configurazione è arrivata in rete, che è ciò che ha risolto il mio problema. Quello che non fa è spiegare perché il modello ha scelto qualcosa. Registra ciò che il modello ha visto, non perché ha deciso.
DeepSeek Harness vs Claude Code o OpenCode, quale dovrei usare quotidianamente?
Se vuoi qualcosa che scriva codice in modo affidabile oggi, non questo, non ancora. Scegli Harness quando il runtime dell'agente stesso è ciò che vuoi modificare, perché scambiare il ciclo, gli strumenti o l'interfaccia è una configurazione qui piuttosto che un fork. Per un confronto basato sui numeri sull'uso dei token, vedi DeepSeek Harness vs OpenCode, e per il livello di estensione, quali plugin vale la pena installare.
Esecuzioni effettuate il 18 agosto 2026 su macOS, Node v24.15.0, @deepseek-ai/[email protected], modello deepseek-ai/deepseek-v4-flash-0731 servito tramite un endpoint compatibile con OpenAI su Atlas Cloud. Ogni conteggio di token, tempo reale ed errore in console in questo articolo proviene dai log di sessione e dalle console dei browser di quelle esecuzioni.






