Skip to main content

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

Глобальная конфигурация

Глобальная конфигурация устанавливает поведение по умолчанию для всех сессий Cyberstrike во всех проектах.

📸 SCREENSHOT: global-config.png

Расположение файла глобальной конфигурации

Расположение файла

Глобальная конфигурация находится в глобальном каталоге конфигурации:

~/.config/cyberstrike/

Это разрешается в $XDG_CONFIG_HOME/cyberstrike, когда установлена XDG_CONFIG_HOME.

Поддерживаемые имена файлов

Следующие файлы читаются из глобального каталога конфигурации и объединяются в порядке:

ФайлФорматПриоритет
config.jsonJSONНизкий (базовый, автоматически сгенерированный)
cyberstrike.jsonJSONСредний
cyberstrike.jsoncJSON с комментариямиВысокий (предпочтительный)

Если существует несколько файлов, все читаются, и каждый последующий объединяется поверх предыдущего.

Структура каталога

~/.config/cyberstrike/
├── config.json ← автоматически сгенерированная глобальная конфигурация
├── cyberstrike.json ← глобальная конфигурация
├── cyberstrike.jsonc ← глобальная конфигурация (предпочтительная)
├── agents/ ← пользовательские агенты (*.md) (также принимает agent/)
├── commands/ ← пользовательские команды (*.md) (также принимает command/)
└── plugins/ ← плагины (*.ts / *.js) (также принимает plugin/)

Cyberstrike также сканирует каталог ~/.cyberstrike/ в домашней папке для cyberstrike.json/cyberstrike.jsonc и тех же подпапок agents/, commands/, plugins/.

Создание глобальной конфигурации

Команды инициализации нет — создайте файл вручную:

~/.config/cyberstrike/cyberstrike.jsonc
{
// Глобальная конфигурация Cyberstrike
"$schema": "https://cyberstrike.io/config.json",
"model": "anthropic/claude-sonnet-4-20250514"
}

Конфигурация модели

Модель по умолчанию

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

Формат: provider/model.

Лёгкая модель

Используется для лёгких задач, таких как генерация заголовков сессий:

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

Конфигурация провайдеров

Настраивайте провайдеров отдельно в provider. Объект options передаётся SDK провайдера:

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

Включение / отключение провайдеров

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

Когда установлен enabled_providers, загружаются только эти провайдеры; все остальные игнорируются. Подробности по провайдерам см. в ИИ-провайдеры.

Тема

theme — имя установленной темы (строка). По умолчанию cyberstrike:

{
"theme": "cyberstrike"
}

Просмотр и переключение тем в TUI с помощью команды /themes (или <leader>t). Встроенные темы включают cyberstrike, tokyonight, catppuccin, dracula, gruvbox, nord, github, monokai, matrix, rosepine, solarized и другие.

Привязки клавиш

Лидер-клавиша

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

Пользовательские привязки

{
"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"
}
}

Полный список действий и значений по умолчанию см. в Привязки клавиш.

Разрешения по умолчанию

Разрешения сопоставляют имя инструмента с действием (ask, allow или deny) или с картой glob -> действие. Отдельного списка allow/deny нет — ключ инструмента является группировкой:

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

Поддерживаются только подстановочные знаки * и ?. Полную модель и список ключей разрешений см. в Разрешения.

MCP-серверы

MCP-серверы объявляются как плоская карта в mcp, с ключами по имени сервера. Локальные серверы используют type: "local" с одним массивом command (команда + аргументы вместе); удалённые серверы используют type: "remote" с 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
}
}
}

Серверы Bolt настраиваются отдельно в ключе верхнего уровня bolt, не в mcp. См. Bolt / MCP.

Агент по умолчанию

Установка агента по умолчанию (должен быть primary агентом; откат к cyberstrike, если не установлен или недопустим):

{
"default_agent": "cyberstrike"
}

Пользовательские агенты загружаются из каталога agents/ (или agent/) в каталоге конфигурации — см. Пользовательские агенты.

Компактификация

Управление автоматической компактификацией контекста:

{
"compaction": {
"auto": true,
"prune": true
}
}
ПараметрОписание
autoАвтоматическая компактификация при заполнении контекста (по умолчанию: true)
pruneОчистка старых выводов инструментов (по умолчанию: true)

Логирование и обновления

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

logLevel — один из DEBUG, INFO, WARN, ERROR (по умолчанию INFO). autoupdate принимает true, false или "notify".

Полный пример

~/.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 }
}

Резервное копирование

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

Рекомендации по безопасности

Права доступа к файлам

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

Конфиденциальные данные

Никогда не храните API-ключи напрямую — вместо этого ссылайтесь на переменные окружения:

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

Caution

Всегда используйте ссылки на переменные окружения ({env:VAR}) для конфиденциальных данных, таких как API-ключи.

Связанная документация