Skip to main content

Cyberstrike is now open source! AI-powered penetration testing for security professionals. Star on GitHub

Configuracao Global

A configuracao global define o comportamento padrao para todas as sessoes do Cyberstrike em todos os projetos.

📸 SCREENSHOT: global-config.png

Localizacao do arquivo de configuracao global

Localizacao do Arquivo

A configuracao global reside no diretorio global de configuracao:

~/.config/cyberstrike/

Isso resolve para $XDG_CONFIG_HOME/cyberstrike quando XDG_CONFIG_HOME esta definido.

Nomes de Arquivo Suportados

Os seguintes arquivos sao lidos do diretorio global de configuracao e mesclados em ordem:

ArquivoFormatoPrioridade
config.jsonJSONBaixa (base, gerado automaticamente)
cyberstrike.jsonJSONMedia
cyberstrike.jsoncJSON com ComentariosAlta (preferido)

Se multiplos arquivos existirem, todos sao lidos e cada arquivo subsequente e mesclado sobre o anterior.

Estrutura do Diretorio

~/.config/cyberstrike/
├── config.json ← configuracao global gerada automaticamente
├── cyberstrike.json ← configuracao global
├── cyberstrike.jsonc ← configuracao global (preferido)
├── agents/ ← agentes personalizados (*.md) (tambem aceita agent/)
├── commands/ ← comandos personalizados (*.md) (tambem aceita command/)
└── plugins/ ← plugins (*.ts / *.js) (tambem aceita plugin/)

O Cyberstrike adicionalmente escaneia um diretorio ~/.cyberstrike/ na sua pasta home para cyberstrike.json/cyberstrike.jsonc e as mesmas subpastas agents/, commands/, plugins/.

Criando a Configuracao Global

Nao existe comando de inicializacao — crie o arquivo manualmente:

~/.config/cyberstrike/cyberstrike.jsonc
{
// Configuracao global do Cyberstrike
"$schema": "https://cyberstrike.io/config.json",
"model": "anthropic/claude-sonnet-4-20250514"
}

Configuracao de Modelo

Modelo Padrao

{
"model": "anthropic/claude-sonnet-4-20250514"
}

Formato: provider/model.

Modelo Leve

Usado para tarefas leves como geracao de titulo de sessao:

{
"small_model": "anthropic/claude-haiku-4-5-20251001"
}

Configuracao de Provedores

Configure provedores individualmente sob provider. O objeto options e passado diretamente para o SDK do provedor:

{
"provider": {
"anthropic": {
"options": {
"apiKey": "{env:ANTHROPIC_API_KEY}"
}
}
}
}

Habilitando / Desabilitando Provedores

{
"disabled_providers": ["ollama"],
"enabled_providers": ["anthropic", "openai"]
}

Quando enabled_providers esta definido, apenas esses provedores sao carregados; todos os outros sao ignorados. Consulte Provedores de IA para detalhes por provedor.

Tema

theme e o nome de um tema instalado (uma string). O padrao e cyberstrike:

{
"theme": "cyberstrike"
}

Navegue e troque temas na TUI com o comando /themes (ou <leader>t). Temas integrados incluem cyberstrike, tokyonight, catppuccin, dracula, gruvbox, nord, github, monokai, matrix, rosepine, solarized e mais.

Keybindings

Tecla Lider

{
"keybinds": {
"leader": "ctrl+x"
}
}

Bindings Personalizados

{
"keybinds": {
"leader": "ctrl+a",
"session_new": "<leader>n",
"session_list": "<leader>l",
"model_list": "<leader>m",
"theme_list": "<leader>t",
"app_exit": "ctrl+c,ctrl+d,<leader>q"
}
}

Consulte Keybindings para a lista completa de acoes e padroes.

Padroes de Permissao

Permissoes mapeiam um nome de ferramenta para uma acao (ask, allow ou deny), ou para um mapa glob → acao. Nao existe lista separada de allow/deny — a chave da ferramenta e o agrupamento:

{
"permission": {
"read": "allow",
"glob": "allow",
"grep": "allow",
"bash": {
"*": "ask",
"rm -rf *": "deny"
},
"edit": {
"*": "ask",
"~/.ssh/**": "deny"
}
}
}

Apenas * e ? sao suportados como wildcards. Consulte Permissoes para o modelo completo e a lista de chaves de permissao.

Servidores MCP

Servidores MCP sao declarados como um mapa plano sob mcp, indexados pelo nome do servidor. Servidores locais usam type: "local" com um unico array command (comando + argumentos juntos); servidores remotos usam type: "remote" com uma url:

{
"mcp": {
"filesystem": {
"type": "local",
"command": ["npx", "-y", "@modelcontextprotocol/server-filesystem", "~"],
"environment": { "DEBUG": "true" },
"enabled": true
},
"remote-api": {
"type": "remote",
"url": "https://api.example.com/mcp",
"enabled": true
}
}
}

Servidores Bolt sao configurados separadamente sob a chave de nivel superior bolt, nao sob mcp. Consulte Bolt / MCP.

Agente Padrao

Defina o agente padrao (deve ser um agente primario; volta para cyberstrike se nao definido ou invalido):

{
"default_agent": "cyberstrike"
}

Agentes personalizados sao carregados do diretorio agents/ (ou agent/) no diretorio de configuracao — consulte Agentes Personalizados.

Compactacao

Controle a compactacao automatica de contexto:

{
"compaction": {
"auto": true,
"prune": true
}
}
OpcaoDescricao
autoAuto-compactar quando o contexto esta cheio (padrao: true)
prunePodar saidas antigas de ferramentas (padrao: true)

Logs e Atualizacoes

{
"logLevel": "INFO",
"autoupdate": "notify"
}

logLevel e um entre DEBUG, INFO, WARN, ERROR (padrao INFO). autoupdate aceita true, false ou "notify".

Exemplo Completo

~/.config/cyberstrike/cyberstrike.jsonc
{
"$schema": "https://cyberstrike.io/config.json",
"model": "anthropic/claude-sonnet-4-20250514",
"small_model": "anthropic/claude-haiku-4-5-20251001",
"default_agent": "cyberstrike",
"theme": "cyberstrike",
"share": "manual",
"autoupdate": "notify",
"provider": {
"anthropic": {
"options": {
"apiKey": "{env:ANTHROPIC_API_KEY}"
}
}
},
"permission": {
"read": "allow",
"edit": { "*": "ask" },
"bash": { "*": "ask", "rm -rf *": "deny" }
},
"mcp": {
"filesystem": {
"type": "local",
"command": ["npx", "-y", "@modelcontextprotocol/server-filesystem", "."],
"enabled": true
}
},
"keybinds": { "leader": "ctrl+x" },
"compaction": { "auto": true, "prune": true }
}

Backup

Terminal window
cp ~/.config/cyberstrike/cyberstrike.jsonc ~/.config/cyberstrike/cyberstrike.jsonc.backup

Consideracoes de Seguranca

Permissoes de Arquivo

Terminal window
chmod 600 ~/.config/cyberstrike/cyberstrike.jsonc
chmod 700 ~/.config/cyberstrike/

Dados Sensiveis

Nunca armazene chaves de API diretamente — referencie variaveis de ambiente em vez disso:

{
"provider": {
"anthropic": {
"options": {
"apiKey": "{env:ANTHROPIC_API_KEY}"
}
}
}
}

Caution

Sempre use referencias de variaveis de ambiente ({env:VAR}) para dados sensiveis como chaves de API.

Documentacao Relacionada