OpenCode 2.0 é absurdo! O rival open source do Claude Code subiu de nível
Autoria: Matheus Battisti - Hora de Codar · 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: OpenCode 2.0 é ABSURDO! O rival open source do Claude Code ficou outro nível · Canal: Matheus Battisti - Hora de Codar · 17:47 · Assistir no YouTube
Tópicos: Agentes de IA, Claude Code, Engenharia de software com IA, Ferramentas de desenvolvimento com IA, Open source e ecossistemas de software
O vídeo apresenta os principais recursos do OpenCode 2.0 e demonstra como sessões podem ser compartilhadas entre terminal, aplicativo desktop e celular. Também mostra a criação de subagents que trabalham em segundo plano e o uso de worktrees para comparar versões de um projeto em paralelo. Em seguida, o apresentador cria um plugin para bloquear comandos destrutivos e testa seus limites. Por fim, comenta a diferença entre a versão exibida no repositório e a versão do produto, e indica onde acompanhar as mudanças.
Pontos-chave
Seção intitulada “Pontos-chave”- As sessões do terminal, do aplicativo desktop e do celular ficam sincronizadas e podem ser acessadas remotamente.
- Subagents podem executar tarefas em segundo plano, usar modelos diferentes e devolver resultados à sessão principal.
- Worktrees permitem desenvolver e comparar versões distintas do projeto em paralelo.
- O apresentador demonstra um plugin que bloqueia comandos de terminal para evitar ações destrutivas, como apagar um banco de dados.
- O plugin bloqueia a exclusão feita por comandos de terminal, mas não intercepta uma rota preexistente de redefinição do banco.
- O vídeo explica que a versão do OpenCode aparece como 2, embora o repositório ainda mostre a versão 1.
- O changelog é recomendado como fonte para acompanhar as mudanças do OpenCode.
Capítulos
Seção intitulada “Capítulos”| Início | Capítulo | Resumo |
|---|---|---|
| 00:00 | Novidades do OpenCode 2.0 | O apresentador introduz a atualização, destacando sessões integradas, subagents e plugins. |
| 03:10 | Sessões sincronizadas e subagents | A demonstração mostra o compartilhamento de sessões entre interfaces e a criação de um subagent revisor. |
| 06:22 | Revisão em segundo plano | O revisor é executado em paralelo, retorna suas conclusões à sessão principal e aponta um problema no código. |
| 08:38 | Comparação de versões com worktrees | Duas versões visuais são criadas em paralelo e, após a comparação, a versão escura é escolhida para o projeto principal. |
| 12:25 | Criação e teste de um plugin | O apresentador cria um plugin para bloquear comandos destrutivos e testa como ele reage a diferentes formas de redefinir o banco. |
| 15:40 | Versão, changelog e encerramento | O vídeo esclarece a diferença entre a versão do produto e a do repositório e termina com recomendações e agradecimentos. |
Citações
Seção intitulada “Citações”Você pode conectar pelo celular: basta apontar a câmera para o QR Code e começar a programar de outro lugar. — 00:33
O revisor terminou e devolveu a mensagem para a minha sessão, mas sem interrompê-la. — 08:03
Posso orquestrar o andamento de dois worktrees e verificar os resultados de cada um. — 09:09
O plugin Guardar interceptou os comandos e bloqueou a exclusão. — 15:09
Conceitos e entidades
Seção intitulada “Conceitos e entidades”- OpenCode (ferramenta): Ferramenta de programação com IA apresentada no vídeo, que recebeu uma atualização para a versão 2.
- Claude Code (ferramenta): Ferramenta citada como referência para comparar subagents e plugins.
- Codex (ferramenta): Ferramenta mencionada ao falar sobre possíveis integrações futuras de plugins.
- OpenRouter (ferramenta): Serviço cuja chave o apresentador configura para corrigir um erro ao executar o subagent.
- DeepSeek (modelo): Modelo mencionado como o usado na sessão principal durante a demonstração de subagents.
- GLM-5.3-Flash (modelo): Modelo indicado para o subagent revisor, a fim de obter uma opinião diferente da sessão principal.
- worktrees (conceito): Recurso usado para criar versões paralelas de um projeto e comparar alternativas de implementação.
- plugins (conceito): Extensões que executam ações no OpenCode conforme os gatilhos definidos para a sessão.
- Hostinger (empresa): Empresa patrocinadora mencionada na divulgação de serviços de VPS.
- Matheus Battisti (pessoa): Apresentador do vídeo e responsável pelo canal Hora de Codar.
Tradução completa (pt-BR)
Seção intitulada “Tradução completa (pt-BR)”00:00 Pessoal, nosso querido OpenCode evoluiu para a versão 2. Houve muitas mudanças, muitas novidades. E vou mostrar aqui, neste vídeo, o que mais chamou minha atenção, tudo na prática, para vermos os recursos mais interessantes que chegaram ao OPC V2. Então, vamos lá. Bom, pessoal, preparei uma apresentação rapidinha para conversarmos e, depois, vamos ver cada coisa uma por uma, certo? Uma das coisas mais legais é que agora podemos trabalhar em uma sessão de forma integrada. E o que isso
00:33 significa? Ela funciona no terminal e também no aplicativo para desktop. Se você não sabia, o OpenCode também tem um aplicativo para desktop, para você fazer seus projetos como no Codex Cloud Code. E também dá para se conectar pelo celular: basta apontar a câmera para o QR Code e você pode começar a programar em outro lugar; não precisa ficar no PC. Isso é muito interessante. Na versão um, certo, o OpenCode funcionava com um agent diferente para cada interface. Elas ficavam desconectadas, como mostra esta figura
01:04 aqui. Na versão dois, não: conectaram tudo. Se você enviar uma mensagem em uma delas, já vai recebê-la na outra. Tudo acontece de forma assíncrona, deixando o processo mais fluido e também mais responsivo. Também temos aqui uma opção de subagents que vão rodar em segundo plano. Basicamente, funciona como no Claude Code: podemos definir tarefas para os subagents. Como o OpenCode tem essa característica de se conectar a vários
01:35 providers, podemos delegar o que o subagent vai fazer e qual modelo vai usar. Então, é muito flexível. Por exemplo, estou programando com o deepic e quero que o modelo MIMO confira o que aconteceu por último no código, certo? Faça uma revisão. Então, teremos aqui uma experiência bem parecida com a do Claude Code. Ele mantém os subagents trabalhando. Quando terminam, eles retornam as informações de que o agent principal precisa, e ele as integra à conversa, se necessário; caso contrário, simplesmente nos dá um retorno.
02:07 Outra coisa legal é que ele também vem com plugins, certo? Isso está crescendo bastante. Estamos criando plugins para usar no próprio serviço, certo? São os Claude Code mods, além de um recurso chamado Code Mode, que vai nos ajudar a integrar as ferramentas que usamos no sistema. Por exemplo, se trabalharmos do jeito tradicional, temos que interagir com o GitHub para enviar alguma coisa, conferir telas no Figma, consultar uma API e trabalhar no linter; ele precisa fazer uma solicitação para cada um e esperar tudo isso acontecer antes de podermos continuar. Com Code Mode, há um script gerado pelo próprio OpenCode, e as ferramentas também se comunicam de forma síncrona, facilitando esse processo e permitindo a execução quando precisamos trabalhar com as quatro ao mesmo tempo, o que é bem interessante e único, certo? Não vi isso em nenhum outro editor de código, mas vamos ver na prática. Vamos testar tudo. Bom, pessoal,
02:39 vou mostrar primeiro a questão das sessões simultâneas, certo? Estou com o OpenCode aberto aqui no terminal. Vou pedir para ele iniciar o projeto, certo? “Inicie este projeto e me mostre como acessá-lo.” Tenho uma sessão rodando aqui no terminal. Então, se eu vier aqui, por exemplo, ao OpenCode na interface, consigo ver exatamente a sessão que eu estava usando no terminal. Pedi para ele iniciar e, depois, fiz um corte aqui, pessoal. Perguntei o que havia no projeto, e ele mostrou aqui também. Então, foi exatamente isso que
03:10 fiz aqui, certo? Ah, onde está meu prompt? “O que há neste projeto?” Então, isso aparece lá também. O próprio projeto está aqui, olha. É o projeto “sala livre”, que criei rapidinho só para testarmos. E, se eu pedir outra coisa, por exemplo, para mudar este botão de “teste grátis” para “comece grátis”. Então: “Mude o texto do botão de ‘teste grátis’ para ‘comece grátis’.” Ele já detecta isso aqui também, viu? E as sessões estão
03:44 conectadas. Então, este é um dos aprimoramentos que conecta tudo. Olha, continuamos recebendo aqui mensagens sobre a sessão pelo celular. Aqui está um exemplo que fiz, certo? Usando o comando “open code per remote”, você vai expor esta sessão atual à internet e, por meio deste QR Code, qualquer pessoa poderá acessá-la e interagir com ela. Então, nesse modo, se eu digitar
04:17 este comando, ele vai abrir outra sessão remota e me permitir acessar pelo celular a sessão que está no meu computador. E isso vira um controle remoto. Podemos controlar o Open Interpreter pelo celular. Então, vou mostrar a vocês como criar este subagent, certo? Na documentação, pedem para descrever a função do subagent e também qual modelo ele vai usar. Pedi para criar um subagent chamado “revisor” no arquivo open agents
04:47 revisor MD. Então, é um arquivo que vai ficar persistente ali. Poderemos chamá-lo quando quisermos. Ele usa o modelo GLM 5.3 Flash, certo? Para obter uma opinião diferente da do modelo que estou usando, que é o DeepSeek 4.1. E especifico que o revisor só trabalha com código, então ele tem ferramentas limitadas. Depois que ele for criado, poderei acionar esse revisor, e ele vai agir em paralelo, certo? Então, vou esperar ele terminar e vou acioná-lo para vocês verem. Enquanto ele cria, pessoal, não se esqueçam de baixar o AI System
05:17 Factory. Este é um e-book gratuito, pessoal, que estou oferecendo aqui no canal. Nele, vocês vão encontrar uma estratégia para projetar sistemas antes de começar a desenvolvê-los, certo? E também a evolução, o passo a passo da criação de sistemas com IA, até minhas estratégias para encontrar clientes para os sistemas que crio com IA, certo? O ChatGPT assumiu o controle do navegador aqui e está fazendo alguma coisa, certo? Mas vou deixar este link na descrição
05:49 para vocês baixarem este e-book, certo? É totalmente gratuito. Na página, explico como funciona. É um material bem denso, ilustrado, com vários recursos para vocês usarem, como skills e prompts, tudo de graça. Entenderam? Vou deixar o link aqui para vocês baixarem. Então, pessoal, ele terminou de criar o subagent, certo? Deu o retorno aqui e ele fica disponível aqui, certo? Agent revisor. Como vamos ativá-lo? Pode ser por meio de um prompt. Então, vou pedir aqui: “Inicie o subagent revisor em segundo plano para revisar
06:22 a regra de conflito de horários e a regra de capacidade da sala”, certo? Algo do próprio projeto. Enquanto ele revisa, vou continuar com a próxima etapa. Então, estou iniciando alguém, certo? Ah, um subagent em segundo plano. E agora isso também me permite continuar a sessão aqui enquanto o subagent trabalha ali. Ele vai fazer a revisão inteira aqui. Poderíamos continuar o projeto, se quiséssemos. Aqui, na verdade, ocorreu um erro de modelo. Vou configurar a chave do OpenRouter e volto para mostrar funcionando.
06:55 Oi, pessoal, agora está rodando de verdade. Consigo ver aqui e perguntar, certo? Estou em uma sessão separada da do revisor, certo? E ele aparece aqui para mim, certo? Sim, está rodando. Este é o status do revisor, certo? E agora também podemos chamá-lo aqui, se quisermos, certo? Podemos digitar @reviewer; ele também está disponível aqui. Então, era só um erro de chave e essas coisas. Agora ajustei a chave do OpenRouter, e está rodando de verdade. Vamos esperar o resultado para ver como ele se integra. Olha, o revisor terminou, então ele retorna
07:29 a mensagem para a minha sessão, mas não a interrompe. Então, é bem parecido, certo? Como funciona no Claude Code, você também terá acesso a esse formato de workflow, com subagents, no OpenCode. Olha, ele disse aqui que encontrou algo em um code token, teve um achado, que é um bug real. Bem ali no código que acabei de escrever. Então, agora corrigiríamos isso, certo? Outra coisa muito legal que você pode fazer agora com o OpenCode é trabalhar com worktrees e ver os resultados dos dois, certo? Para quem não sabe, worktrees são basicamente
08:03 a mensagem para a minha sessão, mas isso não a interrompe. Então é bem parecido, certo? Como funciona no Cloud Code, você também terá acesso a esse formato de workflow no OpenCode, com subagents. Olha, aqui ele disse que encontrou algo em um token de código; houve uma descoberta, que é um bug de verdade. Bem ali no código que acabei de escrever. Então agora nós o corrigiríamos, certo? Outra coisa muito legal que você pode fazer agora com o OpenCode é trabalhar com árvores de trabalho e ver os resultados das duas, certo? Para quem não sabe, as árvores de trabalho são basicamente
08:38 uma forma de eu fazer um fork do projeto, certo, e seguir em uma direção; e, se em algum momento eu não quiser mais, posso voltar ao ponto em que o fork foi criado, certo, ou executar as duas versões em paralelo, beleza? Então, olha só que legal o que podemos fazer aqui no OpenCode. Quero comparar duas direções visuais, certo? Então, crio duas worktrees para este projeto: uma chamada visual claro e outra, visual escuro. Instalo as dependências de cada uma. Para a visual claro, deixo a página mais minimalista; para a visual escuro, faço uma versão com o fundo bem escuro, quase preto, e uso azul-neon nos detalhes.
09:09 Vou deixá-las aqui, olha só: executo as duas em segundo plano, cada uma em uma porta diferente, e peço os dois endereços para poder abri-las lado a lado. Assim, posso, olha só, orquestrar pelo OpenCode o andamento das duas worktrees, certo, e verificar os resultados de cada uma. Como em um teste A/B, para ver de qual gosto mais e escolher uma. Então, vou esperar ele me responder aqui; vou mostrar para vocês e depois selecionamos a que queremos e continuamos com ela no projeto. Só para deixar isso mais claro para vocês, certo?
09:42 As worktrees são como se houvesse aquele ponto original ali, que é o projeto. Aí eu crio uma ramificação a partir dele, certo? Depois, a ideia é escolher a versão certa, ou a que eu quero, e voltar ao ponto em que o projeto estava, com esse acréscimo. Então, vou precisar tomar uma decisão aqui, certo? Não vou continuar avançando na worktree para sempre, pessoal. Enquanto ele cria isso aqui, um agradecimento ao nosso patrocinador, pessoal. Se vocês querem um VPS, se estão procurando um bom servidor por um preço justo, é a Hostinger, beleza? Tenho todos os meus projetos hospedados lá.
10:14 Não há indisponibilidade, e não tem lentidão quando tentamos acessá-los sem cache, sabe, a partir de IPs diferentes. O servidor deles é ultrarrápido. Estão sempre investindo em infraestrutura e, neste mês, têm uma promoção muito boa; além disso, vocês têm nosso cupom aqui para conseguir ainda mais desconto. O link vai estar na descrição deste vídeo, beleza? E aqui eu sempre recomendo o KVM2, que é um servidor com ótimas especificações e que dá conta de vários projetos ao mesmo tempo. Vocês vêm aqui e escolhem o plano. Na seção de compra aqui, pessoal, é muito simples. Quanto maior o período,
10:47 maior o desconto que eles dão. Escolham o servidor mais próximo de vocês; se houver a opção Brasil, escolham essa. Se não, os Estados Unidos. Gosto de escolher Ubuntu. Para mim, é um bom Linux, uma boa distribuição Linux. E aqui confiram se o cupom “teus hora de codar” está aplicado para receber aqueles 10% extras de desconto, além da promoção atual. É só continuar e pronto: vocês terão o servidor imediatamente e poderão colocar qualquer tipo de projeto nele. Entenderam? Estamos de volta ao OpenCode. Então, vamos ver se as worktrees vão funcionar, certo? Do jeito que dizem que funciona. Ah, então vejam só. Ele criou as duas versões aqui no OpenCode para desktop. Fica até mais fácil acompanhar, certo? Temos a minimalista e a escura aqui, certo? Então podemos vir aqui, arrastar as duas para cá, e elas estão em execução. E posso escolher qual eu quero, beleza? Esta aqui é a minimalista, vejam, é clara, certo? Esta aqui é a escura. Bem, agora vem a parte de escolher, certo? Então, vamos
11:19 dizer que gostei da versão escura. Gostei mais da versão escura. Pare os dois servidores e traga esta versão para o projeto principal. Depois, cabe a nós decidir se removemos as worktrees. Mas é uma boa prática removê-las. Assim, vocês veem que estou trabalhando em uma e na outra, e não há problema. Elas vão refletir as mudanças da mesma forma. Olhem, ele já está executando o comando que passei no desktop. Então, oferece bastante versatilidade. Podemos seguir com a que mais gostamos. Vou esperar ele retornar aqui para mim,
11:52 para ver. E pronto. Então, a porta 3000 está com o projeto escolhido. Ele parou os dois servidores, e a porta 3000 está no modo escuro, beleza, pessoal? Outra coisa é a questão dos plugins, certo? Plugins ou mods, como vocês preferirem chamar, vão executar alguma ação, certo, aqui dentro do nosso OpenCode. Então, vou escrever um plugin aqui para este projeto, na pasta Plugins do OpenCode, que bloqueie comandos do terminal que apaguem bancos de dados ou executem git antes de serem executados. Ou seja, comandos perigosos, certo, que não queremos executar quando mandamos que ele faça algo,
12:25 porque são comandos destrutivos. Quando bloquear um comando, a mensagem deve explicar o motivo. Ative o plugin nesta sessão sem reiniciar e me avise quando estiver ativo. Então, plugins são um recurso novo que chegou de forma geral, certo? Isso já está em vigor. DeepSeek Harness tem plugins, Claude tem plugins, e provavelmente vamos vê-los chegando também ao Codex e a outros coding agents, certo? Se não me engano, o Cursor também já tem. E esses são recursos extras que vão interagir, certo, no nosso ciclo de desenvolvimento.
12:59 Escolhemos o que ele faz e quando funciona. E a sessão tem este gatilho, certo, este gatilho para que, quando precisar ser ativado, o plugin entre em ação, beleza? Então, ele vai criar isso aqui, certo? E o bom é que dá para fazer tudo por meio de comandos, certo, prompts, e geralmente ele cria o código em uma linguagem específica. Por exemplo, no Claude Code é TypeScript, certo? Aqui no OpenCode, não lembro exatamente qual é a linguagem, se há uma linguagem específica,
13:30 certo? Ah, também é TypeScript, vejam só. Então, como vocês podem ver, é um padrão, certo, que a Anthropic criou no Claude Code e que agora está se espalhando para outros editores de código, certo? Então, vamos esperar aqui. Ele vai criar os plugins aqui, olhem só. O que estamos esperando? Vamos continuar. Daqui a pouco, teremos isso. Bem, pessoal, ele retornou aqui, certo? Trouxe o plugin que criamos. Pessoal, comecei uma nova sessão aqui para podermos testar o
14:03 plugin, certo? Então, vou pedir para ele apagar o banco de dados e solicitar um começo do zero, o que, em outras situações, não seria um problema, já que provavelmente há migrações e coisas do tipo para gerar tabelas e até inserir dados iniciais, certo? Aqui, ele deveria ter bloqueado isso por causa do plugin que criamos, certo? Vamos ver. Ele conseguiu fazer isso aqui, mas por quê? Há uma URL que executa uma redefinição do banco de dados, beleza? Então, isso contorna o que fizemos, certo? Porque não é por meio dos métodos convencionais de
14:34 exclusão de banco de dados, certo? Eu teria que ser mais explícito aqui. Vou tentar fazer de outro jeito, olhem só. Agora, sim, certo? Ele disse que estava apagando pelo terminal, então usou um comando destrutivo, certo? Aí o plugin Guardar interceptou os comandos e os bloqueou, certo? Então, aqui o apagamento foi bloqueado, vejam: o plugin Guardar negou a exclusão do
15:09 arquivo do banco de dados. Como você quer bloqueá-lo? Então, eu poderia continuar como quisesse, certo? Mas ele não permite isso por meio de comandos, que foi a forma como criei o plugin, certo? Ele tentou usar um recurso preexistente e conseguiu passar, mas, por comando, o plugin realmente funciona. Pessoal, como mencionei no começo, o OpenCode lançou esta versão 2, beleza? Há uma pequena confusão aqui, já que o repositório ainda está na versão 1, certo? Mas, como vocês podem ver, o OpenCode está na versão 2, certo? Embora o projeto
15:40 no GitHub esteja na versão 1. Essa é uma pequena diferença que vocês provavelmente vão notar e que pode causar alguma confusão, mas é, sim, o OpenCode 2, beleza? E aqui, pessoal, se vocês acessarem a própria página do OpenCode, vão ver que ele realmente está na V2 e coisas do tipo. Mas há uma página chamada Docs — na verdade, não Docs, é Change log — onde vocês podem acompanhar todas as mudanças em detalhes, beleza? Então, recomendo para quem usa e quer entender melhor, certo? Para
16:10 no GitHub está em uma. Essa é uma pequena diferença que você provavelmente vai notar e que pode causar alguma confusão, mas é mesmo o Open Code 2, certo? E aqui, pessoal, se vocês forem à própria página do Open Code, verão que ele está mesmo na V2 e assim por diante. Mas há uma página aqui chamada Documentação — na verdade, não é Documentação, é Registro de alterações — onde vocês podem acompanhar todas as mudanças em detalhes, certo? Então, recomendo isso para quem usa e quer entender melhor, certo? Para
16:41 Por exemplo, estou gravando no dia 14 e houve uma mudança no dia 14, certo? Estou atualizando constantemente esta versão dois, que é a versão um no repositório, mas aqui já está nomeada corretamente. E, para encerrar, baixem o FAQ do sistema, pessoal. É um livro gratuito, com quase 200 páginas, para vocês entenderem meu processo de desenvolvimento com IA. O link está na descrição deste vídeo, certo? Nesta página aqui para baixar, é só informar seu e-mail que eu envio o link para download. E também tem VPS, pessoal. Se vocês quiserem contratar uma VPS para hospedar
17:14 seus projetos, recomendo muito a Hoster, parceira do canal. Preços excelentes e configurações de servidor. O link também estará na descrição aqui. Nosso cupom já é aplicado automaticamente, certo? Agora quero saber o que vocês acharam das novidades. Gostaram? Tem mais alguma coisa que não mencionei aqui e chamou a atenção de vocês? Deixem nos comentários. Vamos conversar sobre isso também. Se puderem, me ajudem: deixem o like e se inscrevam. Isso fortalece muito o canal, traz gente nova para assistir aos vídeos e ajuda no meu trabalho. Bom, é isso por hoje. Vou me despedindo
17:47 por aqui e vejo vocês no próximo vídeo. Obrigado,
Transcrição original
[00:00] Guys, our beloved Open Code has evolved to version two. There were a lot of changes, a lot of new things. And I’m going to show you here what caught my attention the most in this video, all in practice so we can see the most interesting features that came in OPC V2. So, come on, let’s go. Well guys, I brought a little presentation here so we can talk quickly, then we’ll see them one by one, okay? One of the coolest things here is that we now have the possibility to work in a session in an integrated way. And what does that
[00:33] mean? It works in the terminal, it will work in the desktop application. So, if you didn’t know, Open Code also has a desktop app so you can do your projects like a Codex Cloud Code. And you can also connect it via mobile, meaning you just point your camera at the QR Code and you can start programming elsewhere , you don’t need to stay at the PC. This is very interesting. In version one, right, how Open Code worked, we had a different agent for each interface, right? It stayed disconnected in this way that is here
[01:04] in the figure. In version two, no, they connected everything, if you send a message in one, you already receive it in the other, everything happens asynchronously, making the process more fluid and also more responsive. We also have an option here for subagents that will run in the background. So, basically how cloud code works there, we can determine tasks for subagents. Since Open Code has this characteristic , right, of connecting with several
[01:35] providers, we can delegate what the subagent will do and which model it will use. So it’s very flexible. For example, I’m programming with deepic and I want the MIMO model to check the last thing that happened in the code, right? Do a review. So here we will have an experience very close to what Cloud Code does. It keeps subagents working. When they finish, they return, right, the information that the main agent needs and it integrates it into the conversation, if necessary, or otherwise just gives us feedback.
[02:07] Another cool thing is that it also comes with plugins, right, which is something that is growing a lot. We are creating plugins to use there in the service itself, right, which are the Cloud Code mods and also a feature called Code Mode, which will help us integrate the tools we are using in the system. So, for example, if we work in the traditional way here, we have to interact with GitHub to push something, we have to check screens in Figma, we
[02:39] have to consult an API, we have to work in the linter; it has to make a request for each one and wait for all of this to happen before we can proceed. With Code Mode, there is a script generated by Open Code itself, and the tools also communicate synchronously, facilitating this process and allowing for execution if you need to work with all four at the same time, which is quite interesting and unique, right? I haven’t seen this in any other code editor, but let’s see it in practice. Let’s test everything. Well, guys,
[03:10] first I’m going to show you the issue of simultaneous sessions, right? So, I have Open Code open here in the terminal. I’m going to ask it to start the project, okay? “Start this project and show me how to access it.” I have a session running here in the terminal. So, if I come here, for example, to Open Code, in the interface, I can see exactly the session I was having in the terminal. So, I asked it to start, then I made a cut here, guys. I asked what’s in the project, and it showed it here too. So, that was exactly what
[03:44] I did here, right? Oh, where is my prompt? “What’s in this project?” So it reflects it there. So the project itself is here, look. Oh, this “sala livre” project, which I created quickly just for us to test. And then if I ask for something else, for example, to change this button here, from “test for free” to “start for free.” So, “change the button text from ‘test for free’ to ‘start for free.’” It already detects it here too, see, and the sessions are
[04:17] connected. So this is one of the improvements that connects, look, we keep receiving messages here regarding the session via mobile. So here is an example I made, right? By using the command “open code per remote,” you will be exposing this current session to the internet, and through this QR code, anyone can access and interact with it. So, in this mode, if I type
[04:47] this command, it will open another remote and let me access the session that is on my computer through my cell phone. And this becomes a remote control. We can control Open Interpreter from our cell phone. So, I’ll show you guys how to create this subagent, right? In the documentation, it asks us to describe the subagent’s role and also which model it will use. So, I asked it to create a subagent called “revisor” in the open agents
[05:17] revisor MD file. So, it’s a file that will remain persistent there. We will be able to call it whenever we want. It uses the GLM 5.3 Flash model, okay? To get a different opinion from the model I am using, which is DeepSeek 4.1. And I specify that the revisor only does code, so it has limited tools. And then when it creates it, I’ll be able to trigger this revisor, and it will act in parallel, okay? So, I’ll wait for it to finish and I’ll trigger it for you to see. While it creates, guys, don’t forget to download the AI System
[05:49] Factory. This is a free e-book, guys, that I’m giving to you here on the channel. In it, you’ll find a strategy for how I design systems before I start developing them, okay? And also the evolution, the step-by-step system creation with AI, up to my strategies for finding clients with the systems I create with AI, right? ChatGPT has taken control of the browser here, it’s doing something there, okay? But man, I’ll leave this link in the description
[06:22] for you to download this e-book, okay? Totally free. Here on the page, I explain how it works. It’s a very dense material, illustrated, with various resources for you to use within it, like skills, prompts, all free. Got it? I’ll leave it here for you to just download. So here, guys, it finished the subagent, okay? It gave me the feedback here and it stays here, right? Agents revisor. How are we going to activate it? It can be via prompt. So, I’ll ask here: “Start the revisor subagent in the background to review
[06:55] the schedule conflict rule and the room capacity rule,” right? Something from the project itself. While it reviews, I’ll continue here with the next step. So, I am initializing someone, right? Oh, subagent in background. And this now allows me to also continue the session here while the subagent works over there. So, it will do the entire review here. We could continue the project if we wanted to. Here, actually , there was a model error. I’ll just configure the OpenRouter key and then I’ll come back to show you it working.
[07:29] Hey guys, so now it’s actually running. I can see it here and ask it, right? So I’m in a separate session from the reviewer, right? And it shows it here for me, right? Yes, it is running. This is the reviewer’s status, right? And now we can call it here too, if we want , right? We can type @reviewer, it’s available here too. So it was just a key error and all that. Now I’ve adjusted the OpenRouter key and it’s actually running. So we’ll wait for the result to see how it integrates. Look, the reviewer finished, so it returns
[08:03] the message to my session, but it doesn’t interrupt it. So it’s quite similar, right? Like how Cloud Code works, you’ll have access to this workflow format, right, with subagents in OpenCode too. Look, it said here that in a code token it found something , it had a finding, which is a real bug . Right there in the code I just wrote, so now we would fix it, right? Another really cool thing you can do now with OpenCode is work with worktrees and see the results of both, right? For those who don’t know, worktrees are basically
[08:38] a way for me to fork the project, right , and follow one direction, and if I don’t want it anymore at some point, I can go back to where the fork was made, right, or run both versions in parallel , okay? So, look at how cool what we can do here in OpenCode is. So, I want to compare two visual directions, right , so I create two worktrees for this project, one called light visual and another dark visual. Install the dependencies for each one. For the light visual, make the page more minimalist, and for the dark visual, make a version with a very dark background, almost black, and use neon
[09:09] blue for the details. I’ll have it here , look, run both in the background, each on a different port, and give me the two addresses so I can open them side by side. So I can here, look, through OpenCode, orchestrate the progress of two worktrees, right, and verify the results of each one. Like an A/B test, to see which one I like better and choose one. So, let me let it answer me here, I’ll show you, and then we select which one we want and continue with that one in the project. Just to make it clearer for you, right?
[09:42] Worktrees are like having that original point there, which is the project. And then I branched it off, right? And later, the idea is for me to choose the correct version or the one I want and go back to where the project was, plus this addition. So I’ll need to make a decision here, right? I won’t keep advancing the worktree infinitely, folks. While it creates here, a shout-out to our host, guys. If you want a VPS, if you’re looking for a good server at a fair price, it’s Hostinger, okay? I have all my projects
[10:14] hosted on it. There’s no downtime, and there’s no lag when we try to access it without cache, you know, from different IPs. Their server is ultra-fast. They’re always investing in infrastructure, and this month they have a really good promotion, plus you have our coupon here to get even more of a discount. The link will be in the description of this video, okay? And here I always recommend the KVM2, which is a server with great specs that will handle several projects at the same time. You come here and choose the plan . In the purchase section here, guys, it’s very simple. The longer the term,
[10:47] the more discount they give. Choose the server closest to you; if Brazil is available, choose it. If not, the United States. I like to choose Ubuntu. To me, it’s a good Linux, it’s a good Linux distro. And here you check if the “teus hora de codar” coupon is applied so you can get that extra 10%discount on top of the current promotion. Just continue and that’s it, you’ll have your server right now and you can put any type of project there. Got it? We’re back here in OpenCode. So let’s see if worktrees will work, right? Just
[11:19] like they say it works. Oh, so check this out. It made the two versions here in OpenCode desktop. It’s even easier to follow, right? We have the minimalist one and the dark one here, right? So we can come here, drag both over here, and I have them running. And I can choose which one I want, okay? So this one here is the minimalist one, see, and it’s light, right? This one here is the dark one. Well, now comes the selecting part, right? So, let’s
[11:52] say I liked the dark version. I liked the dark version better. Stop both servers and bring this version into the main project. And then it’s up to us to decide whether to remove the worktrees. But it is a good practice. Remove the worktrees. So you see I’m working on one, working on the other, and there’s no problem. They will reflect the same way. Look, it’s already working with the command I gave on the desktop. So it offers a lot of versatility. We can follow along with what we liked best. I’ll wait for it to return here for me,
[12:25] see. And that’s it. So on port 3000 is the chosen project. So it stopped both servers and port 3000 is on dark mode, alright guys? Another thing is the matter of plugins, right? So plugins or mods, whatever you prefer to call them, will perform some action, right? Here inside our Open Code. So I’m going to write a plugin here for this project in the Open Code Plugins folder that blocks terminal commands that delete databases or run git before they execute. So, bad commands, right, that we don’t want to run when we tell it to
[12:59] , because they are destructive commands . When it blocks it, the message should explain the reason. Activate the plugin in this session without restarting and let me know when it’s active. So, plugins are a new feature that has arrived in general, right? This is already in effect. DeepSeek Harness has plugins, Claude has plugins, and we’ll probably see them arriving in Codex and other coding agents too, right? If I’m not mistaken, Cursor even has them already. And these are extra features that will be interacting, right, in our
[13:30] development cycle. We choose what it does and we choose when it works. And then the session has this trigger, right, this trigger so that when it needs to be activated, the plugin goes into action, okay? So it will do the creation here, right? And the good thing is that you can do everything via , uh, commands, right? prompts and it usually creates the code in a specific language. There, for example, in Claude Code it’s TypeScript, right? Here in Open Code I don’t remember exactly what the language is, if there’s a specific
[14:03] language, right? Ah, it’s TypeScript too, see? So, as you can see, it’s a standard, right, that Anthropic created there in Claude Code and now it’s spreading to other code editors, right? So let’s wait here. It will create plugins here, look. What are we waiting for? Let’s keep going. And soon we’ll have it. Well, guys, so it returned here, right? It brought the plugin that we created. Hey guys, so I started a new session here so we can test the
[14:34] plugin, right? So I’ll ask it to wipe the database and request a fresh start, which in other situations wouldn’t be a problem, since there are likely migrations and such to generate tables and even seed data, right? Here it should have blocked it because of the plugin we created, right? Let’s see here. It managed to do it here, but why ? It has a URL that performs a database reset, okay? So this bypasses what we do, right? Because it’s not through
[15:09] conventional database deletion methods, right? I would have to be more explicit here. I’ll try doing it another way, look. Now that’s better, right? It said it was deleting via the terminal, so it used a destruction command, right? And then the Guardar plugin intercepted the commands and blocked it, right? So here we had the deletion blocked, see, the Guardar plugin denied the deletion of
[15:40] the database file. How do you want to lock it? So then I could proceed however I wanted, right? But it doesn’t allow it via commands, which is how I created it, right? It tried to use a pre-existing feature there and it passed, but via command, the plugin really does work. Hey guys, as I mentioned at the beginning, Open Code has released this version two, okay? There’s a slight confusion here since the repository is still on version one, right? But as you can see, Open Code is on two, right? Even though the project
[16:10] on GitHub is on one. This is a small difference that you’ll probably notice and it might cause some confusion, but it is indeed Open Code 2, okay? And here, guys, if you go to the Open Code page itself, you’ll see it really is on V2 and so on. But there is a page here called Docs—actually, not Docs, it’s Change log—where you can follow all the changes in detail, okay? So, I recommend it for those who use it and want to understand more, right? For
[16:41] example, I’m recording on the 14th and there was a change on the 14th, right? I’m constantly updating this version two, which is version one in the repository, but here it’s already named correctly. And to wrap things up, download the system FAQ, guys. It’s a free book, almost 200 pages for you to understand my development process with AI. Link is in the description of this video, okay? This page here to download , just enter your email and I’ll send you the download link, and VPS too, guys. If you want to get a VPS to host
[17:14] your projects, I highly recommend Hoster, a partner of the channel. Excellent prices and server configurations. The link will also be in the description here. It already applies our coupon automatically, okay? Now I want to know what you thought of the news, did you like it? Is there anything else I didn’t bring here that caught your attention? Leave it in the comments. Let’s chat about it too. If possible, help me out, leave a like, and subscribe. This really strengthens the channel, brings new people to watch the videos, and helps my work. Well, that’s it for today. I’ll be signing
[17:47] off here and I’ll see you in the next video. Thanks,