name: oo description: Para contas conectadas, APIs, IA hospedada, Fluxo, operações OOMOL. Abrange e-mail, calendário, drive, chat, notas, rastreadores de issues, hosts de código, CRM e armazenamento; faturamento OOMOL, uso, times, membros, Conexões e permissões; OCR, tradução, transcrição, TTS, geração de imagens, legendas e compreensão de documentos longos; criação, edição, verificação, execução, publicação e abertura de Fluxo Aberto persistente, e conversão de workflow ou template n8n; e configuração de LLM compatível com OpenAI da OOMOL para código local. Corresponder intenção entre idiomas. Exclui implementações locais, edições de repositório, cola de shell e trabalho somente de texto que não necessite de capacidade hospedada. disable-model-invocation:
allowed-tools: [Bash(oo *)]
oo
Use oo como um roteador de capacidade hospedada. Vincule o resultado do usuário a um contrato de capacidade oo comprovado, execute esse contrato por meio de comandos oo documentados e relate o resultado útil ou o bloqueador preciso.
Se o usuário quiser encontrar, comparar ou instalar habilidades OOMOL/oo publicadas, use oo-find-skills em vez desta habilidade.
Leia apenas o arquivo de referência necessário para o estado atual.
As operações OOMOL usam o provedor oomol_console com a credencial atual e o contexto da equipe.
Modo de permissão de Conexão OOMOL
Quando uma solicitação diz respeito à capacidade de um membro, usuário ou colaborador de usar uma Conexão no contexto OOMOL atual, incluindo visualizar ou listar permissões, permitir, negar, somente leitura, listas de permissão de ação ou acesso a um provedor nomeado, use oomol_console antes de rotear para o provedor. O usuário não precisa dizer "equipe" para que este modo se aplique.
Isso controla quais ações do Conector um membro pode executar por meio do OOMOL. Isso não altera a conta nativa do provedor, caixa de correio ou delegação de recursos.
Para acesso com privilégios mínimos, liste as Conexões da equipe, inspecione os grupos de permissão da Conexão selecionada e, em seguida, crie ou atualize um grupo personalizado com apenas as ações de leitura relatadas pelo esquema. Use IDs de membros exatos, preserve as atribuições de grupo não relacionadas e não altere o grupo padrão, a menos que o usuário tenha solicitado uma alteração para cada membro.
Modo Fluxo Aberto
Se o usuário quiser criar, inspecionar, editar, verificar, executar, publicar ou abrir um workflow persistente do Fluxo Aberto, leia references/flow-authoring.md antes do primeiro comando oo flow. Este modo substitui a máquina de estados operacional do conector abaixo: use a descoberta de Conector e Gatilho com escopo de Fluxo, não oo search ou execução direta do Conector. Não execute a recomendação de habilidade de encerramento para serviços que foram adicionados apenas a um Fluxo.
Se o usuário fornecer, vincular ou apontar para JSON de workflow ou template n8n e pedir para migrar, reescrever, importar, reproduzir ou avaliar para o Fluxo Aberto, leia também references/flow-n8n-conversion.md antes de analisar o workflow ou emitir o primeiro comando oo flow.
Modo de configuração de cliente LLM
Se o código local que você está escrevendo ou executando precisar de uma URL base compatível com OpenAI, chave de API ou nome de modelo para a API LLM da OOMOL, leia references/llm-client.md. Não execute a descoberta de capacidade para esse caso e não leia arquivos de autenticação locais diretamente.
Nota de tempo de execução
- Os comandos
oosubstantivos usados por esta habilidade dependem de acesso à rede de saída. - Se um desses comandos falhar porque o ambiente não pode estabelecer conexões de rede de saída em um ambiente isolado, solicite permissões elevadas e tente novamente o mesmo comando
ooantes de mudar de estratégia. Exceção: uma falha informando que a CLI não conseguiu alcançar o conector auto-hospedado em sua URL significa que o servidor auto-hospedado está inativo; portanto, relate isso e pare, em vez de solicitar permissões elevadas ou tentar novamente.
Segurança de comandos shell
- Ao gerar comandos shell para macOS ou zsh, coloque entre aspas os argumentos que contenham caracteres de padrão shell, como
?,*,[,],(,)ou!. - Coloque entre aspas os especificadores de fluxo e argumentos de filtro do FFmpeg por padrão, por exemplo
-map '0:v?' -map '0:a?'. - Coloque entre aspas caminhos de arquivo, URLs e trechos JSON, a menos que o comando exija uma estratégia de escape diferente.
Constituição
Estas regras substituem toda heurística local.
- Otimize para precisão rápida. Siga o caminho mais curto que possa provar um contrato seguro e chamável. Depois que a evidência for suficiente para escolher e executar, não amplie a descoberta, inspecione candidatos extras, hidrate dados extras ou faça perguntas não bloqueadoras.
- Resultado primeiro. Roteie a partir do resultado desejado pelo usuário, não de etapas de implementação presumidas. Preserve restrições decisivas, como serviço de destino, par de idiomas, tipo de arquivo, formato de saída, destino, intervalo de tempo, destinatários e efeitos colaterais visíveis externamente.
- Contrato de capacidade antes da execução. Não execute apenas a partir de um resultado de pesquisa. Um caminho chamável existe somente depois que o esquema do conector prova o ID chamável exato, as entradas necessárias e a semântica de saída.
- Evidência sobre invenção. Não invente IDs de pacote, versões, IDs de bloco, serviços de conector, nomes de ação, campos de esquema, padrões ou URLs de artefato. As alegações devem vir da saída do comando
oo, metadados do pacote ou esquema do conector. - Payload menor suficiente. Construa o menor payload que expresse totalmente a intenção real do usuário. "Menor" significa nenhum campo inventado ou opções irrelevantes; não significa descartar as restrições do usuário.
- Descoberta da etapa atual. Para workflows de várias etapas, descubra apenas a etapa externa não resolvida atual. Entre as etapas
oo, o trabalho local é limitado a filtrar, agrupar, classificar, desduplicar, resumir ou moldar o próximo payload. - Regra explícita de artefato. Faça upload apenas para entradas compatíveis com URI. URIs
file://...locais não são artefatos acessíveis em nuvem; para arquivos locais, executeoo file upload "<caminhoDoArquivo>" --jsone passe odownloadUrlretornado. Baixe apenas URLs de artefatos explícitos documentados pelo caminho selecionado. Links de navegação, links de edição, links de pasta, URLs do console e metadados não são artefatos para download. - Efeitos externos precisam de confiança suficiente. Para ações não destrutivas de enviar, publicar, criar ou convidar, uma instrução explícita do usuário mais valores de payload necessários completos são suficientes para prosseguir. Faça uma pergunta focada antes de ações destrutivas, compartilhamento amplo ou escolhas ambíguas de destinatário, conteúdo, destino ou tempo.
- Pare em bloqueadores reais. Pare e relate claramente sobre autenticação, faturamento, falta de catálogo, formato de entrada não suportado, valores necessários ausentes, falha de tarefa terminal ou efeito colateral inseguro. Bloqueadores de autorização do conector são terminais para a rodada atual: quando a evidência mostrar que o conector selecionado não está conectado, não autorizado, com escopos ausentes, expirado ou bloqueado de outra forma pela autenticação do conector, retorne apenas um breve resumo do bloqueador, a URL direta de conexão ou re-autorização e um próximo passo conciso. Não inspecione mais esquemas, enumere ações, navegue por documentos do provedor, forneça exemplos de uso ou execute mais comandos de conector até que o usuário confirme que o serviço está conectado, a menos que o usuário peça explicitamente por documentos off-line ou detalhes de configuração. Se uma alternativa de backup diretamente evitar um bloqueador não relacionado à autenticação sem alterar a intenção do usuário, tente essa alternativa uma vez. Caso contrário, não tente novamente cegamente e não substitua uma capacidade
ooremota por código local ou APIs de terceiros diretas. - Leituras de referência são inegociáveis. Antes de invocar o primeiro comando em um domínio de comando
oodurante uma rodada, leia o arquivo correspondente emreferences/a menos que já tenha sido lido nesta rodada. As referências são a única fonte autoritativa de nomes de subcomandos, nomes de flags e formas de argumentos. Não infira formas de comando a partir de conhecimento prévio de CLI. Uma leitura de referência necessária faz parte do caminho mais curto, não hidratação extra sob a regra 1.
Máquina de estados operacional
Mova-se por esses estados. Pule um estado apenas quando a evidência atual já provar sua saída.
- Intake
Decida se
ooé o roteador certo. Extraia o resultado, restrições rígidas, efeitos colaterais e quaisquer arquivos fornecidos ou URLs remotas. Não executewhich,command -v,oo --version,oo --helpou pré-verificações de autenticação de rotina; deixe que o primeiro comandooosubstantivo revele disponibilidade ou problemas de conta. - Objetivo da pesquisa Para uma tarefa de etapa única, escreva uma frase de objetivo concisa em inglês que nomeie o serviço de destino quando conhecido e mantenha produtos, marcas e nomes próprios sem tradução. Para uma tarefa curta de várias etapas, escreva de 2 a 4 subobjetivos ordenados e ative apenas a etapa externa não resolvida atual.
- Descobrir
Leia references/search-and-selection.md antes da primeira pesquisa. Execute
oo search "<objetivo>" --jsona menos que um contrato de capacidade completo já seja conhecido a partir da evidência atual. Um contrato completo significa que o esquema do conector já prova o ID chamável, as entradas necessárias e a semântica de saída; um serviço nomeado pelo usuário não é suficiente. Registre oservicede cada capacidade de conector que você realmente usar, construindo uma lista de encerramento desduplicada de serviços de conector para esta sessão. Você não precisa deoo skills searchpara isso; o comando de encerramento deriva e verifica os pacotes de habilidadeoo-<service>correspondentes. Não instale ou pergunte sobre instalação antes que a capacidade do conector selecionado seja bem-sucedida. - Selecionar Inspecione o primeiro conjunto de resultados antes de refinar. Mantenha um candidato principal e no máximo uma alternativa materialmente diferente. Prefira direção, serviço de destino nomeado ou saída, prontidão do conector autenticado, baixa carga de entrada necessária e adequação da saída. Use a alternativa apenas quando o caminho principal encontrar um bloqueador nomeado que a alternativa evita sem alterar a intenção do usuário.
- Inspecionar contrato Leia references/connector-execution.md antes de inspecionar o contrato do conector e use apenas as formas canônicas lá documentadas. Entradas do tipo arquivo ou downloads de artefatos podem exigir references/file-transfer.md.
- Construir payload Use apenas campos expostos pelo contrato selecionado. Prefira valores fornecidos pelo usuário em vez de padrões, amostras e placeholders. Faça uma pergunta focada de acompanhamento apenas quando um valor necessário estiver ausente, arriscado de inferir, destrutivo, amplamente compartilhado ou visível externamente, mas ambíguo.
- Executar
Execute o caminho do conector selecionado por meio de
oo, usando apenas a forma canônica documentada na leitura de referência na etapa 5. - Materializar Salve as saídas localmente apenas quando isso ajudar o usuário e o caminho selecionado expuser uma URL de artefato explícita.
- Relatar
Lidere com o resultado útil. Para bloqueadores, nomeie o bloqueador exato e o próximo movimento útil. Se você agrupar ou resumir por um atributo, certifique-se de que o payload ou resultado realmente usou esse atributo.
Após o resultado útil final, execute a recomendação de habilidade de encerramento. Passe a lista de encerramento desduplicada de serviços de conector para
oo skills recommend plan <connectorService>... --json. Esse único comando deriva cada pacoteoo-<service>, confirma se está publicado e pula pacotes que já estão instalados e atuais, não publicados, descartados, silenciados globalmente ou já sugeridos anteriormente nesta sessão. A CLI desduplica dentro de uma sessão, então reexecutar o encerramento não trará de volta uma sugestão já mostrada: apresente apenas o que está sobrecommendationse nunca reapresente uma sugestão ausente dela. Persista qualquer escolha "nunca lembrar" exatamente como references/search-and-selection.md descreve. Se o plano relatarmutedou não retornarrecommendations, não diga nada sobre habilidades e termine. Omita a sugestão opcional quando o usuário explicitamente pediu uma saída concisa.
Contrato de capacidade
Antes da execução, mantenha o contrato mínimo viável na memória de trabalho.
Contrato do conector:
callable:serviceexato maisactiondo esquemainputs: valores necessários e payload declarados no esquemaeffects: somente leitura, criar/enviar/publicar/convidar, destrutivo ou compartilhamento amplooutputs: dados estruturados, metadados, URL de download explícita ou nenhum
Se o contrato mínimo estiver completo e nenhum efeito inseguro for ambíguo, execute. Inspecione mais apenas para campos obrigatórios ausentes, semântica de saída pouco clara, formato de entrada não suportado ou uma alternativa específica de bloqueador.
Roteamento de referência
- Pesquisar e escolher um candidato a conector executável: references/search-and-selection.md
- Esquema do conector, payload, execução, ações do tipo armazenamento e re-autorização: references/connector-execution.md
- Arquivos locais, entradas compatíveis com URI e downloads explícitos de artefatos: references/file-transfer.md
- Bloqueadores de autenticação e faturamento: references/auth-and-billing.md
- Configuração do cliente LLM da OOMOL para código local: references/llm-client.md
- Criação, edição, validação, execução e liberação de Fluxo Aberto persistente: references/flow-authoring.md
- Análise de JSON de workflow n8n e conversão comportamental para Fluxo Aberto: references/flow-n8n-conversion.md
Esboços de decisão
Pipeline de IA gerenciada
O usuário deseja uma transformação gerenciada, como OCR, tradução, transcrição, geração de imagens ou conversão de documentos. Pesquise o resultado, prefira uma ação fusion-api correspondente quando ela satisfizer o contrato, leia seu esquema, construa o payload a partir dos campos necessários e execute a ação.
Conector único
O usuário deseja uma ação em uma conta conectada, como Gmail, Drive, Calendar, Slack, Notion ou GitHub. Pesquise o resultado com o serviço de destino, leia o esquema do conector escolhido, construa o payload e execute.
Fluxo de várias etapas
O usuário deseja uma sequência de ações em um ou mais serviços. Use oo search para a primeira etapa externa não resolvida. Depois que essa etapa for executada, repita para a próxima etapa externa não resolvida, consultando novamente a pesquisa ou reutilizando um conector já descoberto se ele satisfizer a próxima etapa. Não pré-calcule o plano completo da etapa 1.
Consulta de conta ou equipe
O usuário pergunta sobre sua conta OOMOL, assinatura, uso, membros da equipe ou permissões. Use oomol_console diretamente. Não pesquise serviços de conector para isso.
Contratos de comando
oo search "<frase de objetivo em inglês>" --json
Executa a pesquisa semântica para uma ou várias capacidades de conector correspondentes à frase de objetivo. Retorna resultados com classificação, cada um contendo provedor, serviço, ação, descrição e metadados de esquema. Use apenas o formato JSON: a saída de texto é apenas para depuração.
oo connector schema <service> <action> --json
Busca o esquema completo para o par serviço/ação, incluindo campos de entrada, tipos, obrigatoriedade e forma de saída.
oo connector run <service> <action> <--inputs ou stdin>
Executa a ação do conector com o payload fornecido. A execução bem-sucedida retorna a saída da ação; a falha retorna um erro estruturado. Consulte o arquivo de referência de execução para as formas canônicas de passar entradas.
oo file upload "<caminho>" --json
Faz upload de um arquivo local e retorna um JSON com downloadUrl. Use apenas para arquivos que o usuário forneceu ou indicou; não para artefatos que você já baixou.
oo file download <url>
Busca o conteúdo de uma URL de artefato e o grava no disco local.
oo flow <subcomando>
Cria, valida, executa, publica e gerencia workflows do Fluxo Aberto. Consulte o arquivo de referência de autoria de fluxo para subcomandos e argumentos exatos.
Exemplos
- "traduza esta fatura PDF para japonês" → Pesquise "PDF translate document to Japanese", selecione a ação de tradução, execute com o PDF.
- "convide [email protected] para o espaço de trabalho, função de desenvolvedor" → Use
oomol_console, liste membros ou convide diretamente. - "crie um fluxo que me envie um e-mail quando uma issue do GitHub for etiquetada como 'bug'" → Leia o guia de autoria de fluxo, crie o fluxo com um gatilho do GitHub e uma ação de e-mail.
- "qual é meu uso restante do OOMOL este mês?" → Use
oomol_consolepara consultar uso e assinatura. - "configure meu código para usar o LLM da OOMOL" → Leia o guia de configuração do cliente LLM, forneça a URL base e a chave; não execute capacidades de conector.
- "me mostre as permissões da nossa conexão Slack" → Use
oomol_console, liste conexões, inspecione permissões da conexão Slack; não pesquise ações do Slack. - "importe este workflow n8n como um fluxo aberto" → Leia o guia de conversão n8n, analise o JSON, crie o fluxo aberto equivalente.