Claude Code SDK + AnyCap: quando precisas de mais do que código

O Claude Code SDK é forte para automação centrada em código. Aprende quando adicionar o AnyCap, o agent CLI, para pesquisa na web, geração de media, publicação e fluxos de agente mais amplos.

by AnyCap

Imagem de destaque do Claude Code SDK + AnyCap

Última atualização: 4 de junho de 2026

O Claude Code SDK é excelente quando o trabalho ainda é maioritariamente código: verificações de CI, revisão de código, saída estruturada e automação compatível com MCP. Mas, assim que um fluxo precisa de pesquisa, media, publicação ou outras capacidades fora do código, o Claude Code SDK por si só deixa de ser suficiente.

É aí que entra o AnyCap. O AnyCap é um agent CLI que estende agentes de programação para além da execução de código, permitindo que o mesmo fluxo passe do raciocínio sobre código para investigação, geração de ativos e entrega de resultados.

Resumo rápido

  • Usa o Claude Code SDK para automação centrada em código
  • Adiciona AnyCap quando o fluxo precisa de pesquisa, media, publicação ou entrega
  • Trata o Claude Code SDK como o runtime de programação
  • Trata o AnyCap como a camada de capacidades para lá do código

O que é o Claude Code SDK?

O Claude Code SDK é uma interface programática que permite:

  • Executar o Claude Code de forma não interativa a partir de scripts e pipelines
  • Controlar que ficheiros, diretórios e ferramentas estão no contexto
  • Analisar saída estruturada para processamento a jusante
  • Encadear o Claude Code com outras ferramentas em fluxos automatizados
  • Criar interfaces personalizadas sobre o raciocínio do Claude Code

Disponível como pacote Node.js:

npm install @anthropic-ai/claude-code

Ou invoca-o via CLI em modo não interativo:

claude -p "O teu prompt aqui" --output-format json

Conceitos centrais do SDK

Modo não interativo

O caso de uso mais básico do SDK: corre o Claude Code com um prompt, recebe a saída e termina.

# CLI não interativo
claude -p "Revê src/auth.ts em busca de vulnerabilidades de segurança" \
  --output-format json \
  --max-turns 5
// SDK
const { query } = require('@anthropic-ai/claude-code');

const result = await query({
  prompt: "Revê src/auth.ts em busca de vulnerabilidades de segurança",
  options: {
    maxTurns: 5,
    outputFormat: 'json'
  }
});

Configuração de ferramentas

Controla que ferramentas o Claude Code pode usar na tua chamada do SDK:

const result = await query({
  prompt: "Gera uma suíte de testes para src/utils.ts",
  options: {
    allowedTools: ['Read', 'Write', 'Bash'],
    // Desativa as ferramentas de que não precisas:
    // disallowedTools: ['WebSearch', 'mcp__custom_tool']
  }
});

Prompts de sistema personalizados

Substitui o prompt de sistema predefinido do Claude Code para comportamentos especializados:

const result = await query({
  prompt: "Refatora este módulo",
  options: {
    systemPrompt: `És um especialista em TypeScript com foco em padrões de programação funcional.
    Dá sempre preferência a estruturas de dados imutáveis. Usa tipos Result para tratamento de erros.
    Nunca uses tipos any ou unknown.`,
  }
});

Padrões práticos do SDK

1. Revisão automática de código em CI

// .github/workflows/code-review.js
const { query } = require('@anthropic-ai/claude-code');
const { execSync } = require('child_process');

const diff = execSync('git diff main...HEAD').toString();

const review = await query({
  prompt: `Revê este diff de PR quanto a: problemas de segurança, problemas de desempenho e testes em falta.
  Devolve em JSON com as chaves: security[], performance[], testing[].
  
  Diff:
  ${diff}`,
  options: {
    outputFormat: 'json',
    allowedTools: ['Read'],  // só leitura em CI
    maxTurns: 3
  }
});

console.log(JSON.parse(review.result));

2. Geração automatizada de documentação

const fs = require('fs');
const { query } = require('@anthropic-ai/claude-code');

async function generateDocs(srcPath) {
  const result = await query({
    prompt: `Gera documentação JSDoc completa para todas as funções exportadas em ${srcPath}.
    Adiciona descrições de parâmetros, tipos de retorno e exemplos de utilização.
    Escreve novamente o ficheiro atualizado com a documentação adicionada.`,
    options: {
      allowedTools: ['Read', 'Write'],
      cwd: process.cwd()
    }
  });
  return result;
}

3. Fluxo multiagente com capacidades externas

É aqui que o AnyCap se torna útil. O Claude Code trata do raciocínio sobre código, enquanto o AnyCap trata das tarefas que ficam fora do runtime de programação.

const { query } = require('@anthropic-ai/claude-code');
const { execSync } = require('child_process');

async function buildAndPublishDocs(repoPath) {
  // Passo 1: o Claude Code gera a documentação
  const docsResult = await query({
    prompt: "Gera um README completo para este projeto com instruções de configuração, referência da API e exemplos",
    options: {
      cwd: repoPath,
      allowedTools: ['Read', 'Write', 'Bash']
    }
  });

  // Passo 2: o AnyCap gera um diagrama hero
  execSync(`anycap image generate \
    --prompt "Diagrama de arquitetura técnica para uma ferramenta de programador, estilo limpo e minimalista" \
    --model nano-banana-2 \
    -o ${repoPath}/docs/architecture.png`);

  // Passo 3: o AnyCap publica como página web
  const pageResult = execSync(`anycap page deploy ${repoPath}/docs/`).toString();
  
  return { docs: docsResult, page: JSON.parse(pageResult) };
}

Autenticação do SDK

O SDK usa a mesma autenticação do Claude Code. Define a tua chave de API:

export ANTHROPIC_API_KEY=your_key_here

Ou, em ambientes de equipa, usa configuração específica do ambiente:

const { query } = require('@anthropic-ai/claude-code');

// O SDK obtém ANTHROPIC_API_KEY automaticamente
// Ou passa explicitamente:
process.env.ANTHROPIC_API_KEY = await getSecretFromVault('anthropic-api-key');

Formatos de saída

O SDK suporta três formatos de saída:

Formato Caso de uso
text Predefinido, saída legível para humanos
json Processamento programático — inclui resultado, custo e informações da sessão
stream-json Saída em tempo real para UIs e dashboards
// A saída JSON inclui metadados
{
  "result": "A função pode ter uma vulnerabilidade de SQL injection...",
  "is_error": false,
  "session_id": "sess_xxxx",
  "cost_usd": 0.0043,
  "num_turns": 2
}

Limites de taxa e gestão de custos em fluxos do SDK

A automação baseada em SDK pode consumir tokens mais depressa do que o uso interativo. Guardrails incorporados:

const result = await query({
  prompt: "...",
  options: {
    maxTurns: 5,        // Limitar iterações de raciocínio
    timeoutMs: 30000,   // Timeout para tarefas de longa duração
  }
});

// Verifica sempre o custo em produção
if (result.cost_usd > 0.10) {
  logger.warn(`Sessão de custo elevado: $${result.cost_usd}`);
}

Para tarefas com muita necessidade de capacidades, como geração de imagens, criação de vídeo ou pesquisa na web, descarrega para o AnyCap em vez de deixar o Claude Code tratá-las no contexto. Isto mantém os custos do SDK previsíveis e evita atingir os limites de taxa do Claude em tarefas que não são de raciocínio.


Começar

# Instalar o SDK
npm install @anthropic-ai/claude-code

# Instalar o AnyCap para ampliar capacidades
curl -fsSL https://anycap.ai/install.sh | sh

# Adicionar a skill do AnyCap ao Claude Code
npx -y skills add anycap-ai/anycap -y

AnyCap para Claude CodeGuia para adicionar ferramentas ao Claude Code