DeepSeek Harness
DeepSeek Harness (dsh) è l'harness di agenti open source di DeepSeek. Esegue una Web UI locale per le sessioni degli agenti, l'esecuzione degli strumenti e il lavoro sui repository, e può anche essere integrato tramite la sua CLI o il suo SDK Python.
DeepSeek Harness è neutrale rispetto ai provider: gli endpoint personalizzati compatibili con OpenAI sono supportati accanto all'API di DeepSeek. Connesso alla nostra Everyware AI API ospitata in Svizzera, i Suoi prompt e il Suo codice sorgente vengono elaborati sulla nostra infrastruttura GPU svizzera.
Funzionalità principali
- Web UI locale: sessioni degli agenti, modifiche ai file e output degli strumenti in un'interfaccia browser.
- Provider personalizzati: registri gli endpoint compatibili con OpenAI in un file di patch Cordis.
- Selezione del modello: i modelli configurati compaiono nella Web UI e diventano il modello predefinito per le nuove sessioni.
- Controllo del ragionamento: dichiari i livelli di effort per modello; l'interfaccia mostra un menu Effort.
- Piena sovranità dei dati: le richieste ai modelli passano attraverso la nostra Everyware AI API svizzera.
Anteprima per sviluppatori
DeepSeek Harness è pubblicato come anteprima per sviluppatori. Le chiavi di configurazione e il comportamento possono cambiare tra le versioni. Verifichi la documentazione attuale prima di un'implementazione su larga scala.
Installazione
DeepSeek Harness richiede Node.js. Avvii la Web UI direttamente con npx:
npx @deepseek-ai/dsh web
La Web UI si apre all'indirizzo http://127.0.0.1:3080. Flag utili: --port 8080, --host, --no-open.
git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
pnpm install
pnpm run build
pnpm dsh web
Configurazione
1. Salvare la chiave API
Esporti la Sua chiave API virtuale come variabile d'ambiente prima di avviare l'harness:
export EW_AI_API_KEY="sk-bf-..."
In alternativa, può salvare la chiave tramite la Web UI in Settings → Models; viene conservata in $DSH_HOME/.credentials.yaml.
2. Registrare il gateway
Crei o modifichi ~/.dsh/profiles/web/cordis.patch.yml:
- id: llm-pi-ai
config:
providers:
ew:
displayName: Everyware AI API
apiKeyEnv: EW_AI_API_KEY
api: openai-completions
baseURL: https://ai.ewcs.ch/v1
compat:
supportsDeveloperRole: false
maxTokensField: max_tokens
models:
- id: ew/flagship
name: Everyware Flagship
contextWindow: 1048576
maxTokens: 131072
input: [text, image]
reasoningEfforts:
low: low
high: high
- id: ew/balanced
name: Everyware Balanced
contextWindow: 1000000
maxTokens: 131072
input: [text, image]
reasoningEfforts:
low: low
high: high
- id: ew/fast
name: Everyware Fast
contextWindow: 262144
maxTokens: 131072
input: [text, image]
reasoningEfforts:
low: low
high: high
apiKeyEnv è il nome della variabile d'ambiente, non la chiave stessa. Una chiave letterale non viene scritta nel YAML.
Il blocco compat è il primo correttivo abituale per i gateway non OpenAI: supportsDeveloperRole: false evita il ruolo developer, e maxTokensField: max_tokens evita max_completion_tokens.
La configurazione viene sostituita, non unita
Un override Cordis sostituisce l'intera voce di configurazione. Quando modifica un blocco llm-pi-ai esistente, mantenga tutti gli altri provider e campi nel file.
3. Avviare e selezionare un modello
npx @deepseek-ai/dsh web
Nella Web UI, selezioni il modello dal selettore dei modelli. La selezione lo rende anche il modello predefinito per le nuove sessioni. Se l'endpoint /v1/models del gateway restituisce un elenco standard, Fetch available models può popolare l'elenco automaticamente; altrimenti inserisca manualmente gli ID dei modelli.
Flussi di lavoro tipici
- Web UI interattiva:
npx @deepseek-ai/dsh web - Cambiare la porta:
npx @deepseek-ai/dsh web --port 8080 - Esecuzione singola:
npx @deepseek-ai/dsh --profile headless "Explain the architecture of this repository." - Interfaccia terminale opzionale (plugin esterno):
npx @deepseek-ai/dsh plugin --profile tui add github:deepseek-harness/turtle-ui npx @deepseek-ai/dsh --profile tui
Telemetria e log delle sessioni
DeepSeek Harness carica per impostazione predefinita i log delle sessioni su DeepSeek, incluse le sessioni che usano un gateway configurato. Per la sovranità dei dati svizzeri, disattivi Settings → General → Upload Session Log (oppure imposti la telemetria su enabled: false) e imposti DSH_TELEMETRY_MODE=DISABLED per i caricamenti OpenTelemetry.