Hai eseguito un task in Hermes ieri. Oggi hai eseguito quello che sembrava lo stesso task in dsh. Stesso modello, stessa chiave API, stesso laptop. I numeri di utilizzo sono comunque risultati diversi.
I tuoi occhi sono a posto. Nessun prezzo è cambiato durante la notte.
Ecco cosa manca in quasi tutti i confronti tra DeepSeek Harness e Hermes: l'harness è il guscio che avvolge il modello, e quel guscio decide quanto contesto viene inviato per step, quanti strumenti pubblicizza, quante volte ritenta e se reinvia l'intera conversazione a ogni singola chiamata. Cambia il guscio, cambia il conto.
Quindi ho bloccato la variabile del modello e l'ho misurata. Due harness, un endpoint, uno deepseek-ai/deepseek-v4-pro, un prompt, una macchina, un pomeriggio. Stesso task, entrambi lo hanno completato, e uno ha spostato 8,4x più token di prompt dell'altro.
Punti chiave
- Stesso modello, stesso task, entrambi superati: dsh ha impiegato 121 secondi, Hermes 780 secondi.
- Hermes ha spostato 1.111.573 token di prompt contro i 132.600 di dsh. 8,4x, su un singolo task.
- Prima che un agente faccia qualsiasi cosa, il suo system prompt costa token: dsh 10.898 vs Hermes 13.892 solo per rispondere "OK".
- dsh ti limita silenziosamente a 262.144 di contesto a meno che non sovrascrivi
defaultContextWindow, buttando via il 75% della finestra di V4.- Scegli dsh per la programmazione, Hermes per memoria, cron e interfacce chat. Oppure usa entrambi.

Officina di ingegneria divisa con un blocco motore nudo fissato in un telaio di prova in acciaio a sinistra e un automata di ottone per limatura a destra, entrambi alimentati da una singola linea di carburante in rame
Una linea di carburante, due banchi di prova. Questo è l'intero esperimento. Generato con openai/gpt-image-2.
DeepSeek Harness vs Hermes, Stesso Modello, Stesso Task
Entrambi gli harness hanno ricevuto questo, parola per parola: crea un clone di Breakout in un singolo file con paddle, 5 righe di mattoni, un contatore punteggio in tempo reale, una pausa con il tasto P, più un autotest inline che verifica tre invarianti fisiche e stampa PASS o FAIL. Quindi eseguilo headless e correggilo finché tutti e tre non stampano PASS.
Niente librerie. Niente CDN. Niente build step.
Entrambi ci sono riusciti. Ecco i due file, renderizzati in un browser reale.

Animazione affiancata delle due build Breakout in esecuzione: DeepSeek Harness (dsh) a sinistra, Hermes Agent a destra, entrambi in auto-play dallo stesso identico prompt DeepSeek V4 Pro
Le due build registrate affiancate e lasciate in auto-play, in modo da poter guardare ciascuna eseguire. A sinistra: dsh, il cui gioco si avvia automaticamente. A destra: Hermes, il cui gioco si avvia in pausa, poi esegue. Stesso prompt di un solo file, stesso DeepSeek V4 Pro, due harness.
Ora i numeri che contano davvero.
| Esecuzione | Tempo reale | Chiamate strumento | Token di prompt (freschi + cached) | Token di output | Costo a V4 Pro |
|---|---|---|---|---|---|
| dsh, round 1 | 121,2s | 8 | 14.840 + 117.760 = 132.600 | 5.231 | $0,24 |
| Hermes, round 1 | 780s | 35 | 49.685 + 1.061.888 = 1.111.573 | 19.317 | $1,93 |
| dsh, round 2 | non completato | 11 prima del limite | 44.291 + 132.608 | 2.463 | non completato |
| Hermes, round 2 | non completato | non eseguito | non completato | non completato | non completato |
Misurato il 21-08-2026 su deepseek-ai/deepseek-v4-pro, una macchina, directory di lavoro vuota per ogni esecuzione. I conteggi dei token sono letti dalla macchina: quelli di dsh dal suo log di sessione, quelli di Hermes dal suo JSON --usage-file. Nota che i due conteggi di strumenti non provengono dalla stessa fonte: gli 8 di dsh sono contati dal suo log (affermava 6), mentre i 35 di Hermes sono il suo stesso report, con il suo file di utilizzo che registra 38 chiamate API. Il metodo di costo è spiegato nell'ultima sezione.
Perché le due righe vuote? Il round 2 non è mai stato eseguito, e la ragione è il miglior dato singolo dell'articolo. Il solo round 1 di Hermes ha spinto 1,13 milioni di token attraverso l'account, e a metà del round 2 di dsh l'endpoint ha risposto:
plaintext1dsh: QUOTA: 429: {"code":"member_spend_limit_exceeded", 2"message":"Member day spend limit reached (set by your team admin); 3resets at 2026-08-22T00:00:00Z.","type":"insufficient_quota"}
Un agente, un gioco Breakout, il budget giornaliero. Non sto riempiendo quelle celle con stime.
Un altro dettaglio da segnalare. dsh ha riportato "Tool calls used: 6" nella sua risposta finale. Il suo stesso log di sessione registra 8. Gli agenti sono narratori inaffidabili riguardo alla propria spesa, ed è esattamente per questo che questo test legge i log invece dei riassunti.
Perché la Maggior Parte dei Confronti tra DeepSeek Harness e Hermes sono Sbagliati
Prima il verdetto: quasi tutte le pagine che si posizionano per questa keyword misurano la variabile sbagliata, e lo si nota in una riga della loro configurazione.
Il modello, non il guscio, è ciò che quei test hanno misurato
Vai a leggere i primi risultati. Il pattern si ripete: esegui dsh su un modello DeepSeek, esegui Hermes su qualunque cosa Hermes fosse già puntato, poi attribuisci l'intera differenza all'harness.
Questo non è un confronto di harness. È un confronto di modelli mascherato da etichetta di harness.
Se dsh è su V4 Pro e Hermes su qualcos'altro, il delta che misuri è per lo più dei due modelli, e il contributo del guscio è sepolto irrecuperabile. Quindi questo test fa la cosa noiosa ma necessaria: entrambi gli harness puntano allo stesso URL base, allo stesso model id, alla stessa chiave.
La scelta dell'harness muove i numeri da sola
Vuoi la prova che il solo guscio è costoso? Chiedi a ciascuno di non fare nulla.
Ho inviato a entrambi lo stesso prompt banale: Rispondi esattamente con la parola: OK. Nessuno strumento necessario, nessun file, nessun ragionamento richiesto.
| Harness | Token di prompt per dire "OK" | Token di output | Tempo reale |
|---|---|---|---|
| DeepSeek Harness (dsh) | 10.898 | 2 | 5,6s |
| Hermes Agent | 13.892 (+1.024 cached) | 17 | 8,5s |
Stesso modello. Stessa domanda. Un divario di 2.994 token prima che inizi qualsiasi lavoro reale, perché quel divario è l'harness: il suo system prompt, i suoi schemi di strumenti, il suo file di regole. Hermes trasporta più superficie, quindi Hermes trasporta più token.
Ora moltiplica per un ciclo di agente di 38 chiamate dove ogni chiamata reinvia la conversazione fino a quel punto. Le letture cached erano l'88,8% dei token di prompt di dsh e il 95,5% di quelli di Hermes. Quella rilettura è il conto.
Un Endpoint, Due Harness: La Configurazione DeepSeek V4
Per confrontare i gusci, il lato modello deve rimanere perfettamente fermo. Non solo lo stesso nome del modello: lo stesso endpoint, lo stesso limite di velocità, lo stesso prezzo alle 3 di notte come alle 3 del pomeriggio.
Quest'ultimo punto è più importante di quanto sembri. Se il tuo fornitore applica tariffe di picco e fuori picco, allora "round 1 in Hermes alle 09:00" e "round 2 in dsh alle 11:00" non sono esecuzioni comparabili, e non sarai mai in grado di districare quanto del delta sia dovuto all'harness e quanto all'orologio.
Quindi entrambi gli harness puntano a un endpoint compatibile OpenAI a tariffa fissa su Atlas Cloud: https://api.atlascloud.ai/v1. Stesso prezzo tutto il giorno, nessuna finestra di picco, nessuna coda separata per harness, una chiave per entrambi.
| Ruolo nel test | Model id | Contesto / output massimo | Prezzo per 1M in / out |
|---|---|---|---|
| Motore principale per entrambi | deepseek-ai/deepseek-v4-pro | 1.048.576 / 393.216 | $1,68 / $3,38 |
| Tier economico, ruolo "braccia" | deepseek-ai/deepseek-v4-flash | 1.048.576 / 393.216 | $0,14 / $0,28 |
| Lavoro cron di lunga durata | deepseek-ai/deepseek-v3.2 | 163.840 / 163.840 | $0,26 / $0,38 |
Prezzi letti dalle pagine dei modelli il 21-08-2026. Nessun badge sconto sulla famiglia DeepSeek al momento, quindi nulla qui è una tariffa promozionale che scade la prossima settimana.
Piccola cosa che è facile perdere: /v1/models riporta deepseek-v4-pro e deepseek-v4-flash come fp4, mentre deepseek-v4-pro-0813 restituisce fp8. Vuoi i pesi a precisione più alta? Blocca l'id datato.
Bene. Costruiamolo.
Esegui tu stesso il Test DeepSeek Harness vs Hermes
Anteprima: sette passaggi, due file di configurazione, un prompt, e alla fine avrai la tua versione di quella tabella invece di fidarti della mia. Prova che funziona: ogni numero sopra è uscito esattamente da questi passaggi su un MacBook standard, Node v24.15.0, dsh 0.1.0-rc.7, Hermes v0.20.4.
Iniziamo.
Passo 1: Ottieni un endpoint che rimanga fermo
Entrambi gli harness si basano molto sulle chiamate di funzione, quindi prima di installare qualsiasi cosa, verifica che l'endpoint serva strumenti:
plaintext1curl -s https://api.atlascloud.ai/v1/models \ 2 -H "Authorization: Bearer $ATLAS_API_KEY" \ 3 | jq '.data[] | select(.id|test("v4-pro$")) | {id, context_length, max_output_length, supported_features}'
Output reale da quella chiamata:
plaintext1{ 2 "id": "deepseek-ai/deepseek-v4-pro", 3 "context_length": 1048576, 4 "max_output_length": 393216, 5 "supported_features": ["json_mode", "tools", "structured_outputs"] 6}
tools in quella lista è la cosa che stai cercando. Niente strumenti, niente ciclo agente, ed entrambi gli harness falliranno in modi confusi invece di dirlo.
Prendi la tua chiave dalla pagina del modello DeepSeek V4 Pro, poi export ATLAS_API_KEY=... prima di ogni comando qui sotto.
Un problema per il lato Hermes: la risposta avvolge l'array come {"code":200,"msg":"succeed","data":[...]}. Hermes sonda /v1/models durante la configurazione e lo analizza correttamente, ma se stai scrivendo i tuoi strumenti, non aspettarti una lista nuda.
Passo 2: Installa entrambi gli agenti
plaintext1# DeepSeek Harness 2npm install @deepseek-ai/dsh 3 4# Hermes Agent 5curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
Tre note di installazione che mi sono costate tempo:
- dsh richiede Node
^22.19.0 || >=24.0.0. Non supporta 23.x. La maggior parte dei tutorial dice "Node 20+", il che è semplicemente sbagliato. - Quel npm install ha scaricato 453 pacchetti e ha richiesto 8 minuti. Non è una dipendenza piccola.
- Hermes porta il suo Python 3.11 tramite
uv, quindi il tuo Python di sistema non conta (il mio è 3.9). Se l'installer si blocca a metà download a causa di un intoppo PyPI, riesegui la sincronizzazione delle dipendenze invece dell'intero script.
Passo 3: Punta DeepSeek Harness all'endpoint
Scrivi questo in $DSH_HOME/settings.yaml (default ~/.dsh):
plaintext1llm-pi-ai: 2 providers: 3 atlas: 4 displayName: Atlas Cloud 5 apiKeyEnv: ATLAS_API_KEY 6 api: openai-completions 7 baseURL: https://api.atlascloud.ai/v1 8 defaultContextWindow: 1048576 9 defaultMaxTokens: 65536 10 compat: 11 thinkingFormat: deepseek 12 models: 13 - id: deepseek-ai/deepseek-v4-pro 14 name: DeepSeek V4 Pro 15 reasoningEfforts: 16 off: 17 high: high 18 - id: deepseek-ai/deepseek-v4-flash 19 name: DeepSeek V4 Flash 20 reasoningEfforts: 21 off: 22 high: high 23agent-default-model: 24 provider: atlas 25 model: deepseek-ai/deepseek-v4-pro
Tre righe meritano una frase ciascuna, perché sbagliarne una cambia il tuo conto:
compat.thinkingFormat: deepseekè la riga che nessuno scrive. dsh deduce il dialetto di pensiero dall'URL dell'endpoint. Il suo stesso README dell'adattatore è chiaro: l'URL di un gateway privato non dice nulla, quindi un endpoint non riconosciuto viene indirizzato "come se fosse OpenAI stesso". Il tuo gateway in dialetto DeepSeek viene poi parlato in dialetto OpenAI. Questa chiave esiste solo sottoapi: openai-completions.- Sovrascrivi
defaultContextWindow. I fallback a livello di route sono 262.144 di contesto e 32.768 max token. Dichiarare manualmente i modelli V4 senza toccare quelli significa buttare via silenziosamente il 75% di una finestra da 1.048.576. agent-default-modelaccettaprovideremodelcome due chiavi separate. Scriveremodel: atlas/deepseek-ai/deepseek-v4-procome unica stringa sembra ragionevole e non fa nulla. OttieniMISSING_CREDENTIAL: no API key for provider route "deepseek-official", e vai a cercare un problema di chiave che non hai.
Nota che apiKeyEnv è un riferimento alla credenziale, non il segreto. Nessuna chiave va in questo file.
Passo 4: Punta Hermes allo stesso endpoint
La via guidata è hermes model, poi scegli "Custom endpoint". La via scriptabile è cinque comandi:
plaintext1hermes config set model.provider custom 2hermes config set model.default deepseek-ai/deepseek-v4-pro 3hermes config set model.base_url https://api.atlascloud.ai/v1 4hermes config set model.api_key "$ATLAS_API_KEY" 5hermes config set model.context_length 1048576
Che scrive ~/.hermes/config.yaml:
plaintext1model: 2 provider: custom 3 default: deepseek-ai/deepseek-v4-pro 4 base_url: https://api.atlascloud.ai/v1 5 api_key: apikey-... 6 context_length: 1048576
provider: custom è un provider di prima classe qui, non un alias, e l'URL base deve terminare con /v1 perché Hermes aggiunge /chat/completions da solo (documentazione Hermes Agent, Configuring Models, 2026).
Non saltare la riga api_key. La documentazione dice che la chiave ricade su OPENAI_API_KEY, e nella mia esecuzione esportare quella variabile non è stato sufficiente: Hermes ha inviato la richiesta senza autenticazione utilizzabile e Atlas ha risposto HTTP 401: {"code":401,"msg":"unauthorized"}. Impostare model.api_key esplicitamente ha risolto il problema al tentativo successivo, in 8,5 secondi.
Passo 5: Esegui il round 1 su entrambi
Prima cancella la directory delle skills di Hermes (~/.hermes/skills). Una skill preesistente rende il round 1 ingiusto, e il round 2 è dove vuoi osservare una skill creata e poi riutilizzata.
Poi dai a entrambi gli harness questo, byte per byte:
plaintext1Crea un singolo file game.html autonomo: un clone di Breakout con paddle, 5 righe di mattoni, 2un contatore punteggio in tempo reale e un tasto P che mette in pausa. Niente librerie esterne, 3niente CDN, niente build step. 4Poi aggiungi un blocco <script id="selftest"> inline che verifica tre invarianti fisiche 5(la palla rimbalza sulla paddle, il punteggio aumenta esattamente una volta per mattone, 6la palla non esce mai dalla canvas) e stampa PASS/FAIL sulla console. Eseguilo headless, 7correggi tutto ciò che fallisce e fermati solo quando tutti e tre gli assert stampano PASS. 8Riporta il numero di chiamate strumento che hai usato.
Impostazioni: una directory vuota fresca per harness, ragionamento lasciato attivo, output massimo almeno 32.768, e nient'altro in esecuzione sulla macchina in modo che i numeri di tempo reale abbiano un significato.
plaintext1# dsh, sessione persistente one-shot 2DSH_HOME=~/.dsh dsh --profile headless "$(cat prompt-r1.txt)" 3 4# Hermes, one-shot con report di utilizzo leggibile dalla macchina 5hermes -z "$(cat prompt-r1.txt)" --yolo --usage-file hermes-r1-usage.json
Due cose ti sorprenderanno qui.
Primo, hermes -z non stampa assolutamente nulla finché non ha finito. Nessun banner, nessun spinner, nessuna anteprima degli strumenti. Il mio è rimasto in silenzio per 13 minuti e sembrava bloccato; non lo era, stava macinando 38 chiamate API. Controlla ps per una shell figlia se hai bisogno di rassicurazione.
Secondo, Hermes ha ignorato la mia directory di lavoro e ha scritto game.html in $HOME invece. Se vuoi il file nella directory da cui hai lanciato, passa --no-restore-cwd o --in DIR. Ho perso un round per questo.
dsh, nel frattempo, ha finito in 121 secondi e la sua Web UI rileggerà la stessa sessione:

Interfaccia web di DeepSeek Harness che mostra la sessione Breakout completata, tre assert PASS, 9 step e 133K token di input su DeepSeek V4 Pro
Web UI di dsh su 127.0.0.1:3080. Nota la barra di stato: 9 step, cache hit 89%, input 133K token, e il selettore del modello che legge DeepSeek V4 Pro dalla configurazione del Passo 3.
--usage-file sul lato Hermes è genuinamente utile e poco documentato: scrive token di input, token di output, letture cache, token di ragionamento, api_calls e un costo stimato in JSON, e scrive quel file anche quando l'esecuzione fallisce.
dsh non ha un flag equivalente, ma non ne ha bisogno. Il suo log di sessione append-only contiene tutto, con un trabocchetto. Il log in $DSH_HOME/sessions/<encoded-cwd>/session-<uuid>/session.jsonl.zstd è uno stream zstd multi-frame, un frame per flush. zlib.zstdDecompressSync(buf) restituisce solo il primo frame, quindi un log di 150KB si decodifica in un paio di centinaia di byte e sembra vuoto. Dividi sui byte magici tu stesso:
plaintext1const MAGIC = [0x28, 0xb5, 0x2f, 0xfd], offs = []; 2for (let i = 0; i < buf.length - 4; i++) 3 if (MAGIC.every((m, j) => buf[i + j] === m)) offs.push(i); 4const text = offs 5 .map((o, k) => zlib.zstdDecompressSync(buf.subarray(o, offs[k + 1] ?? buf.length)).toString()) 6 .join('');
L'utilizzo vive negli eventi assistant/chunk dove data.chunk.type === 'usage', un livello più in profondità di quanto penseresti (data.chunk.usage.inputTokens). Le chiamate strumento vengono dai blocchi di contenuto assistant/message di tipo tool-call. E request/header.data.header.config mostra il modello e maxTokens che sono effettivamente andati sul filo, che è come dimostri che la configurazione del Passo 3 ha avuto effetto invece di sperarlo.
Passo 6: Round 2, la richiesta di modifica
Stessa directory, game.html già presente dal round 1. Ora chiedi a entrambi una modifica:
plaintext1Aggiungi un power-up che cade: quando un mattone della riga superiore si rompe, lascia cadere un token 2che allarga il paddle per 10 secondi. Mantieni tutti e tre gli assert selftest funzionanti e aggiungi 3un quarto assert per il timer del power-up. Stesso file, niente librerie.
Questo è il round che separa i due design. Hermes scrive skills dopo compiti complessi e mantiene una memoria a tre livelli, quindi il round 2 è dove una skill del round 1 o ripaga o non lo fa. dsh non ha memoria a lungo termine, ma ha un log di sessione append-only che puoi forcare e riprodurre da metà esecuzione invece di ricominciare.
Sii onesto con te stesso sul budget prima di iniziare questo. Il mio round 2 è morto dopo 11 chiamate strumento a causa di un limite di spesa giornaliero, motivo per cui la tabella sopra ha due righe vuote invece di due inventate. La dashboard di Hermes mostra perché:

Pagina delle sessioni della dashboard di Hermes Agent che elenca l'esecuzione Breakout a 76 messaggi su deepseek-v4-pro
Hermes v0.20.4 che legge le proprie sessioni. L'esecuzione Breakout completata è di 76 messaggi, tutti su deepseek-v4-pro attraverso l'endpoint Atlas.
Passo 7: Leggi il conto
Due numeri per esecuzione, dal log dell'harness stesso, mai dal riepilogo dell'agente:
plaintext1# Hermes 2jq '{input_tokens, output_tokens, cache_read_tokens, api_calls}' hermes-r1-usage.json 3 4# dsh: aggrega il log di sessione decodificato 5node dsh-stats.js "$DSH_HOME/sessions/<encoded-cwd>"
Poi verifica incrociata con la pagina di utilizzo del tuo fornitore. Quando il log dell'harness e il fornitore discordano, fidati del fornitore: quello è il numero che paghi.
Per quanto vale, la barra di stato di dsh era d'accordo con il mio parser di log entro l'arrotondamento (133K token di input, 89% cache hit contro i miei calcolati 132.600 e 88,8%). Gli strumenti sono onesti. I riepiloghi in inglese degli agenti no.
Oltre DeepSeek Harness vs Hermes: Esegui Entrambi come Cervello e Braccia
Ecco la risposta che nessuno nel dibattito "quale scegliere" offre: non devi scegliere.
I due progetti falliscono in direzioni opposte, il che li rende compagni di squadra insolitamente buoni.
| Capacità | DeepSeek Harness (dsh) | Hermes Agent |
|---|---|---|
| Esecuzioni di codice | Forte, questo è l'obiettivo di design | Ha completato lo stesso task in 6,4x il tempo |
| Memoria a lungo termine | Nessuna | A tre livelli, curata dall'agente |
| Skills che si auto-migliorano | Nessuna | Sì, compatibile con agentskills.io |
| Fork / replay log sessione | Sì, JSONL append-only | Ricerca sessione con riepilogo LLM |
| Cron integrato | No | Sì, pianificazioni in linguaggio naturale |
| Superfici chat | No | Telegram, Discord, Slack, WhatsApp, Signal |
| Interfaccia | Web UI, TUI, headless | TUI, CLI, dashboard, gateway |
| Runtime | Node 22.19+/24+ | Python 3.11 (incluso) |
| Maturità | 0.1 developer preview, modifiche incompatibili | Rilasciato Feb 2026, v0.20.4 |
| Licenza / stelle | MIT, 176,5k | MIT, 233,6k |
Conteggi stelle letti da entrambi i repository il 21-08-2026 (deepseek-ai/deepseek-harness a 176,5k stelle e 19,2k fork, NousResearch/hermes-agent a 233,6k stelle e 46,8k fork). Osserva la traiettoria, non i totali: dsh era a 144.361 stelle quando ho controllato il 17-08-2026, quindi ha aggiunto circa 32.000 in quattro giorni.
Tre modi per combinarli:
- Cervello e braccia. Hermes su V4 Pro detiene la memoria, la pianificazione e il thread Telegram. Delega la programmazione vera a dsh sul tier economico. Una chiave copre entrambi, quindi non gestisci due relazioni di fatturazione.
- Tier economico per il ciclo, tier costoso per la decisione. Il lavoro cron ricorrente viene eseguito su
deepseek-v3.2o DeepSeek V4 Flash; la chiamata difficile sale a Pro. - Entrambi headless. dsh
--profile headlesse Hermes-zaccettano entrambi un prompt e stampano una risposta, quindi entrambi si inseriscono in uno script shell o in un passo CI senza TUI.
Un avvertimento equo sulle debolezze oneste, perché un confronto che elenca solo i punti di forza è una pubblicità. dsh è una developer preview 0.1 e lo dice nella sua stessa UI: si romperà tra le versioni, non ha memoria, non ha canale di messaggistica nativo, e sottostima le proprie chiamate strumento. Hermes è il progetto più maturo di gran lunga, ma è il più pesante per token di un fattore 8, è rimasto in silenzio per 13 minuti su un task che dsh ha finito in 2, e ha scritto il mio file di output nella directory sbagliata.
Quanto Costa Realmente DeepSeek Harness vs Hermes Per Task
Ora l'aritmetica, con le ipotesi in chiaro.
Atlas pubblica una tariffa di input per V4 Pro ($1,68 per 1M) senza una tariffa separata per cache hit sulla pagina del modello. Quindi prezzo ogni token di prompt alla tariffa di input completa, incluse le letture cached. Questo è un soffitto conservativo, non una stima mascherata da misurazione.
Esempio pratico, round 1 di dsh:
- Prompt: 14.840 freschi + 117.760 cached = 132.600 token. A $1,68/1M sono $0,2228.
- Output: 5.231 token. A $3,38/1M sono $0,0177.
- Totale: $0,2404 per task.
Stesso metodo per il round 1 di Hermes: 1.111.573 token di prompt sono $1,8674, più 19.317 token di output a $0,0653, per $1,9327. Lo stesso --usage-file di Hermes ha stimato $0,2817 per quella esecuzione, il che implica che assume una tariffa di input cached vicino a $0,125 per 1M. Se il tuo fornitore sconta davvero le letture cache così tanto, entrambi i numeri sotto scendono insieme e il rapporto tra loro si muove a malapena.
| Scenario | Per task su V4 Pro | Per task su V4 Flash | 20 task/giorno, 30 giorni (Pro) |
|---|---|---|---|
| dsh round 1 | $0,24 | $0,02 | $144,27 |
| Hermes round 1 | $1,93 | $0,16 | $1.159,64 |
| Round 2, entrambi gli harness | non completato | non completato | non completato |
Due cose saltano fuori da quella tabella.
La scelta dell'harness vale 8x. Stesso modello, stesso task, stesso risultato, e un guscio costa otto volte l'altro. Non è una differenza di arrotondamento che ottimizzi dopo.
Il tier del modello vale 12x in più. Per cui la divisione cervello-e-braccia non è un trucco: dsh su Flash costa due centesimi a task, e Hermes su Pro costa quasi due dollari per l'identico gioco Breakout.
E l'ottimizzazione più economica di tutte è ancora quella del Passo 3. Una route di dsh lasciata al suo default di 262.144 fa più lavoro di compressione in più passaggi per adattare lo stesso compito, e paghi per ognuno di essi.
Questa è la vera risposta a DeepSeek Harness vs Hermes: misura il tuo stesso guscio prima di andare a cercare un modello più economico.
FAQ DeepSeek Harness vs Hermes
Hermes Agent e DeepSeek Harness possono usare lo stesso modello e la stessa chiave API?
Sì, ed è l'unico modo onesto per confrontarli. Entrambi parlano a endpoint compatibili OpenAI. dsh ha bisogno di una route provider llm-pi-ai con api: openai-completions più baseURL; Hermes ha bisogno di provider: custom più un base_url che termina con /v1. Una chiave, entrambi gli harness, entrambi i tier di prezzo. Le configurazioni complete sono nei Passi 3 e 4.
DeepSeek Harness è meglio di Hermes per la programmazione?
In questo test, chiaramente sì: 121 secondi contro 780, 8 chiamate strumento contro 35, e un ottavo della spesa di token, con entrambi che superano tutti e tre gli autotest. Ma "migliore per la programmazione" non significa "migliore". Se ciò di cui hai bisogno è un lavoro pianificato che riporta a Telegram ogni mattina e ricorda ciò che ha imparato la settimana scorsa, dsh non ha nulla di tutto ciò e Hermes ha tutto.
DeepSeek Harness e Hermes sono gratuiti e open source?
Entrambi sono con licenza MIT e gratuiti da scaricare. Quello per cui paghi sono i token, e come mostra la tabella sopra, non è un errore di arrotondamento. Vale la pena ripetere che dsh è esplicitamente una developer preview alla 0.1 e avverte di modifiche incompatibili nella sua stessa UI, quindi blocca la tua versione se sta per andare in produzione.
Perché lo stesso task costa di più in un harness?
Quattro ragioni, più o meno in ordine di grandezza:
- Riletture della conversazione. I token di prompt cached erano l'88,8% del totale di dsh e il 95,5% di quello di Hermes. Ogni passo extra reinvia tutto ciò che lo precede.
- System prompt e schemi di strumenti. Misurato sopra: 10.898 contro 13.892 token prima che inizi qualsiasi lavoro.
- Conteggio passi. 8 chiamate strumento e 9 passi contro 35 chiamate strumento in 38 chiamate API.
- Finestra limitata. dsh che ricade a 262.144 invece di 1.048.576 forza ulteriore lavoro di compressione su task lunghi.
Posso eseguire DeepSeek Harness e Hermes contemporaneamente?
Sì. Non condividono nulla tranne la tua chiave API: runtime diversi, directory di configurazione diverse, archivi di sessione diversi, porte diverse (3080 e 9119 di default). Il pattern usuale è Hermes come cervello sempre attivo sul tier costoso e dsh come braccia di programmazione sul tier economico.
DeepSeek Harness funziona solo con l'API di DeepSeek?
No, e questo è l'equivoco più comune al riguardo. Qualsiasi gateway compatibile OpenAI funziona tramite api: openai-completions e un baseURL. Ricorda solo compat.thinkingFormat: deepseek, perché dsh deduce il dialetto di pensiero dall'URL, e l'URL di un gateway di terze parti non gli dice nulla.






