Pular para o conteúdo

DeepSeek Harness 2.0: app para desktop e Creator Mode — RIP Codex? O melhor harness open source até agora!?

Ver no idioma original →

Autoria: AICodeKing · Assistir no YouTube

Vídeo de autoria do canal indicado, não da IANIA; todos os direitos pertencem ao criador. Transcrição, resumo e tradução gerados automaticamente; o conteúdo no idioma original é preservado na versão em idioma original.

Idioma original: inglês

Vídeo original: Deepseek Harness 2.0 (Desktop App, Creator Mode): RIP Codex! The BEST OPEN Harness YET!? · Canal: AICodeKing · 16:06 · Assistir no YouTube

Tópicos: Agentes de IA, Automação de tarefas e workflows, Inferência e otimização de modelos, Open source e ecossistemas de software

O vídeo apresenta a versão desktop em prévia para desenvolvedores do DeepSeek Harness e demonstra como usá-la para corrigir cálculos em um projeto, gerar um relatório HTML e aprimorá-lo com um filtro de produtos. Também mostra a criação e instalação de um plugin com Creator Mode e a configuração de uma tarefa automatizada. Ao longo do processo, o apresentador explica modos de trabalho, opções de modelo, permissões, custos e cuidados ao revisar resultados. Ele destaca que a ferramenta pode precisar de direcionamento e que o exemplo não comprova seu desempenho em grandes bases de código de produção.

  • O harness é a aplicação que conecta o modelo a ferramentas para ler arquivos, editar código, executar comandos e revisar resultados.
  • A demonstração usa a versão 0.2.0 release candidate 2 do app para Mac, ainda em prévia para desenvolvedores.
  • O agente corrige duas falhas no script: incluir pedidos cancelados e não descontar corretamente as unidades devolvidas; os quatro testes existentes passam.
  • O relatório HTML gerado exibe os totais corrigidos e permite filtrar produtos sem confundir os números individuais com os totais da loja.
  • Plugins executam código com as permissões do usuário, por isso é importante conferir a origem antes de instalá-los.
  • Creator Mode é usado para criar um pequeno painel de checklist, cujo funcionamento é testado após a instalação.
  • A tarefa automatizada de demonstração é um lembrete único; tarefas agendadas exigem que o app permaneça em execução.
  • O apresentador recomenda verificar o resultado e orientar o agente quando ele se desvia ou demora em tarefas secundárias.
  • O app é open source, mas as chamadas ao modelo continuam sujeitas a custos; executar o app localmente não significa que o modelo esteja rodando localmente.
Início Capítulo Resumo
00:02 Apresentação e configuração do DeepSeek Harness O apresentador explica o que é um harness, apresenta as opções de instalação e configura o app, o modelo e o workspace.
03:10 Correção dos cálculos e geração do relatório O agente corrige o script de vendas, passa nos testes e cria um relatório HTML com os totais e uma tabela de produtos.
06:48 Revisão do relatório e filtro de produtos O apresentador mostra controles de execução e revisão e pede um filtro interativo, conferindo os valores e a preservação dos totais da loja.
09:25 Plugins, Creator Mode e automação O vídeo demonstra a instalação de um plugin de checklist, explica os cuidados com extensões e configura uma tarefa automatizada única.
13:00 Modos de trabalho, modelos e custos O apresentador compara modos e extensões, comenta opções de modelos e custos e conclui com recomendações para orientar e revisar o trabalho do agent.

O modelo decide o que fazer, e o harness fornece as ferramentas para ler arquivos, editar código, executar comandos e revisar o resultado. — 00:34

Os quatro testes originais passaram. Executei-os novamente por conta própria e confirmei que tanto o CSV quanto o arquivo de testes permaneceram inalterados. — 04:43

Um registro de entrega significa que a instrução chegou à caixa de entrada da conversa. Não prova que o agent terminou o trabalho. — 13:00

Mantenha a tarefa específica e confira o resultado ao longo do processo. — 15:35

  • DeepSeek Harness (ferramenta): Aplicação que envolve o modelo e fornece recursos para trabalhar com arquivos, código, comandos e plugins.
  • DeepSeek V4.1 Flash (modelo): Modelo usado na demonstração para corrigir o projeto e produzir o relatório.
  • Creator Mode (conceito): Modo experimental que ajuda a criar ou configurar plugins a partir de uma descrição da capacidade desejada.
  • PTC (conceito): Sigla de programmatic tool calling, modo em que o agent escreve TypeScript para coordenar chamadas a ferramentas e combinar resultados.
  • Northstar (conceito): Nome da loja fictícia usada no projeto de exemplo com dados de pedidos e regras de cálculo.
  • Codex (ferramenta): Produto mencionado no título e na explicação sobre provedores de terceiros não compatíveis com o seletor de modelos.
  • MIT License (conceito): Licença open source sob a qual o apresentador diz que o harness é disponibilizado.

00:02 [música] Olá, bem-vindos a mais um vídeo. O DeepSeek Harness agora tem um aplicativo para desktop, e eu queria ir além do anúncio e realmente usá-lo. Neste vídeo, vamos configurá-lo, dar a ele um projeto com cálculos incorretos, criar um relatório com base nesse projeto e depois aprimorar o relatório em uma conversa de acompanhamento. Também vamos ver plugins, modo de criação e automação, porque há bastante coisa aqui além de enviar um prompt para um modelo. E vou explicar as configurações dos modelos e os custos ao longo do caminho, para que você entenda

00:34 o que está realmente executando. Estou usando a versão 0.2.0 release candidate 2 do aplicativo oficial para Mac. Ainda é uma prévia para desenvolvedores, então a interface exata pode mudar. Há opções de download para Windows e de configuração da interface web no Linux, mas este passo a passo é no macOS. Primeiro, o que é um harness? É o aplicativo que envolve o modelo. O modelo decide o que fazer, e o harness fornece as ferramentas para ler arquivos, editar código, executar comandos e revisar o resultado. Você precisa das duas partes para transformar uma resposta de chat

01:04 em trabalho no seu computador. Para instalar, acesse a página oficial do DeepSeek. Há downloads para Macs com Apple Silicon e para Windows de 64 bits. Escolha a opção para sua máquina e siga o instalador. O aplicativo para desktop empacotado inclui seu próprio ambiente de execução, então você não precisa instalar o Node separadamente só para usá-lo. Se estiver no Linux, a opção documentada é a interface web. Instale uma versão compatível do Node e depois execute npx @deepseek-ai/dsh, seguido de web. O repositório exige Node 22.19 ou posterior dentro da série 22

01:38 ou Node 24 ou superior. Isso inicia a interface localmente e abre seu navegador, normalmente na porta 3080. A opção –no impede que outra aba seja aberta. Esta é a versão do harness no navegador. Aqui, vou continuar com o aplicativo para desktop. Agora, abra as configurações pelo menu Mais, em Modelos. Você pode configurar o provedor DeepSeek com sua chave de API. Já configurei uma chave nesta instalação. Não deixe a sua aparecer em capturas de tela nem em arquivos de projeto que você vá compartilhar. O aplicativo para desktop

02:09 também oferece suporte à entrada na conta DeepSeek, que é uma forma separada de acessar modelos pagos pela conta. Uma chave de API usa a cobrança da API, enquanto o acesso pela conta conectada tem seu próprio financiamento e limite de uso. Confira qual opção você selecionou. Há outra configuração que vale a pena verificar antes de começar. Em Geral, ative Mostrar visualização de programação, que exibe a trajetória de programação, as alterações no código e as predefinições de agent que vamos usar neste passo a passo. Se sua tela parecer mais simples que a minha, essa é uma das primeiras coisas a verificar. Em seguida, adicione a pasta do projeto pelo botão de mais

02:40 na barra lateral. Depois, escolha esse espaço de trabalho acima da área de composição. Adicionar uma pasta e selecioná-la para sua tarefa são etapas distintas. Então, confira o nome antes de enviar seu prompt. Aqui, selecionei DeepSeek V4.1 Flash com raciocínio máximo, espaço de trabalho com permissão de escrita e modo padrão. Máximo é uma configuração de raciocínio. Ela pode afetar o tempo de resposta e o uso. Portanto, escolha com cuidado ao comparar seus resultados com os de outra pessoa. A permissão de escrita é um bom ponto de partida, porque esta tarefa precisa editar arquivos e executar as verificações do projeto. Somente leitura

03:10 é para inspeção, enquanto acesso total é mais amplo. Quando o aplicativo pedir uma aprovação, leia a operação que ele quer realizar e decida se ela é adequada à sua tarefa. Agora, vamos dar a ele algo que realmente possamos avaliar. Preparei uma pequena loja fictícia de produtos promocionais chamada Northstar. Ela tem um CSV com 16 pedidos, um script de relatórios em Python e testes para as regras de cálculo. Não há dados reais de clientes aqui. O script atual tem dois erros. Ele inclui pedidos cancelados e não subtrai corretamente as unidades devolvidas. A tarefa é corrigir esses

03:41 cálculos sem alterar o CSV nem enfraquecer os testes. Isso nos dá um critério de sucesso muito mais claro do que perguntar se a resposta parece impressionante. As regras de negócio são simples. Pedidos cancelados não contam. Pedidos concluídos e reembolsados continuam contando como pedidos, inclusive os totalmente reembolsados. A quantidade efetivamente devolvida vem da coluna de unidades reembolsadas. A receita e as unidades precisam refletir essa quantidade. Também quero que os valores monetários sejam calculados como números inteiros. Isso mantém a aritmética precisa para este conjunto de dados. Impostos, frete e descontos não fazem parte deste exemplo,

04:12 então o agent não precisa inventar regras para eles. O prompt de correção pede ao harness que inspecione o projeto, explique os erros, corrija o script de resumo, execute os testes existentes e imprima os totais corrigidos. Especifico que ele deve preservar o CSV de origem e os testes de aceitação. Então, vamos enviar e ver. Certo, ele lê o projeto, reproduz as falhas e faz duas pequenas alterações. Ignora as linhas de pedidos cancelados e usa o valor real de unidades reembolsadas, em vez de tratar todo reembolso como zero. Os quatro testes originais passam agora. Executei-os novamente de forma independente e verifiquei

04:43 que tanto o CSV quanto o arquivo de teste permaneceram inalterados. O resultado corrigido é 14 pedidos, US$ 83 brutos, US$ 141 em reembolsos, US$ 662 líquidos e 41 unidades líquidas. O script original mostrava US$ 977. Portanto, isso corrige um erro real de cálculo no nosso exemplo. Você pode reproduzir a verificação com python3 -m unittest -v. O script corrigido e a versão inicial estão incluídos nos materiais do tutorial. Agora, o objetivo de inspecionar

05:15 as alterações é entender o que o agent corrigiu. Passar nos testes é uma evidência útil, e conferir o cálculo em si torna essa evidência mais forte. Quero que o resultado siga nossas regras de negócio, em vez de simplesmente produzir um número com uma aparência melhor. Vamos transformar isso em algo que você poderia compartilhar com um colega de equipe. Na mesma conversa, peça ao Harness que gere um relatório HTML responsivo com base no mesmo CSV, reutilizando os cálculos corrigidos. O prompt pede o intervalo de datas, a quantidade de pedidos, a receita bruta, os reembolsos, a receita líquida, as unidades líquidas, um gráfico de receita por produto e a tabela de produtos correspondente. Também peço instruções para gerar novamente o relatório quando o CSV mudar. Deixe-o autocontido, sem bibliotecas externas nem recursos baixados. Assim, fica mais fácil abrir o relatório diretamente e evita depender de outro serviço só para exibir um gráfico pequeno. Ele criou report.html, um gerador em Python chamado build_report.py e calculations.md. O relatório tem o fundo marfim quente e o texto azul-marinho que pedi, com os totais em destaque, o gráfico de produtos e a tabela

05:47 detalhada. Abra a barra lateral à direita, escolha Arquivos do espaço de trabalho e selecione o arquivo HTML. Ele é renderizado dentro do aplicativo para desktop, e o controle de tela cheia dá mais espaço. Aqui, a página mostra US$ 662 de receita líquida e 41 unidades líquidas, de acordo com o cálculo independente. Para recriá-lo depois de alterar o CSV, execute python3 build_report.py –check para verificar o relatório existente sem reescrevê-lo. O gerador reutiliza a função de cálculo corrigida

06:18 e, assim, o relatório e o script original seguem as mesmas regras. Esta parte exigiu alguma orientação. O agent corrigiu um erro de sintaxe ao criar o gerador e depois passou um tempo em uma tarefa lenta de captura de tela do navegador e em verificações repetidas. Eu já tinha confirmado que a prévia no aplicativo para desktop funcionava, então mandei parar essa tarefa e concluir os entregáveis. Isso nos leva a um controle útil nas configurações gerais. O comportamento de envio enquanto ocupado define o que acontece quando você envia outra mensagem durante uma execução. Minha configuração é Fila. Uma mensagem na fila tem controles para editar, remover e direcionar. Fila é

06:48 útil para a próxima etapa. Direcionar é útil quando a tarefa atual precisa de uma correção. Agora, é aqui que a barra lateral de arquivos se torna útil. Você pode inspecionar arquivos do espaço de trabalho e abrir prévias ao lado da conversa. Em uma tarefa de programação, revise as alterações de um relatório. Confira tanto a apresentação quanto os números por trás dela. O menu de mais também tem a opção Adicionar arquivo para anexar material a uma solicitação, além de atalhos como plano, compactar, permissões e modelo. Neste exemplo, o CSV já estava no espaço de trabalho selecionado, então o agent pôde lê-lo ali. O Harness também

07:20 documenta prévias para PDFs, imagens, documentos do Word, apresentações e planilhas. Essas prévias ajudam a inspecionar um entregável, mas têm limitações. Por exemplo, o visualizador de planilhas exibe resultados salvos de fórmulas sem recalculá-las e não mostra todos os recursos de uma planilha. Se uma pasta de trabalho contiver gráficos ou precisar ser recalculada, abra também o arquivo em si no seu aplicativo de planilhas. A prévia é uma forma de revisar um resultado. O arquivo editável continua sendo o entregável. Enfim, vamos continuar com nosso relatório.

07:51 pré-visualizações de documentos para PDFs, imagens, documentos do Word, apresentações e planilhas. Essas pré-visualizações ajudam você a inspecionar um material entregue, mas têm limitações. Por exemplo, o visualizador de planilhas exibe os resultados salvos das fórmulas sem recalculá-las e não mostra todos os recursos da planilha. Se uma pasta de trabalho contiver gráficos ou precisar ser recalculada, abra também o arquivo original no seu aplicativo de planilhas. A pré-visualização é uma maneira de revisar um resultado. O arquivo editável continua sendo o material entregue. Enfim, vamos continuar com nosso relatório.

08:22 Quero selecionar um produto específico e ver os números de receita e unidades dele, mantendo os totais da loja inteira claramente identificados. Então, vou pedir um filtro de produto, um controle claro para limpar a seleção e um destaque no item correspondente do gráfico. Esse último detalhe importa. Se selecionar um produto altera um número, mas deixa outro no total da loja, os rótulos precisam deixar isso evidente; caso contrário, uma interface funcional ainda pode ser enganosa. Agora, o menu suspenso está no relatório. Ao escolher launch t, aparecem US$ 200 de receita líquida e oito unidades líquidas. Ao escolher studio hoodie, aparecem US$ 180 e três unidades líquidas. Conferi os dois dentro da prévia real do harness.

08:55 O botão de redefinição retorna o menu suspenso para todos os produtos e limpa o resumo do produto selecionado. A seção da loja inteira continua mostrando 14 pedidos e US$ 662, com um rótulo claro de loja inteira. O código gerado também destaca o produto selecionado no gráfico e na tabela. A verificação independente abrange os cinco produtos, e os testes originais continuam passando. Esse é o workflow que eu queria mostrar. Acerte o cálculo, gere o resultado final e, depois, melhore a interface sem perder os dados corretos. Agora,

09:25 vamos ver como estender a aplicação. Em plugins, a aba oficial contém pacotes opcionais que vêm com o harness. Ainda assim, é preciso ativá-los. Os plugins adicionados aparecem em Instalados. O workflow para adicionar um plugin aceita o nome de um pacote, um repositório, um arquivo compactado ou o caminho de um plugin local. Depois da instalação, confira se ele está ativado. Só concluir o download não significa necessariamente que ele foi ativado. Esses plugins executam código, e a janela de instalação explica que eles rodam com as suas permissões. Verifique a origem antes de instalar um pacote que você não

09:56 reconhece. O Creator mode vai um passo além. Você descreve uma capacidade, onde ela deve aparecer e como verificá-la. O Harness pode então trabalhar na criação ou configuração do plugin. Esse modo é experimental, e um plugin pode carregar imediatamente ou precisar de uma reinicialização. Para criar um prompt útil, especifique o comportamento e onde ele deve aparecer na interface. Mantenha a primeira versão pequena o suficiente para inspecionar. Quando o código-fonte estiver pronto, instalá-lo e testar os controles permite ver se o acréscimo realmente funciona. Para esta demonstração, comecei uma nova conversa no Creator mode e pedi um painel de checklist para relatórios. Ele

10:28 precisa ter três itens: verificar os dados de origem, revisar os cálculos e abrir o relatório final. Também pedi uma contagem de itens concluídos e um botão de redefinição. Mantive o pedido pequeno e pedi que ele escrevesse o código-fonte antes da instalação. No início, o Creator passou muito tempo examinando o ambiente de execução. Então, restringi a instrução e pedi que concluísse o pequeno painel usando as APIs que já tinha inspecionado. Depois de revisar os arquivos gerados, abri Plugins, cliquei em Adicionar plugin e inseri o caminho da pasta do plugin local.

10:58 A instalação o adicionou à lista de plugins instalados, e o botão Ativar o ativou. O botão do checklist do relatório apareceu na barra lateral sem reiniciar o aplicativo. Marquei as três caixas, e o contador chegou a três de três. Ao mudar para outro painel e voltar, o estado foi mantido; a redefinição desmarcou todas as caixas e zerou a contagem. O plugin armazena esse estado na memória, então não foi feito para preservar as marcações após uma recarga completa. É um exemplo pequeno, mas demonstra o processo completo: descrever um acréscimo útil,

11:28 gerá-lo, inspecionar o código, instalá-lo e testar os controles de verdade. A outra extensão que quero abordar são as tarefas de automação. Ative esse pacote na lista oficial de plugins. Depois, você pode pedir na conversa que uma tarefa seja executada mais tarde ou em uma programação recorrente. Neste projeto, uma tarefa recorrente poderia gerar novamente o relatório semanal com base no CSV mais recente. Descreva a entrada, o resultado desejado, a programação e o fuso horário. Por exemplo, use America/New_York em vez de presumir que o aplicativo deve interpretar um horário sem fuso como o seu horário local. Para esta

11:59 demonstração, usei uma tarefa única e curta para podermos conferir a programação salva e o resultado na mesma sessão. Ativei as tarefas de automação, abri a página correspondente na barra lateral e usei Novo para iniciar uma conversa sobre a tarefa. Meu prompt pediu um lembrete único para dali a 90 segundos. Quando fosse executada, a tarefa deveria ler os dados de vendas, rodar o resumo existente e criar um arquivo de lembrete para o tutorial com a receita e a contagem de unidades verificadas. A tarefa salva mostrava que seria executada uma vez e o horário local esperado do fuso Eastern. Depois que foi executada, a

12:30 aba de registros de entrega mostrou a instrução, e a conversa original gerou o arquivo tutorial-reminder.md. Esse arquivo contém US$ 662 e 14 unidades líquidas, de acordo com os dados do projeto. A tarefa única então ficou inativa. Não há nenhum trabalho recorrente dessa demonstração ainda em execução. Para um relatório semanal de verdade, você escolheria uma programação recorrente e verificaria o horário e o fuso antes de confiar nela. Há alguns detalhes práticos aqui. As instruções agendadas voltam para a conversa original. O aplicativo precisa

13:00 continuar em execução. Fechar a janela do desktop pode deixar o backend em execução, enquanto encerrar o aplicativo por completo interrompe o agendamento. Você pode editar as instruções e o horário de tarefas ativas e inspecionar os registros de entrega. Um registro de entrega significa que a instrução chegou à caixa de entrada da conversa. Não comprova que o agent concluiu o trabalho. Portanto, confira também o relatório ou a resposta resultante. Agora, antes de encerrar, vamos entender os outros modos. Standard é o ponto de partida normal para trabalhar com arquivos de código e pesquisa. É o que estamos usando no workflow principal. PTC significa tool calling programático. Ele permite que o agent escreva

13:30 TypeScript para coordenar chamadas de ferramentas e combinar os resultados. Isso pode ser útil para lotes de operações, mas não garante automaticamente custos menores ou conclusão mais rápida. Minimal se aproxima mais de uma configuração experimental de referência, com um shell persistente e menos recursos padrão. Creator acrescenta as ferramentas e orientações para estender o harness. Escolha uma predefinição ao iniciar uma nova tarefa. Alterar a predefinição padrão não substitui as ferramentas em uma sessão que já está em execução. Standard também oferece suporte a subagents para partes delimitadas do trabalho. O pacote opcional de equipes de agents adiciona uma configuração diferente de colaboração, com

14:01 colegas de equipe, mensagens e tarefas compartilhadas. É experimental, e os colegas de equipe compartilham o mesmo diretório de trabalho; por isso, atribua responsabilidades claras quando houver sobreposição entre arquivos. O seletor de modelos também é flexível. As opções documentadas incluem outros provedores e endpoints compatíveis personalizados. Isso não significa que todas as assinaturas existentes possam ser conectadas por meio dele. Em particular, o guia do provedor diz que provedores OAuth de terceiros, como codecs, não são compatíveis com esse seletor. A lista oficial de plugins também inclui entrada de voz experimental e revisão de autorização automática, além de configurações para o shell,

14:33 o loop do agent, subagents e busca na web. Essas são áreas opcionais para explorar conforme seu workflow cresce. Mantive esta demonstração concentrada nos recursos que acabamos de usar. Agora, vamos falar de custos. O Harness é open source sob a licença MIT. As chamadas ao modelo ainda têm seus próprios custos, e executar o aplicativo no seu computador não significa que o modelo esteja rodando localmente. Nos preços consultados para este tutorial, o V4.1 Flash custa 15 centavos por milhão de tokens de entrada sem cache e 60 centavos por milhão de tokens de saída durante os horários fora de pico. Nos horários de pico, os preços dobram, e tokens de entrada em cache são

15:05 mais baratos. Consulte a página de preços atual antes de fazer seu orçamento com base nesses valores. Uma tarefa de agent pode fazer várias solicitações ao modelo, incluir raciocínio, usar ferramentas e delegar trabalho. Portanto, um único prompt não corresponde necessariamente a uma única solicitação faturável. Inspecione o uso real da tarefa em vez de estimar tudo com base na duração do seu prompt. Neste passo a passo, o harness corrigiu o cálculo, gerou o relatório, implementou um filtro de produto funcional, executou a tarefa única e carregou o plugin de checklist personalizado.

15:35 Esses são resultados úteis que pude inspecionar no aplicativo desktop de verdade. Também foi preciso orientá-lo. A tarefa do relatório passou tempo demais expandindo suas verificações, e o Creator precisou de uma instrução mais específica antes de concluir o pequeno plugin. Então, eu manteria a tarefa específica e conferiria o resultado ao longo do processo. Este exemplo basta para demonstrar o workflow, mas não estabelece como o agent vai se sair em uma base de código de produção de grande porte. Pessoalmente, gosto de ter a conversa, as alterações no código, os arquivos gerados e as edições posteriores reunidos. Comece com um projeto em que você saiba como é um resultado

16:06 correto e avance a partir daí. No geral, é bem legal. Enfim, me contem o que acharam nos comentários. Se gostaram deste vídeo, considerem fazer uma doação pela opção Super Thanks ou se tornar membro clicando no botão Participar. Além disso, deixem um gostei neste vídeo e se inscrevam no meu canal. Vejo vocês no próximo. Até lá, tchau.

Transcrição original

[00:02] [music] Hi, welcome to another video. Deepseek harness now has a desktop application and I wanted to go beyond the announcement and actually use it. In this video, we’re going to set it up, give it a project with broken calculations, build a report from that project, and then improve the report through a follow-up conversation. We’ll also look at plugins, creator mode, and automation because there is quite a lot here beyond sending a prompt to a model. And I’ll explain the model settings and costs as we go so you can understand

[00:34] what you’re actually running. I’m using the official Mac application version 0.2.0 release candidate 2. This is still a developer preview, so the exact interface can change. The Windows download and Linux web setup are available options, but this walkthrough is on Mac OS. Now, first, what is a harness? It’s the application around the model. The model decides what to do and the harness provides the tools for reading files, editing code, running commands, and reviewing the result. You need both parts to turn a chat response

[01:04] into work on your computer. For installation, go to the official DeepC Caress page. There are downloads for Apple Silicon Max and 64-bit Windows. Choose the one for your machine and follow the installer. The packaged desktop app carries its own runtime, so you don’t need to install Node separately just to use it. If you’re on Linux, the documented option is the web interface. Install a supported node version, then run npx at deepsee-ai/DSH, followed by web. The repository requires node 22.19 or later within the 22 series

[01:38] or node 24 and above. That starts the interface locally and opens your browser, normally on port 3080. The d- no option prevents it from opening another tab. This is the browser version of harness. I’m continuing with the desktop app here. Now, open settings through the more or under models. You can configure the DeepSseek provider with your API key. I already have a key configured in this installation. Keep yours out of screenshots and any project files you’re going to share. Desktop

[02:09] also supports DeepSseek account signin, which is a separate way of accessing account funded models. An API key entry uses API billing, while the signedin account route has its own funding and quota. Make sure you know which one you’ve selected. There’s another setting worth checking before we start. Under general, turn on show coding view that exposes the coding trajectory, code changes, and agent presets that we’ll use in this walkthrough. If your screen looks simpler than mine, this is one of the first things to check. Next, add the project folder through the plus button

[02:40] in the sidebar. Then choose that workspace above the composer. Adding a folder and selecting it for your task are separate steps. So check the name before sending your prompt. Here I’ve selected DeepSseek V4.1 flash with max thinking, workspace right, and standard mode. Max is a reasoning setting. It can affect response time and usage. So make that choice deliberately when comparing your results with someone else’s. Workspace right is a useful starting point because this task needs to edit files and run the project’s checks. Read

[03:10] only is for inspection while full access is broader. When the app asks for an approval, read the operation it wants to perform and decide whether it fits your task. Now let’s give it something we can actually evaluate. I’ve prepared a tiny fictional merch shop called Northstar. It has a CSV containing 16 orders, a Python reporting script, and tests for the calculation rules. There is no real customer data here. The existing script has two mistakes. It includes canceled orders and it doesn’t subtract returned units properly. The task is to fix those

[03:41] calculations without changing the CSV or weakening the tests. That gives us a much clearer success condition than asking whether the answer looks impressive. The business rules are straightforward. Cancelled orders contribute nothing. Completed and refunded orders still count as orders, including fully refunded ones. The actual returned quantity comes from the refunded units column. Revenue and units need to reflect that quantity. I also want money calculated in integer sense. This keeps the arithmetic precise for this data set. Taxes, shipping, and discounts aren’t part of this example,

[04:12] so the agent doesn’t need to invent rules for them. The repair prompt asks harness to inspect the project, explain the mistakes, fix the summarizer, run the existing tests, and print the corrected totals. I explicitly tell it to preserve the source CSV and the acceptance tests. So, let’s send it and see. Okay, it reads the project, reproduces the failures, and makes two small changes. It skips canceled rows and uses the actual refunded units value instead of treating every refund as zero. All four original tests now pass. I reran them independently and checked

[04:43] that both the CSV and test file were unchanged. The corrected result is 14 orders, $83 gross, $141 in refunds, $662 net, and 41 net units. The original script showed $977. So this fixes a real calculation error in our example. You can reproduce the check with Python 3-m Utant-V. The fixed script and starter version are both included with the tutorial materials. Now the point of inspecting

[05:15] the changes is to understand what the agent repaired. Passing the tests is useful evidence and checking the actual calculation makes that evidence stronger. I want the result to follow our business rules rather than simply produce a nicer looking number. Let’s turn this into something you might actually share with a teammate. In the same conversation, ask Harness to generate a responsive HTML report from the same CSV, reusing the corrected calculations. The prompt asks for the date range, order count, gross revenue, refunds, net revenue, net units, a

[05:47] product revenue chart, and the underlying product table. I also ask for instructions to regenerate the report when the CSV changes. Make it self-contained with no external libraries or downloaded assets. That makes the report easier to open directly and it avoids depending on another service just to display a small chart. It created report.html, a Python generator called build_report. py and calculations.md. The report has the warm ivory background and navy text I requested with the headline totals, product chart, and

[06:18] detailed table. Open the right sidebar, choose workspace files, and select the HTML file. It renders inside the desktop app, and the full screen control gives you more room. Here, the page shows $662 in net revenue and 41 net units, matching the independent calculation. To rebuild it after changing the CSV, run Python 3 build_report. py add-e to verify the existing report without rewriting it. The generator reuses the repaired calculation

[06:48] function, so the report and the original script follow the same rules. This part needed some direction. The agent corrected a syntax error while building the generator, then spent time on a slow browser screenshot job and repeated checks. I had already confirmed the desktop preview worked, so I told it to stop that job and finish the deliverables. That brings us to a useful control under general settings. Send behavior while busy decides what happens when you submit another message during a run. My setting is Q. A cued message has edit, remove, and steer controls. Q is

[07:20] useful for the next step. Steer is useful when the current task needs a correction. Now, this is where the file sidebar becomes useful. You can inspect files from the workspace and open previews alongside the conversation. For a coding task, review the changes for a report. Look at both the presentation and the figures behind it. The plus menu also has add file for attaching material to a request along with shortcuts such as plan, compact, permission, and model. For this example, the CSV was already in the selected workspace, so the agent could read it there. Harness also

[07:51] documents previews for PDFs, images, Word documents, presentations, and spreadsheets. Those previews help you inspect a deliverable, but they have limits. For example, the spreadsheet viewer displays saved formula results without recalculating them and it doesn’t show every spreadsheet feature. If a workbook contains charts or needs recalculation, open the actual file in your spreadsheet application as well. A preview is one way to review an output. The editable file remains the deliverable. Anyway, let’s continue with our report.

[08:22] I want to select an individual product and see its revenue and unit figures while keeping the full shop totals clearly labeled. So, I’ll ask for a product filter, a clear reset control, and a highlight on the matching chart entry. That last detail matters. If selecting a product changes one number but leaves another at the shop total, the labels need to make that obvious, otherwise a working interface can still be misleading. Now, the drop down is in the report. Choosing launch t shows $200 in net revenue and eight net units. Choosing studio hoodie shows $180 and three net units. I checked both inside

[08:55] the actual harness preview. Reset returns the drop down to all products and clears the selected product summary. The whole shop section stays at 14 orders and $662 with a clear whole shop label. The generated code also highlights the selected product in the chart and table. The independent check covers all five products and the original tests still pass. That’s the workflow I wanted to show. Get the calculation right, generate the deliverable, then improve the interface without losing the correct data. Now,

[09:25] let’s look at extending the application. In plugins, the official tab contains optional bundles that ship with harness. They still need to be enabled. Installed is where added plugins appear. The add plugone workflow accepts a package name, repository, archive, or local plug-in path. After installation, check that it’s enabled. Simply finishing the download doesn’t necessarily activate it. These plugins execute code, and the install dialogue explains that they run with your permissions. Check the source before installing a package you don’t

[09:56] recognize. Creator mode takes this a step further. You describe a capability where it should appear and how to verify it. Harness can then work on creating or configuring the plug-in. This mode is experimental and a plugin may load immediately or need a restart. For a useful prompt, specify the behavior and where it belongs in the interface. Keep the first version small enough to inspect. Once the source is ready, installing it and exercising the controls tells you whether the addition actually works. For this demo, I used a new conversation in creator mode and asked for a report checklist panel. It

[10:28] needs three items. Verify source data, review calculations, and open the final report. I also asked for a completed count and a reset button. I kept the request small and asked it to write the source before installing it. Creator initially spent a lot of time examining the runtime. So, I narrowed the instruction and asked it to finish the small panel using the APIs it had already inspected. After reviewing the generated files, I opened plugins, clicked add plugin, and entered the local plug-in folder path.

[10:58] Install added it to the installed list and enable now activated it. The report checklist button appeared in the sidebar without restarting the app. I checked all three boxes and the counter reached three of three. Switching to another panel and back kept the state, reset cleared every check box, and returned the count to zero. The plugin stores that state in memory, so it isn’t intended to preserve the checks after a full reload. This is a small example, but it demonstrates the complete process, describe a useful addition,

[11:28] generate it, inspect the code, install it, and test the actual controls. The other extension I want to cover is automation tasks. Enable that bundle from the official plugins list. You can then ask in the conversation for a task to happen later or on a repeating schedule. For this project, a recurring task could regenerate the weekly report from the latest CSV. Describe the input, the output you want, the schedule, and the time zone. For example, use America/ New York rather than assuming the application should interpret a bare time as your local time. For this

[11:59] demonstration, I used a short one-time task so we could check the saved schedule and the result in the same session. I enabled automation tasks, opened its sidebar page, and used new to start a task conversation. My prompt asked for a one-time reminder 90 seconds later. When it ran, it had to read the sales data, run the existing summary, and write a tutorial reminder file with the verified revenue and unit count. The saved task showed once and the expected Eastern local time. After it fired, the

[12:30] delivery records tab showed the instruction and the original conversation produced tutorial-reer.md. That file contains $66241 net units which match the project. The one-time task then became inactive. There is no recurring job left running from this demonstration. For a real weekly report, you would choose a repeating schedule and verify the time and time zone before relying on it. There are a few practical details here. Scheduled instructions return to their original conversation. The app needs to

[13:00] remain running. Closing the desktop window can leave its backend running while fully quitting stops scheduling. You can edit active task instructions and timing and inspect delivery records. A delivery record means the instruction reached the conversation inbox. It doesn’t prove the agent finished the work. So check the resulting report or response as well. Now before wrapping up, let’s make sense of the other modes. Standard is the normal starting point for coding files and research. That’s what we’re using for the main workflow. PTC stands for programmatic tool calling. It lets the agent write

[13:30] TypeScript that coordinates tool calls and combines their outputs. that can be useful for batches of operations, but it isn’t an automatic guarantee of lower cost or faster completion. Minimal is closer to an experiment baseline with a persistent shell and fewer of the standard features. Creator adds the tools and guidance for extending harness. Choose a preset when starting a new task. Changing the default doesn’t replace the tools in an already running session. Standard also supports sub aents for bounded pieces of work. The optional agent teams bundle adds a different collaboration setup with

[14:01] teammates, messaging, and shared tasks. It’s experimental and the teammates share the same working directory, so give them clear responsibilities when files overlap. The model picker is flexible, too. The documented options include other providers and custom compatible endpoints. That doesn’t mean every existing subscription can be connected through it. In particular, the provider guide says third party OOTH providers such as codecs aren’t supported in that picker. The official plug-in list also includes experimental voice input and auto authorization review, plus configuration for shell,

[14:33] the agent loop, sub aents, and web search. Those are optional areas to explore as your workflow grows. I kept this demonstration focused on the features we just used. Now, let’s talk about cost. Harness itself is open source under the MIT license. The model calls still have their own bill, and running the app on your computer doesn’t mean the model is running locally. At the pricing checked for this tutorial, V4.1 Flash costs 15 cents per million uncashed input tokens and 60 cents per million output tokens during off- peak hours. Peak rates are double and cached

[15:05] input is cheaper. Check the current pricing page before budgeting around those numbers. An agent task can make several model requests, include reasoning, run tools, and delegate work. So, a single prompt isn’t necessarily a single billable request. Inspect the actual usage for the job rather than estimating everything from how long your prompt was. In this walkthrough, harness repaired the calculation, generated the report, handled a working product filter, ran the one-time task, and loaded the custom checklist plugin.

[15:35] Those are useful results that I could inspect in the actual desktop app. It also needed steering. The report task spent too long expanding its checks, and creator needed a narrower instruction before finishing the small plug-in. So, I would keep the task specific and check the output as you go. This example is enough to demonstrate the workflow, but it doesn’t establish how the agent will perform across a large production codebase. Personally, I like having the conversation, code changes, generated files, and follow-up edits together. Start with a project where you know what

[16:06] a correct result looks like and build from there. Overall, it’s pretty cool. Anyway, let me know your thoughts in the comments. If [music] you like this video, consider donating through the super thanks option or becoming a member by clicking the join button. Also, give this video a [music] thumbs up and subscribe to my channel. I’ll see you in the next one. [music] Until then, bye.