Instalar o Pacote de Skills Principal
Os teus agentes estão em funcionamento. Agora vamos dar-lhes a sua primeira tarefa real. O BALIA OS vem com três skills integradas prontas para instalar.
| Skill | Propósito |
|---|---|
| lightpanda | Pesquisa web rápida e scraping |
| summarize | Resumo automático de textos longos ou páginas web |
| clawsec | Monitorização de segurança e quarentena de novas skills |
Na Secção 4, usaste este mesmo script para instalar o Security Guardian. Esta é a segunda execução — instala o pacote de skills principal (lightpanda / summarize / clawsec). (Se ainda não o descarregaste, volta à Secção 4 e descarrega primeiro o install_core_pack.py.)
Pedir ao teu agente para o executar
Cola isto no terminal do VS Code e pressiona Enter para executar.
O que é um Token?
É a string que aparece depois de ?token= no URL de acesso que recebeste após a compra.
Exemplo: https://guide.baliaos.com/?token=BALIA-XXXX-XXXX-0001 Neste caso, o token é BALIA-XXXX-XXXX-0001.
Se não encontrares o e-mail, contacta o suporte.
openclaw agent --agent security-guardian "Por favor executa o seguinte:
python install_core_pack.py --lang pt
(O token será lido automaticamente do teu ficheiro .env)
Reporta ao Discord quando terminares."O teu agente vai automaticamente:
- Autenticar o teu token
- Descarregar o pacote de skills principal (lightpanda / summarize / clawsec)
- Instalar em ~/.opengoat/skills/
- Atualizar o _SKILL_INDEX.md
- Reportar "Pacote de skills principal instalado" no Discord
Assim que receberes a confirmação no Discord, continua abaixo.
O Que São Skills e Cassetes
Os teus agentes estão ativos. Têm identidades, procedimentos de reporte e canais no Discord. Mas neste momento, não sabem em que domínio estão a trabalhar. Não sabem se estão a gerir um restaurante, a conduzir uma operação de trading, ou a apoiar um escritório de advocacia.
Skills são os ficheiros de conhecimento que escreves e dás aos teus agentes. Cada skill ensina um agente a realizar uma tarefa específica — como gerir reservas, como gerar um relatório de P&L, como redigir uma publicação nas redes sociais. Quantas mais skills deres a um agente, mais ele consegue fazer.
Uma cassete é uma pasta de skills, agrupadas em torno de um tema. Um operador de restaurante pode ter uma cassete restaurant-ops. Um criador de conteúdo pode ter uma cassete youtube e uma cassete social-media. O mesmo agente pode usar cassetes diferentes consoante o que precisa de fazer nesse dia.
Todas as cassetes estão ON por defeito. Um único ficheiro — memory/_SKILL_STATUS.md — lista todas as cassetes com o respetivo estado ON/OFF. Não há "modo atual" para mudar — todas as tuas cassetes estão disponíveis ao mesmo tempo, e um agente aplica a cassete que corresponder à tarefa que lhe deres (o seu SKILL.md descreve para que serve). Só colocas uma cassete em OFF no caso raro de a quereres pausar — por exemplo, se duas cassetes entrarem em conflito uma com a outra (ver "Se Duas Cassetes Entrarem em Conflito" abaixo).
Isto significa:
marketing-outreacheai-meeting-dailypodem estar ambasONe a correr ao mesmo tempo- Desativar uma cassete não afeta as outras
- A configuração do agente nunca muda — só o STATUS da cassete muda
Estrutura de Pastas da Cassete
$env:USERPROFILE\.opengoat\
├── memory\
│ └── _SKILL_STATUS.md ← lista ON/OFF para todas as cassetes
└── skills\
├── youtube\
│ ├── SKILL.md ← o que esta cassete faz, ferramentas, regras
│ └── WORKFLOW.md ← procedimentos passo a passo
├── restaurant-ops\
│ ├── SKILL.md
│ └── WORKFLOW.md
└── trade\
├── SKILL.md
└── WORKFLOW.md_SKILL_STATUS.md lista todas as cassetes com o respetivo indicador de STATUS. Por exemplo:
| Nome da Cassete | STATUS | Descrição |
|------------------|--------|-----------------------------------|
| youtube | ON | Pipeline de conteúdo do YouTube |
| trade | ON | Análise de mercado e relatórios |Quando dás uma instrução a um agente, ele compara o que estás a pedir com o SKILL.md de todas as cassetes que estão ON e aplica a que melhor corresponder — também podes nomear a cassete explicitamente ("Trabalha em modo trade: ...") para seres mais específico. Se uma cassete estiver OFF, o agente ignora-a por completo, mesmo que a tarefa lhe correspondesse.
As tarefas agendadas (como uma verificação diária de estado ou um relatório noturno) são executadas independentemente das cassetes que estão ligadas — estão definidas no AGENTS.md do agente, e não em nenhuma cassete.
Escolher o Teu Motor de IA
Diferentes cassetes funcionam melhor com diferentes modelos de IA. Define isto uma vez quando criares a cassete.
| Tipo de Cassete | Motor Recomendado | Porquê |
|---|---|---|
| Trading de criptomoedas / Análise de mercado | Claude | Raciocínio lógico, análise de padrões, julgamento apurado |
| Programação / Automação técnica | Claude | Qualidade de código, depuração, lógica de múltiplos passos |
| Pesquisa jurídica / Revisão de contratos | Claude | Raciocínio cuidadoso, linguagem matizada |
| Finanças / Contabilidade / Relatórios | Claude | Análise estruturada, cálculo preciso |
| Google Sheets / Docs / NotebookLM / Drive | Gemini | Integração nativa com serviços Google |
| YouTube / Conteúdo de vídeo | Gemini | Analisa vídeo diretamente; integra com o YouTube Studio |
| Gmail / Automação de Calendário | Gemini | Integração profunda com o Google Workspace |
| Vendas / Prospeção / Copywriting | GPT-4o | Conversação natural, geração de e-mails |
| Comunicação multilíngue | GPT-4o ou Gemini | Forte desempenho multilíngue |
| E-commerce / Pesquisa de produtos | Claude ou GPT-4o | Profundidade de pesquisa, output estruturado |
Se o Claude funcionar para o teu caso de uso, já está tudo configurado — foi configurado na Secção 3.
Para Gemini ou GPT-4o, vais precisar de adicionar uma API key ao teu ficheiro .env. As instruções estão no Passo 7 do concierge de IA abaixo.
Ideias de Skills por Setor
Não sabes que skills criar? Aqui estão alguns pontos de partida por caso de uso.
Restauração / Alimentação & Bebidas
- Gestão de reservas e agendamento diário
- Rastreamento de encomendas a fornecedores e alertas de inventário
- Publicações nas redes sociais (especiais do dia, eventos)
- Monitorização de avaliações e redação de respostas
- Resumo semanal de receitas
E-Commerce / Produtos Físicos
- Geração de listagens de produtos
- Monitorização de preços de concorrentes
- Resumo do estado de encomendas
- Redação de respostas a pedidos de clientes
- Relatório mensal de vendas
Criador de Conteúdo / YouTuber
- Geração de ideias para títulos e miniaturas
- Redação de esboços de guiões
- Gestão do calendário de publicações
- Resumo de métricas de desempenho
- Redação de respostas a comentários da comunidade
Freelancer / Consultor
- Redação de comunicações com clientes
- Relatório do estado de projetos
- Acompanhamento de faturas e seguimento
- Revisão de cláusulas contratuais (sinalizar termos invulgares)
- Resumo de registos de horas
Pequena Empresa / Geral
- Resumo das operações diárias
- Redação de comunicações internas
- Triagem de questões jurídicas (sinalizar itens que requerem advogado)
- Resumo financeiro a partir de recibos e registos
- Gestão de comunicações com fornecedores
O teu setor não está nesta lista? Não há problema — o concierge de IA nesta secção vai ajudar-te a definir as tuas próprias skills de raiz, com base no que queres que a tua equipa faça concretamente.
Como Funciona Esta Secção
Recomendado: Usa o prompt do concierge de IA abaixo — ele gera todos os ficheiros da tua cassete E produz um script Python de configuração que cria tudo automaticamente. Depois da conversa com a IA, vai a Passo 2 — Executar o Script de Configuração e executa-o. Não precisas de criar ficheiros manualmente.
Se o script de configuração falhar: O concierge de IA também mostra o conteúdo completo de cada ficheiro. Podes criar os ficheiros manualmente no VS Code como alternativa.
Usa o prompt do concierge de IA abaixo para:
- Definir o que os teus agentes devem fazer todos os dias
- Decidir com que nome de cassete e modo começar
- Escolher o motor de IA certo
- Gerar os teus ficheiros SKILL e WORKFLOW
- Configurar o indicador
_SKILL_STATUS.md - Testar que o teu agente carrega o modo correto
Cola o prompt no teu chat de IA. Anexa o teu Documento de Design de Equipa da Secção 2.
▶ Cola isto no teu AI para começar
Anexa o teu Documento de Design de Equipa antes de enviares.
Estás a ajudar-me a construir Skills e uma Cassete para o BALIA OS —
um sistema operativo de IA multi-agente.
Anexei o meu Documento de Design de Equipa. Lê-o antes de começarmos
para conheceres os nomes dos meus agentes, as suas funções e a estrutura do workspace.
CONCEITO A PERCEBER ANTES DE COMEÇARMOS:
Skills são ficheiros de conhecimento que escrevo e dou aos meus agentes.
Cada skill ensina um agente a realizar uma tarefa específica.
Uma Cassete é uma pasta de skills, agrupadas em torno de um tema (um modo).
Todas as cassetes estão ON por defeito e podem correr ao mesmo tempo —
os meus agentes aplicam a cassete que melhor corresponder à tarefa que lhes der.
Um ficheiro — memory/_SKILL_STATUS.md — lista todas as cassetes com um
estado ON/OFF. É a fonte única de verdade sobre que cassetes estão
disponíveis. Não é um "modo atual" — várias linhas podem estar ON
ao mesmo tempo.
Estrutura de pastas:
$env:USERPROFILE/.opengoat/
memory/
_SKILL_STATUS.md ← lista ON/OFF, uma linha por cassete
skills/
[nome-da-cassete]/
SKILL.md ← o que esta cassete faz, ferramentas, regras
WORKFLOW.md ← procedimentos passo a passo desta cassete
Quando dou uma instrução a um agente:
1. O agente verifica que cassetes estão ON em memory/_SKILL_STATUS.md
2. Compara a minha instrução com o SKILL.md de cada cassete ON
(ou posso nomear a cassete explicitamente, ex: "Trabalha em modo trade: ...")
3. Aplica o SKILL.md e o WORKFLOW.md da cassete correspondente
As tarefas agendadas correm independentemente de quais cassetes estão ON — estão no AGENTS.md.
Guia-me passo a passo. Faz uma pergunta de cada vez.
Espera pela minha resposta antes de continuares.
STEP 1 — O que quero que a minha equipa faça
Pergunta-me: "Descreve o que queres que a tua equipa de IA faça por ti todos os dias.
Não penses em como — descreve apenas o resultado que queres
e o trabalho que queres que seja feito."
Ajuda-me a transformar a minha resposta numa lista de pelo menos 5 tarefas
específicas e recorrentes. Faz perguntas de seguimento até termos
tarefas concretas com uma periodicidade clara (diária, semanal, sob pedido).
STEP 2 — Mapear tarefas para agentes
Lê o meu Documento de Design de Equipa.
Associa cada tarefa ao agente mais adequado com base na sua função.
Mostra-me o mapeamento: "Tarefa → Agente"
Pergunta: "Isto parece correto? Há algo que mudarias?"
STEP 3 — Nomear a cassete (modo)
Com base nas tarefas, sugere um nome de cassete — o nome do modo
(curto, minúsculas, hífens: ex. restaurant-ops, youtube, trade).
Este torna-se o nome da pasta e uma nova linha em memory/_SKILL_STATUS.md.
Pede-me para confirmar ou sugerir um nome diferente.
STEP 4 — Escolher o motor de IA
Para cada agente com tarefas atribuídas, recomenda o melhor motor:
- Claude: lógica, análise, programação, jurídico, finanças, cripto
- Gemini: serviços Google (Sheets, Docs, Drive, Gmail, Calendário,
YouTube Studio, NotebookLM) — tudo o que estiver no ecossistema Google
- GPT-4o: emails de vendas, prospeção, copywriting, conversação natural
Explica o teu raciocínio numa frase por agente.
Se todas as tarefas funcionarem bem com Claude, confirma que não são
necessárias chaves de API adicionais.
Se for necessário Gemini ou GPT-4o, assinala-o — tratamos da chave no Step 7.
Pede-me para confirmar antes de continuares.
STEP 5 — Gerar o SKILL.md
Gera o ficheiro de skill com esta estrutura:
---
# SKILL.md — [nome-da-cassete]
Versão: 1.0
Última atualização: [data de hoje]
Agente principal: [nome do agente]
Motor de IA: [motor]
## O Que Esta Cassete Faz
[2-3 frases: que domínio cobre, o que produz]
## Quando Usar Esta Cassete
[1-2 frases a descrever o tipo de instruções que devem acionar
esta cassete — é isto que o agente compara com os teus pedidos]
## Skills Nesta Cassete
[Lista de skills concretas — o que o agente sabe fazer]
## Ferramentas Disponíveis
[Lista de ferramentas utilizáveis nesta cassete: pesquisa web, leitura/escrita
de ficheiros, relatórios no Discord, chamadas API, serviços Google, etc.]
## Regras de Operação
1. Antes de executar, confirma que a linha desta cassete em
memory/_SKILL_STATUS.md está definida como ON. Se OFF, ignora
por completo — não é necessário relatório no Discord.
2. [Regra chave específica deste domínio]
3. [Regra chave específica deste domínio]
4. Reporta todas as tarefas concluídas no Discord antes de terminares a sessão.
5. Nunca ages fora do âmbito desta cassete sem aprovação do Comandante.
6. Guarda todos os resultados em skills/[nome-da-cassete]/outputs/
## O Que Esta Cassete NÃO Cobre
[Limites específicos — o que está fora do âmbito desta cassete]
## Formato de Saída
[O que o agente produz: relatórios, ficheiros, mensagens no Discord, etc.]
---
Mostra-o na íntegra. Pergunta se algo precisa de ajuste.
STEP 6 — Gerar o WORKFLOW.md
Gera o ficheiro de workflow com esta estrutura:
---
# WORKFLOW.md — [nome-da-cassete]
Versão: 1.0
Última atualização: [data de hoje]
## Antes de Começar
1. Confirma que a linha desta cassete em memory/_SKILL_STATUS.md está ON
2. Carrega o SKILL.md desta mesma pasta
## Procedimentos das Tarefas
### [Nome da Tarefa 1] — [Periodicidade]
Gatilho: [O que inicia esta tarefa]
Passos:
1. [Ação específica]
2. [Ação específica]
3. [Ação específica]
Saída: [O que é produzido]
Guardar em: skills/[nome-da-cassete]/outputs/
Em caso de erro: [O que fazer se algo falhar]
### [Nome da Tarefa 2] — [Periodicidade]
[Mesma estrutura]
[Continuar para todas as tarefas]
## Fim de Sessão (Todas as Sessões — Obrigatório)
Envia o relatório de fim de sessão para o Discord:
"✅ Sessão de [nome-da-cassete] concluída.
Tarefas concluídas: [lista]
Saída: skills/[nome-da-cassete]/outputs/
Problemas: [erros, se houver]"
## Tratamento de Erros
Se algum passo falhar:
1. Regista o erro exato
2. Continua com as restantes tarefas, se possível
3. Inclui todos os erros no relatório de fim de sessão no Discord
4. Não repitas operações destrutivas sem aprovação do Comandante
## Tarefas Agendadas
Estas correm segundo o seu próprio horário, independentemente das outras
cassetes — não dependem de as outras cassetes estarem ON ou OFF.
---
Mostra-o na íntegra. Pergunta se algo precisa de ajuste.
STEP 7 — Configuração de chave de API (se necessário)
Só se Gemini ou GPT-4o tiver sido recomendado no Step 4:
PARA O GEMINI:
"O Gemini funciona melhor para integração com serviços Google.
Para obteres a tua chave de API:"
1. Vai a https://console.cloud.google.com/
2. Inicia sessão com a tua conta Google
3. Se te for pedido, podes ser elegível para 300 USD em créditos
grátis — clica em "Experimentar gratuitamente" se te for oferecido
4. Na barra de pesquisa superior, escreve "Gemini API" e seleciona-a
5. Clica em "Ativar" se ainda não estiver ativado
6. Vai a "Credenciais" no menu esquerdo → "Criar Credenciais"
→ "Chave de API"
7. Copia a chave
8. Adiciona ao ficheiro .env:
GOOGLE_API_KEY=a-tua-chave-aqui
Confirma: "Chave de API do Gemini adicionada."
PARA GPT-4o (OpenAI):
1. Vai a platform.openai.com
2. Inicia sessão ou cria uma conta
3. Clica no teu perfil → "API keys" → "Create new secret key"
4. Nomeia-a "balia-os"
5. Copia a chave (começa com sk-)
6. Adiciona ao ficheiro .env:
OPENAI_API_KEY=a-tua-chave-aqui
Confirma: "Chave de API da OpenAI adicionada."
Se for só Claude: ignora este passo por completo.
STEP 8 — Criar a estrutura de pastas da cassete
Guia-me a criar as pastas no terminal do VS Code:
Windows:
cd $env:USERPROFILE\.opengoat\skills
mkdir [nome-do-modo]
mkdir [nome-do-modo]\outputs
Mac:
mkdir -p ~/.opengoat/skills/[nome-do-modo]/outputs
Depois guia-me a guardar estes ficheiros na pasta da cassete:
- SKILL.md
- WORKFLOW.md
Depois guia-me a adicionar esta cassete a memory/_SKILL_STATUS.md:
"Abre memory/_SKILL_STATUS.md no VS Code. Se o ficheiro ainda não existir,
cria-o com este cabeçalho:
# SKILL CASSETTE STATUS
# O ON/OFF é gerido apenas neste ficheiro.
| Nome da Cassete | STATUS | Descrição |
|---|---|---|
Adiciona uma nova linha: | [nome-do-modo] | ON | [descrição numa linha] |
Guarda."
Depois de todos os ficheiros estarem definidos, gera um script Python
de configuração completo que cria tudo automaticamente. O script deve:
- Funcionar tanto no Windows como no Mac (usa os.path.expanduser para ~)
- Criar todas as pastas com os.makedirs(exist_ok=True)
- Escrever o SKILL.md e o WORKFLOW.md com codificação UTF-8
- Adicionar (ou atualizar) a linha desta cassete em memory/_SKILL_STATUS.md,
criando o ficheiro com o cabeçalho acima se ainda não existir
- Imprimir ✅ [nome-do-ficheiro] para cada ficheiro criado
- Imprimir "Configuração concluída." no final
O script já contém todos os caminhos de ficheiro e conteúdo preenchidos —
tu só tens de o executar no terminal do VS Code com:
python setup_cassette.py
Diz-me: "Copia este script, guarda-o como setup_cassette.py
na tua pasta .opengoat, e depois executa-o no terminal do VS Code.
Vais ver ✅ para cada ficheiro criado."
STEP 9 — Testar a cassete
Guia-me a enviar um comando de teste, nomeando a cassete explicitamente:
openclaw agent --agent ceo "Trabalha em modo [nome-do-modo]: por favor faz o seguinte:
1. Confirma que memory/_SKILL_STATUS.md mostra [nome-do-modo] como ON.
2. Carrega o SKILL.md e o WORKFLOW.md desta cassete.
3. Confirma que percebeste as tuas tarefas nesta cassete.
4. Publica um relatório de prontidão no teu canal do Discord."
Pergunta-me: "O que respondeu o agente?
Viste um relatório de prontidão no Discord?"
Se sim: instalação da cassete confirmada.
Se não: ajuda-me a resolver o problema.
SAÍDA FINAL
Quando confirmado, mostra este resumo:
---
CASSETE INSTALADA
Nome da cassete: [nome-do-modo]
Agente principal: [nome do agente]
Ficheiros criados:
memory/_SKILL_STATUS.md ✅ (linha adicionada: [nome-do-modo] — ON)
skills/[nome-do-modo]/SKILL.md ✅
skills/[nome-do-modo]/WORKFLOW.md ✅
skills/[nome-do-modo]/outputs/ ✅
Motor de IA: [motor]
Chaves de API adicionais: [adicionadas / não necessárias]
Status: ON — agente confirmou prontidão
---
Pronto para a Secção 7.
Começa agora. Faz-me a primeira pergunta.Passo 2 — Executar o Script de Configuração
Quando o concierge de IA terminar de gerar os ficheiros da tua cassete, também vai gerar um script Python de configuração com todos os caminhos e conteúdo já preenchidos.
O que fazer:
- Copia o script Python que a IA gera
- Abre o terminal do VS Code (
Ctrl+``no Windows /Cmd+``no Mac) - Cria um novo ficheiro chamado
setup_cassette.pyna tua pasta .opengoat - Cola o script e guarda
- Executa-o:
python setup_cassette.py
Vais ver um ✅ para cada ficheiro criado. É tudo — sem criação manual de ficheiros, sem confusão de caminhos.
O que o script faz automaticamente:
- Cria toda a estrutura de pastas
- Escreve o SKILL.md e o WORKFLOW.md com o conteúdo correto
- Cria a pasta outputs/
- Adiciona a linha desta cassete a memory/_SKILL_STATUS.md (STATUS: ON)
Se vires algum ❌ na saída, copia o erro e pede ao teu concierge de IA para o corrigir.
Usar uma Cassete
Todas as cassetes estão ON por defeito — não há passo de "mudança". Basta dizeres a qualquer agente qual cassete usar no início da tua instrução:
openclaw agent --agent ceo "Trabalha em modo trade: dá-me o resumo de hoje."O agente compara "modo trade" com as cassetes ON em memory/_SKILL_STATUS.md, carrega o SKILL.md e o WORKFLOW.md dessa cassete, e aplica-os ao teu pedido. Também podes descrever a tarefa sem nomear a cassete — o agente compara-a automaticamente com o SKILL.md de cada cassete ON.
Pausar uma cassete: Abre memory/_SKILL_STATUS.md e define o STATUS dessa cassete como OFF. O agente vai ignorá-la até a voltares a definir como ON.
Adicionar Mais Cassetes Mais Tarde
À medida que o teu negócio cresce, adiciona mais pastas de cassetes:
skills/
├── youtube/
├── trade/
├── restaurant-ops/
└── legal-research/ ← adiciona a qualquer momentoConstrói cada nova cassete da mesma forma: gera o SKILL.md e o WORKFLOW.md através do concierge de IA, executa o script de configuração. É adicionada a memory/_SKILL_STATUS.md como ON automaticamente — sem necessidade de mudar de modo, basta dizer a um agente para a usar.
O Mercado de Skills BALIA — A Chegar no Q4 2026
Quando o mercado abrir, duas coisas ficam disponíveis:
Comprar cassetes — Cassetes desenvolvidas pela BALIA (Crypto Trade, YouTube, E-Commerce, Polymarket BOT) e cassetes criadas pela comunidade, revistas e aprovadas. Instala-as na tua pasta de cassetes como qualquer outro modo.
Vender cassetes — Se construíres uma cassete que funcione, submete-a. Cada submissão passa por uma auditoria de segurança e uma revisão de eficácia. Uma vez aprovada, fica listada no mercado e gera-te receita sempre que alguém a instalar.
Detalhes em @BALIA_OS no X quando o mercado abrir.
Sistema de Cassetes de Skills — Controlo ON/OFF
As tuas cassetes são geridas por um único ficheiro: memory/_SKILL_STATUS.md. Novas cassetes são adicionadas como ON por defeito.
| Nome da Cassete | STATUS | Descrição |
|---------------------|--------|--------------------------------------|
| marketing-outreach | ON | Divulgação em SNS / email / YouTube |
| ai-meeting-sales | ON | Reunião de IA da equipa de vendas (Leo) |
| ai-meeting-daily | ON | Reunião de operações diárias |
| research-market | ON | Automatização de pesquisa de mercado |Para pausar uma cassete: Muda ON para OFF neste ficheiro. É tudo.
Quando uma cassete está ON:
- Qualquer agente cuja tarefa lhe corresponda carrega a cassete
- Executa a tarefa
- Reporta no Discord:
"✅ [nome-da-cassete] executada com sucesso."
Quando uma cassete está OFF:
- O agente ignora-a, mesmo que a tarefa lhe correspondesse
- Continua a reportar no Discord:
"⏭️ [nome-da-cassete] ignorada — STATUS: OFF"
Toda a execução é reportada, quer tenha corrido ou não. Sabes sempre o que aconteceu.
Se Duas Cassetes Entrarem em Conflito
Como todas as cassetes estão ON por defeito, é possível que duas se sobreponham — por exemplo, duas cassetes que publicam ambas no mesmo canal do Discord, ou que tentam usar o mesmo agente para tarefas conflituantes ao mesmo tempo.
Atualmente não existe deteção automática de conflitos. Se notares duas cassetes a interferir uma com a outra, abre memory/_SKILL_STATUS.md e define uma delas como OFF tu próprio. Isto resolve o conflito de imediato — o agente ignora qualquer cassete marcada como OFF.
A deteção automática de conflitos pelo Security Guardian, com uma resolução sugerida, está planeada para uma atualização futura.
Agendar Cassetes — Execução Temporizada
Algumas cassetes são concebidas para correr a uma hora fixa — reuniões diárias, relatórios matinais, resumos semanais. Regista-as no agendador do teu sistema operativo.
O agendador aciona a cassete. O agente verifica _SKILL_STATUS.md. Se ON → executa + reporta no Discord. Se OFF → ignora + reporta no Discord.
⚠️ Duas Regras para Cassetes Agendadas
- Nomeia sempre a cassete/modo no próprio comando de registo — o agendador não tem outra forma de saber qual cassete executar, por isso a ação do gatilho tem de o especificar (ver o
[nome-da-cassete]nos exemplos abaixo). - Não registes duas cassetes agendadas para a mesma hora. Executar duas ao mesmo tempo pode fazer com que compitam pelo mesmo agente ou pelo mesmo canal do Discord. Desfasa-as por pelo menos alguns minutos.
Windows — Agendador de Tarefas
- Abre o Agendador de Tarefas → Criar Tarefa Básica
- Nome:
BALIA_[NomeDaCassete] - Gatilho: Diariamente → define a tua hora (ex.: 21:00)
- Ação: Iniciar um programa
- Programa:
openclaw - Argumentos:
agent --agent [agentid] "Trabalha em modo [nome-da-cassete]: executa a tarefa agendada de hoje." - Iniciar em:
C:\Users\%USERNAME%\.opengoat
- Programa:
- Concluir
Para pausar uma cassete agendada sem tocares no agendador: → Define o STATUS como OFF em _SKILL_STATUS.md. O agendador continua a disparar, o agente verifica o STATUS, ignora e reporta. Não são necessárias alterações no agendador.
Mac — launchd
Cria ~/Library/LaunchAgents/com.balia.[cassette-name].plist:
xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.balia.[cassette-name]</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/openclaw</string>
<string>agent</string>
<string>--agent</string>
<string>[agentid]</string>
<string>Trabalha em modo [nome-da-cassete]: executa a tarefa agendada de hoje.</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>21</integer>
<key>Minute</key>
<integer>0</integer>
</dict>
</dict>
</plist>Carrega-o:
launchctl load ~/Library/LaunchAgents/com.balia.[cassette-name].plistPara pausar: define o STATUS como OFF em _SKILL_STATUS.md. Mesmo comportamento que no Windows.