Vai al contenuto

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.