Конфигурация

Конфигурация

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

Конфигурация хранится в файле .spck-editor/config/spck-cli.config.json в директории вашего проекта.

Важно: .spck-editor/config — это символическая ссылка на ~/.spck-editor/projects/{project_id}/, которая хранит секреты за пределами директории проекта.

Конфигурация по умолчанию

{
  "version": 1,
  "root": "/path/to/your/project",
  "name": "My Project",
  "terminal": {
    "enabled": true,
    "maxBufferedLines": 10000,
    "maxTerminals": 10
  },
  "security": {
    "userAuthenticationEnabled": false
  },
  "filesystem": {
    "maxFileSize": "10MB",
    "watchIgnorePatterns": [
      "**/.git/**",
      "**/.spck-editor/**",
      "**/node_modules/**",
      "**/*.log",
      "**/.DS_Store",
      "**/dist/**",
      "**/build/**"
    ]
  },
  "browserProxy": {
    "enabled": true
  },
  "acp": {
    "enabled": true
  }
}

Настройки браузерного прокси

  • browserProxy.enabled (boolean): Включить/отключить функцию браузерного прокси
    • По умолчанию: true
    • Установите false, чтобы запретить мобильному приложению открывать браузерный прокси через CLI

Настройки ACP (локальный ИИ-агент)

  • acp.enabled (boolean): Включить/отключить интеграцию ACP (локального ИИ-агента кодирования)
    • По умолчанию: true
    • Управляет тем, может ли Spck Editor управлять локально установленным ИИ-агентом кодирования (Claude Code, Codex, Gemini CLI) на этом хосте через Agent Client Protocol
    • При значении false acp.capabilities отвечает { available: false, agents: [] }, переключатель транспорта локального агента в редакторе скрывается и вместо него используется облачный путь (SSE)
    • Агент имеет косвенный доступ к оболочке и файловой системе, поэтому отключайте эту опцию для каждого проекта, если такая поверхность атаки нежелательна
    • Обратная совместимость: конфигурации, созданные до появления этой опции, загружаются с автоматически заполненным acp: { enabled: true } и пересохраняются

💡 См. также: ИИ-агенты для кода на мобильных устройствах (ACP) — полное руководство по поддерживаемым агентам (Claude Code, Codex, Gemini CLI), аутентификации и тарификации, включая отдельный лимит запросов, который Anthropic применяет к Claude Code при его запуске сторонним инструментом, таким как Spck Editor.

Настройки терминала

  • terminal.enabled (boolean): Включить/отключить доступ к терминалу

    • По умолчанию: true
    • Установите false, чтобы снизить риск несанкционированного доступа к терминалу
  • terminal.maxBufferedLines (number): Максимальный размер буфера прокрутки

    • По умолчанию: 10000
    • Влияет на использование памяти (~1 МБ на 10 000 строк)
  • terminal.maxTerminals (number): Максимальное количество одновременных сессий терминала

    • По умолчанию: 10
    • Каждый терминал использует ~5–10 МБ памяти

Настройки файловой системы

  • filesystem.maxFileSize (string): Максимальный размер файла для чтения/записи

    • По умолчанию: "10MB"
    • Допустимые значения: "5MB", "50MB" и т. д.
  • filesystem.watchIgnorePatterns (string[]): Шаблоны для исключения из отслеживания файлов

    • По умолчанию: Игнорирует результаты сборки и зависимости
    • Повышает производительность, избегая отслеживания тысяч сгенерированных файлов

Настройки безопасности

  • security.userAuthenticationEnabled (boolean): Включить аутентификацию пользователей через Firebase
    • По умолчанию: false
    • При значении false: Меньшая задержка, совместимость с Lite, защита по-прежнему обеспечивается подписью секретом
    • При значении true: Дополнительный уровень безопасности, верификация личности пользователя, добавляет 2–20 с начальной задержки
    • Все запросы всегда криптографически подписываются вне зависимости от этой настройки

Безопасность

Зашифрованные соединения

Всё взаимодействие использует:

  • WSS (WebSocket Secure): Шифрование TLS/SSL
  • HTTPS: Зашифрованное первоначальное рукопожатие

Подпись запросов

Каждый запрос криптографически подписывается:

  • Секретный ключ генерируется локально и никогда не передаётся через интернет
  • Не рекомендуется использовать сторонние сканеры QR-кодов, которые могут раскрыть ваш секретный ключ

Лучшие практики

  1. Защитите учётные данные:

    # Добавьте в .gitignore (автоматически при настройке)
    echo ".spck-editor/" >> .gitignore
    
  2. Выходите из системы на общих компьютерах:

    spck --logout
    
  3. Ограничьте открытые директории:

    # Вместо всей домашней директории
    spck --root /path/to/specific/project
    
  4. Отключите терминал, если он не нужен:

    {
      "terminal": {
        "enabled": false
      }
    }
    
  5. Отключите браузерный прокси, если он не нужен:

    {
      "browserProxy": {
        "enabled": false
      }
    }
    
  6. Отключите ACP (локальный ИИ-агент), если он не нужен:

    {
      "acp": {
        "enabled": false
      }
    }
    

Аутентификация пользователей

Spck CLI поддерживает опциональную аутентификацию пользователей через Firebase как второй уровень безопасности поверх всегда активной подписи запросов.

Принцип работы

При включении CLI требует входа в аккаунт Spck Editor. Подключения аутентифицируются с помощью Firebase ID-токенов, которые истекают каждый час и автоматически обновляются с использованием защищённых токенов обновления, хранящихся в ~/.spck-editor/.credentials.json.

Включение аутентификации пользователей

{
  "security": {
    "userAuthenticationEnabled": true
  }
}

Компромиссы

Отключено (по умолчанию) Включено
Защита Секретный ключ подписи + Верификация личности через Firebase
Начальная задержка Нет накладных расходов на аутентификацию Добавляет 2–20 с при первом подключении
Spck Editor Lite ✅ Поддерживается ❌ Не поддерживается
Работа офлайн Работает без интернета Требует интернет для обновления токена

Когда включать

Оставьте отключённым (по умолчанию), если:

  • Используете Spck Editor Lite — вход через Firebase не поддерживается в Lite; установка значения true не позволит пользователям Lite подключиться
  • Работаете в локальной сети или доверенной среде, где достаточно секретного ключа подписи
  • Минимизация задержки подключения является приоритетом

Включите, если:

  • CLI доступен на сервере через интернет
  • Вы хотите получить верификацию личности пользователя как дополнительный уровень контроля доступа помимо ключа подписи

⚠️ Spck Editor Lite не поддерживает аутентификацию Firebase. Если userAuthenticationEnabled установлен в true, Spck Editor Lite не сможет подключиться. Оставьте этот параметр в значении false при использовании Lite.