Nell’agosto 2026 DeepSeek ha reso disponibile DeepSeek Harness (dsh) in developer preview. Il progetto è open source con licenza MIT e non è soltanto un altro coding agent da terminale. DeepSeek lo presenta come un agent harness, cioè il layer che collega un modello a tools, memoria delle sessioni, sandbox, approval policy, subagenti, web search, skills, workflow e interfaccia utente.[1][2]
Il principio architetturale principale è:
Everything is a plugin.
Modelli, tools, skills, sessions, sandboxes, storage, agent loop, scheduling, subagents e persino la UI vengono composti come plugin sopra Cordis.[1][3][11]
Questo è diverso da un prodotto convenzionale con loop e tool surface fissati dal vendor. In dsh perfino l’agent loop è una capability sostituibile tramite configurazione.[3]
Ciò non significa che DeepSeek Harness sia oggi più maturo di Claude Code, Codex o Muse Code. Il file ufficiale SAFETY.md dichiara esplicitamente che si tratta di experimental developer-preview software, che non ha subito un security audit e che non deve essere considerato secure o production-ready.[6]
La versione pubblica npm @deepseek-ai/dsh verificata il 31 agosto è 0.1.1-rc.2.[10]
In breve: DeepSeek Harness è oggi particolarmente interessante come infrastruttura aperta e sostituibile per costruire agenti propri. Può inoltre delegare attività al vero Claude Code e al vero Codex come subagenti, quindi può competere con questi prodotti ma anche funzionare come livello di orchestrazione sopra di essi.[8][9]
Stato delle informazioni: 31 agosto 2026.
TL;DR
| Domanda | Risposta verificata |
|---|---|
| Cos’è DeepSeek Harness? | Agent harness e runtime open source |
| Licenza | MIT |
| Stato | Developer preview |
| Versione npm corrente | 0.1.1-rc.2 |
| Production-ready? | No, secondo SAFETY.md |
| Security audit? | Il progetto dice di no |
| Architettura principale | Everything is a plugin |
| Framework sottostante | Cordis |
| Solo modelli DeepSeek? | No |
| Altri provider | Anthropic, OpenAI, Bedrock, Vertex, Azure e custom endpoints |
| Modello personalizzato? | Sì, via provider/adapter |
| Interfacce | Web UI, headless, SDK e profili |
| Subagenti? | Sì |
| Claude Code come subagente? | Sì |
| Codex come subagente? | Sì |
| Codex CLI è open source? | Sì, Apache-2.0 |
| Claude Code usa una licenza open-source comparabile? | No, il repo rimanda agli Anthropic Commercial Terms |
| Muse Code | Beta |
| Benchmark comune equo? | Non abbiamo trovato un benchmark pubblico harness-identical |
| Vantaggio principale | Composability e sostituibilità del runtime |
| Rischio principale | Maturità developer preview e ampi privilegi locali |
Cos’è un agent harness?
Un modello linguistico da solo non è un agente completo.
Può produrre:
testo
codice
piani
tool calls
ma serve un altro layer che decida quali strumenti sono disponibili, come vengono eseguiti i comandi, dove l’agente può scrivere, quando serve approval, dove viene salvata la cronologia, come riprendere una sessione e come delegare attività.
DeepSeek riassume così:
Agent = Model + Harness
L’harness è quindi lo strato operativo che consente al modello di agire in un ambiente reale.
Perché non costruire semplicemente un altro CLI?
DSH include CLI, Web UI e modalità headless, ma è progettato in modo più ampio rispetto a un singolo coding assistant.[1][3][5]
L’idea è:
non hardcodare le capability nel loop;
montarle come componenti sostituibili
Tra questi componenti ci sono model adapters, tools, filesystem, shell, sandbox, skills, web access, persistence, compaction, subagents, jobs, scheduling, approvals e UI.[1][3]
“Everything is a plugin” include l’agent loop
La documentazione architetturale dichiara che model adapter, tool registry, session log e agent loop sono plugin.[3]
È più di un normale marketplace di estensioni.
In molti prodotti si possono aggiungere tools, ma il ciclo:
prompt → model → tool → model → finish
rimane interno e fisso.
In DSH anche il loop è una capability sostituibile. La documentazione dice che non esiste un privileged core da patchare per estendere il comportamento.[3]
Cordis: la base architetturale
DeepSeek Harness è costruito sopra Cordis.[1][3]
Il 26 agosto 2026 ricercatori collegati a Peking University e DeepSeek-AI hanno pubblicato A Programming Paradigm for Spatiotemporal Composability.[11]
Cordis lavora su due concetti:
- temporal composability, per rimuovere un componente insieme ai suoi effetti runtime;
- spatial composability, per dichiarare dipendenze e reagire ai cambiamenti dell’ambiente.
L’implementazione comprende effect tracking, dependency resolution, declarative loading, configuration reconciliation e hot module replacement.[11]
Profiles e bundles
Un processo dsh è un albero di plugin composto al boot.[3]
I profiles sono composizioni nominate, ad esempio:
web
headless
I bundles distribuiscono configurazione Cordis e codice.
dsh-base fornisce model adapters, tools, persistence, sandbox, approval policy, settings, credentials e telemetry.[3]
dsh-web-app aggiunge la UI browser, mentre dsh-headless aggiunge un one-shot runner senza server.
Configurazione a livelli
La configurazione viene applicata in più layer:[3]
bundles
↓
profile cordis.patch.yml
↓
home cordis.patch.yml
↓
--patch overlay
La configurazione effettiva può essere ispezionata con:
dsh --profile web --dump-config
Per i team che costruiscono una propria piattaforma agentica questo è più pulito di modificare direttamente il codice upstream.
Web UI
Il quick start ufficiale è:
npx @deepseek-ai/dsh web
Per default la Web UI viene servita localmente su:
http://127.0.0.1:3080
Dopo aver configurato modello e workspace, l’agente può leggere e modificare file, eseguire comandi, delegare lavoro e mantenere un piano.[5]
DeepSeek Harness non è legato ai modelli DeepSeek
Settings → Models supporta altri provider.[4]
La documentazione ufficiale menziona:
- Anthropic,
- OpenAI,
- Amazon Bedrock,
- Google Vertex,
- Azure,
- Codex,
oltre a custom providers per gateway aziendali, server self-hosted ed endpoint OpenAI-compatible.[4]
Quindi:
DeepSeek Harness ≠ DeepSeek-model-only
È possibile collegare un modello personalizzato
ctx.llm è una registry di adapter.[3][4]
Il pattern mostrato è simile a:
class MyAdapter extends LlmAdapter {
async *stream(options) {
// provider implementation
}
}
L’adapter converte:
Harness request
↔
API del provider
Cambio modello senza riavvio della Web UI
Le modifiche alla configurazione diventano disponibili dalla richiesta successiva senza riavviare il server.[4]
Il modello scelto diventa default per le nuove sessioni.
Una sessione che ha già eseguito una request mantiene il modello registrato nel proprio log.[4]
Quattro runtime modes
DeepSeek documenta quattro modalità.[1]
Standard
Coding agent completo con file editing, shell, file/web search, skills, planning, goals, subagents e workflows.
Code
Include Standard, ma espone i tools tramite Code Mode SDK per permettere al modello di raggruppare operazioni in un programma TypeScript.[1]
Minimal
persistent bash
str_replace_editor
Pensato anche per benchmark di modelli con una tool surface ridotta.[1]
Creator
Per runtime inspection, esperimenti con plugin e custom presets.[1]
Append-only session log
DeepSeek afferma che tutto ciò che il modello vede viene registrato in un append-only session log.[1]
Questo comprende system prompts, reasoning, tool calls/results, subagent scheduling e context injections.[1][3]
Resume, fork, search e replay lavorano sullo stesso event stream.
“Model-visible means logged”
La documentazione stabilisce il principio:
Model-visible means logged.
Tutto ciò che entra in una request del modello dovrebbe essere ricostruibile dal session log.
È utile per audit, debugging e analisi del contesto.
Subagenti come capability
ctx.subagents è una registry di provider.[8]
Le implementazioni documentate comprendono:
spawn-in-process
fork
ACP
Codex
Claude Code
dsh-sdk
Il parent agent delega a un’interfaccia comune senza dover conoscere i dettagli del child runtime.
Può avviare il vero Codex
Il provider ufficiale documentato:
@deepseek-ai/dsh-subagent-codex
non è una semplice chiamata HTTP a un modello OpenAI.[9]
Avvia il prodotto Codex reale come processo.
L’implementazione documentata usa:
@openai/[email protected]
e comunica con app-server --stdio.[9]
Ogni invocazione crea un nuovo processo, un ephemeral thread e un task one-shot.
Può delegare anche al vero Claude Code
Un provider first-party parallelo integra Claude Code.[8][9]
Lo schema:
task
→ subagent provider
→ Claude Code
→ risultato finale
Il child riceve un task autonomo e il workspace, senza copiare automaticamente l’intera conversazione parent.[9]
Questo cambia il confronto
La narrazione:
DeepSeek Harness vs Claude Code vs Codex
è incompleta.
Più corretto:
DeepSeek Harness
├── runtime proprio
├── model providers
├── Claude Code come child
└── Codex come child
DSH può essere sia concorrente sia orchestratore.
Il costo è maggiore complessità, più processi e una attack surface più ampia.
Agent Teams è sperimentale
Il repository include Agent Teams con durable roster, task board, mailbox e child sessions.[3]
La documentazione lo definisce experimental private opt-in coordination seam.[3]
Non va presentato come una capability stabile al pari del runtime principale.
DeepSeek Harness vs Claude Code
Claude Code è un coding-agent product orientato al software engineering.
Può esplorare codebase, modificare file, eseguire comandi e test, lavorare con Git e usare MCP.[12]
Differenza:
Claude Code = prodotto coding agent
DSH = framework/runtime componibile
Il repo Claude Code indica che l’uso è soggetto agli Anthropic Commercial Terms.[12]
DeepSeek Harness usa MIT.[1][2]
DeepSeek Harness vs OpenAI Codex
Correzione importante: Codex CLI è anch’esso open source.
Il repository openai/codex è sotto:
Apache-2.0
Quindi non è corretto definire DSH “l’alternativa open source a Codex chiuso”.
Codex è soprattutto una piattaforma coding-agent con CLI, IDE, desktop, cloud, sandboxing, approvals e network policies.[13]
DSH è più orientato alla composizione di un runtime personalizzato e può persino avviare Codex come child.[9]
DeepSeek Harness vs Muse Code
Meta ha lanciato Muse Code il 5 agosto 2026 come beta terminal coding agent con Muse Spark 1.2.[14]
Muse Code e il modello sono stati co-trained su planning, tool use, context compaction, subagents e task di lunga durata.[14]
Differenza architetturale:
Muse = model + harness co-ottimizzati
DSH = model e capabilities sostituibili
Sono strategie differenti.
Tabella comparativa
| Funzione | DeepSeek Harness | Claude Code | OpenAI Codex | Muse Code |
|---|---|---|---|---|
| Natura | framework/runtime | coding agent | coding agent/platform | coding agent |
| Stato | developer preview | prodotto | prodotto | beta |
| Licenza harness | MIT | Commercial Terms | Apache-2.0 | non presentato come framework aperto equivalente |
| Multi-model by design | Sì | principalmente Claude | principalmente OpenAI | Muse Spark |
| Custom provider | Sì | integrazioni/gateway | ecosistema OpenAI | nessun layer equivalente descritto al lancio |
| Web UI | Sì | soprattutto terminal/IDE | CLI, IDE, desktop, cloud | terminal |
| Headless | Sì | Sì | Sì | CLI |
| Plugin-first core | Sì | non allo stesso livello | non allo stesso livello | non allo stesso livello |
| Agent loop sostituibile | Sì | non come contract centrale | non come contract centrale | non come contract centrale |
| Subagents | Sì | Sì | Sì | Sì |
| Claude Code child | Sì | N/A | non è obiettivo principale | No |
| Codex child | Sì | non è obiettivo principale | N/A | No |
| Warning ufficiale not production-ready | Sì | No | No | Beta |
La tabella confronta superfici di prodotto, non qualità dei modelli.
Perché non diamo un benchmark percentuale?
Non abbiamo trovato un benchmark pubblico che mantenga costanti:
stesso modello
stesso prompt
stesso repository
stessi tools
stesso sandbox
stesso budget
stesso tempo
stesso grading
Confrontare Opus + Claude Code con un modello DeepSeek + DSH misura troppe variabili contemporaneamente.
Come benchmarkare correttamente un harness
Test A: stesso modello
stesso modello + DSH
vs
stesso modello + harness minimo
Questo isola meglio l’effetto del runtime.
Test B: end-to-end
Claude + Claude Code
OpenAI + Codex
Muse Spark + Muse Code
modello scelto + DSH
Misurare:
- task completion,
- test pass rate,
- costo,
- wall-clock time,
- tool calls,
- interventi manuali,
- regressioni,
- modifiche fuori scope,
- violazioni di sicurezza,
- restart recovery.
Sicurezza: la parte più importante
Il SAFETY.md ufficiale è molto chiaro.[6]
DSH può eseguire codice e comandi generati dal modello, caricare plugin di terze parti e accedere a rete, processi, credentials e file disponibili.
Errori del modello, bug, misconfiguration, malicious input o plugin non affidabili possono modificare o cancellare file, esporre dati o danneggiare l’host.[6]
Il sandbox non garantisce isolamento
DeepSeek scrive:
Sandboxing, approval prompts, and permission controls can reduce risk, but they do not guarantee isolation or prevent damage.[6]
Raccomanda least privilege, VM/container disposable, backup, limitazione dei segreti e review di plugin e comandi.
DSH non deve essere l’unico security control per workload non trusted.
Local-first non significa local-only
La Data Processing Statement descrive Harness come local-first.[7]
Per default sono memorizzati localmente inputs, outputs, session context, tool records, attachments, file paths e runtime logs.
Ma modelli esterni, web tools, MCP servers e plugin possono ricevere dati secondo le proprie policy.[7]
local-first ≠ local-only
Telemetry: quadro più complesso di on/off
Il comportamento telemetry è cambiato durante agosto.[16]
FULL richiede configurazione esplicita. I profili nuovi non inviano automaticamente session log completi senza una scelta attiva, mentre feedback può attivare un percorso di reporting più limitato a seconda del mode.[16]
La Data Processing Statement menziona anche possibili informazioni di configurazione anonimizzate e project lists, con possibilità di disattivazione o cambio endpoint.[7]
Ogni deployment deve quindi verificare versione e configurazione reali.
Developer preview significa breaking changes reali
Il README avverte:
THERE WILL BE COMPATIBILITY-BREAKING CHANGES.
Ad agosto sono state pubblicate rapidamente varie RC fino a 0.1.1-rc.2.[10]
GitHub Discussions contiene anche segnalazioni community su npm dist-tags non allineati per alcuni plugin attorno a rc.2.[15]
Sono segnalazioni della community, non una conferma ufficiale che ogni installazione sia coinvolta, ma rafforzano il warning upstream.
Vale la pena creare plugin oggi?
Sì per R&D, accettando churn.
Gli extension point ufficiali includono tools, LLM adapters, settings cards, capabilities, conversation nodes, storage, filesystem, sandbox e subagent providers.[3][4]
Per chi richiede API stability pluriennale, il progetto è ancora troppo giovane.
Per chi ha più senso DSH?
Agent platform teams
Per costruire piattaforme interne indipendenti da un singolo vendor.
AI infrastructure R&D
Per sperimentare con loops, context policies, routing, subagents e sandbox.
Organizzazioni multi-model
Come control plane per DeepSeek, Anthropic, OpenAI, gateway interni e modelli self-hosted.
Benchmarking
Minimal mode riduce la tool surface per alcuni test.[1]
Quando scegliere Claude Code, Codex o Muse Code?
Claude Code se si vuole un coding agent maturo centrato sull’ecosistema Claude.
Codex se si vuole una piattaforma OpenAI con CLI, IDE, desktop e cloud e controlli di sandbox/governance più maturi.[13]
Muse Code se interessa una coppia model+harness co-trained con Muse Spark 1.2.[14]
DeepSeek Harness se l’obiettivo primario è:
costruire il proprio harness
invece di usare solo un agente pronto
Checklist prima della produzione
Versioni e supply chain
- Pin di una versione precisa di
@deepseek-ai/dsh. - Verifica dello scope
@deepseek-ai. - Verifica del repository upstream.
- Evitare wrapper non ufficiali come sostituti.
- Pin delle versioni dei plugin.
- Verifica compatibilità CLI/plugin.
Runtime
- User dedicato.
- Workspace minimo.
- Secrets fuori dal workspace.
- Backup.
- Approval per comandi distruttivi.
- Network access limitato.
- Test negativi del sandbox.
- Non considerare sandbox una barriera perfetta.
Modelli
- Sapere quale provider riceve il codice.
- Controllare retention policy.
- TLS/auth per gateway interno.
- API key con scope minimo.
- Loggare model routing.
- Provare almeno due modelli.
Plugin
- Review di ogni third-party plugin.
- Capabilities minime.
- MCP servers trusted.
- Skills trattati come codice.
- Niente auto-update senza review.
Qualità
- Acceptance tests.
- L’agente esegue i test.
- Review del diff finale.
- Misura delle regressioni.
- Costo per task completato.
- Test di restart recovery.
- Confini chiari per i subagents.
Verdetto POLPROG
DeepSeek Harness è uno dei progetti agentic più interessanti di agosto 2026, non perché DeepSeek abbia semplicemente creato “un proprio Claude Code”.
Il punto interessante è:
model = plugin
tools = plugins
sandbox = plugin
session log = plugin
subagent provider = plugin
agent loop = plugin
UI = plugin
E il parent agent può delegare al vero Codex e al vero Claude Code.[8][9]
La domanda importante non è:
DeepSeek Harness sostituirà Claude Code?
Ma:
Le aziende separeranno il modello dall’harness e costruiranno un proprio control plane sopra più agenti?
I frontier model cambiano rapidamente. Un harness ben progettato può sopravvivere a più generazioni di modelli.
DeepSeek prova a creare un layer in cui model, provider, sandbox, tool, agent loop e UI sono sostituibili.
È un’idea architetturale forte.
Ma al 31 agosto 2026 DSH resta developer preview. L’upstream dichiara che non ha superato un security audit e non deve essere trattato come production-ready.[6]
Per R&D e POC controllati
Molto interessante.
Come base immediata di produzione critica
Non ancora senza hardening, sandboxing, pinning delle versioni, plugin review e POC completo.
Il vantaggio maggiore di DSH oggi non è un “modello migliore”. È il tentativo di fare in modo che il modello smetta di essere il centro architetturale di tutto l’agente.

