Безпечно виконувати локальні команди
У настільному застосунку асистент може виконувати команди й тести в робочій папці вашого чату. Як це працює в чаті, читайте в розділі Локальний доступ до файлів. На цій сторінці ви налаштовуєте, коли це може відбуватися без запиту, і наскільки ізольовано виконуються команди.
Відкрити налаштування команд
У чаті відкрийте панель Команди та виберіть Налаштування команд для цієї папки. Налаштування діють для кожної папки окремо.
Коли асистент може виконати команду?
Оберіть один із цих трьох режимів:
- Завжди питати: ви підтверджуєте кожну команду.
- Автоматично для довірених команд: команди, які ви зберегли, запускаються без запиту. Інші команди й надалі потребують дозволу.
- Автоматично в sandbox: усе запускається без запиту, але в ізольованому середовищі.
У кожному режимі також діють такі правила:
- Безпечні команди запускаються без картки:
mkdir,ls,cat,head,tail,wc,grep,find(без-execабо-delete),touch,pwd,treeі перевірки версії (--version,-vабо-Vдляnode,npm,npx,python,pipтаaischool-python). Вони не роблять більшого, ніж уже роблять вбудовані інструменти для файлів без запиту. Вони виконуються в sandbox без мережі й лише з шляхами всередині робочої папки, навіть після переходу за посиланнями (без абсолютних шляхів,~чи..). Якщо посилання веде за межі папки, тоді картка все ж з’являється. Для цього потрібні sandbox (macOS) та локальні команди, але не Дозволити автоматичне виконання від вашого адміністратора. У панелі Команди тоді відображається Автоматично (безпечна команда). Також список у фігурних дужках, наприкладmkdir -p src/{components,utils}, запускається без картки: застосунок розкладає його на окремі шляхи й перевіряє всі. - Кожна картка показує точну команду і, для онлайн-дій, точну адресу. Нижче дрібнішим шрифтом наведено пояснення асистента.
- Якщо sandbox доступний і ваш адміністратор дозволив автоматичне виконання, то в картці для команди, яка запускається в sandbox, також є кнопка Надалі автоматично в sandbox у цій папці. Вона переводить папку в режим Автоматично в sandbox, щоб наступні команди запускалися без картки. Команди, яким потрібна мережа, ще один раз попросять дозвіл, якщо не дозволено встановлення пакетів.
- Перша картка в папці, яка виконується в sandbox і не потребує мережі, одноразово показує Довірити цьому проєкту. Вона виконує команду, переводить папку в режим Автоматично в sandbox і вмикає Дозволити встановлення пакетів без запиту. Після цього тести й збірки на кшталт
npm test,npm run buildіnode --testзапускаються без картки, у sandbox без мережі. Команди, яким далі потрібна мережа, або які запускаються поза sandbox, і надалі будуть запитувати дозвіл. Після Виконати або Відхилити запит у цій папці більше не з’являється; режим змінюється в налаштуваннях команд. Якщо автоматичне виконання вимкнено, кожна картка повідомляє, що це робить ваш адміністратор або політика керування цією комп’ютерною системою.
Зберігати довірені команди
Для команди виберіть Завжди дозволяти в цій папці, а потім Точно цю команду або Усе, що починається з цього. Збережені команди надалі запускаються без запитів. Команди зі спеціальними символами (наприклад ; | > $) завжди потребують дозволу.
Збережені правила знаходяться в налаштуваннях команд у розділі Завжди дозволено в цій папці. Там їх також можна видалити.
Sandbox і мережа
- Використовувати sandbox: команди можуть записувати лише в цю папку. Ця опція за замовчуванням увімкнена на macOS.
- Дозволити мережу: визначає, чи мають команди доступ до інтернету. Ця опція за замовчуванням вимкнена. Без sandbox команди завжди мають доступ до мережі.
Кожна картка команди показує, чи ввімкнені sandbox і мережа.
Якщо Дозволити мережу вимкнено, а асистент хоче щось завантажити, наприклад за допомогою npm install, тоді картка команди запитає, чи хочете ви виконати саме цю команду з мережею. Тобто вам не потрібно вмикати мережу для всієї папки.
На Windows sandbox поки недоступний.
Встановлення пакетів
У застосунку є власний Node.js із npm. Тому команди на кшталт node, npm і npx працюють навіть тоді, коли Node.js не встановлено на вашому комп’ютері. Якщо Node.js уже встановлено, застосунок використовує цю версію. Виняток: проєкт, який сам запускає Electron (electron .), потребує Node.js, який ви встановили самі.
Дозволити встановлення пакетів без запиту
У Налаштуваннях команд для цієї папки увімкніть перемикач Дозволити встановлення пакетів без запиту. Тоді встановлення пакетів із назвою запускаються без картки: npm install <назва> і npm install із package.json, pnpm, yarn або bun з install чи add, а також pip install <назва> (також через uv). Вони завжди виконуються в sandbox, з мережею. Інші команди дотримуються режиму, який ви вибрали для папки.
Ці встановлення все ще показують картку:
- проєктні генератори, як-от
npm create vite@latestіnpx create-…, бо вони виконують власний код; pip install .,pip install -r requirements.txt, встановлення з іншого реєстру (--registry,-i,--index-url) і пакети з git-адреси, URL або шляху.
Перемикач працює лише із sandbox (macOS) і якщо ваш адміністратор дозволив автоматичне виконання. Інакше ввімкнути його не можна.
Пакети, встановлені таким способом, ніколи не запускають власні install-скрипти (npm працює з --ignore-scripts). Пакети Python встановлюються лише як готові wheels.
Локальні сервери та вбудований браузер
Асистент також може запускати сервер розробки, який працює постійно, наприклад npm run dev для невеликого React-проєкту з Vite. Для цього діють ті самі правила, що й для інших команд: ви підтверджуєте точну команду, або вона запускається через збережене правило чи автоматично в sandbox. Замість максимального часу виконання на картці написано: "Працює як локальний сервер, доки ви його не зупините."
Сервер продовжує працювати після відповіді асистента. У панелі Команди картка показує статус Сервер працює, з кнопками Відкрити в браузері та Зупинити. Одночасно може працювати щонайбільше 4 сервери. Сервери зупиняються, коли ви їх зупиняєте або закриваєте застосунок.
У sandbox без мережі сервер може слухати лише на цьому комп’ютері (localhost). Як асистент встановлює пакети, читайте в розділі Встановлення пакетів.
Показати просту вебсторінку
Для звичайної вебсторінки (файл index.html із CSS та JavaScript, без етапу збірки) команда не потрібна. Тоді асистент використовує вбудований вебсервер застосунку:
- Папка доступна лише на цьому комп’ютері, за адресою
http://127.0.0.1із випадковим портом. - Приховані файли, як-от
.gitі.env, ніколи не показуються. - Якщо файл змінюється, сторінка автоматично перезавантажується.
Для цього картка підтвердження не з’являється. Сервер відображається в панелі Команди з кнопками Відкрити в браузері та Зупинити, і враховується до ліміту в 4 сервери.
Результат переглядайте у вбудованому браузері: кнопка Браузер (піктограма глобуса) праворуч у верхній панелі. Панель відкривається поруч із чатом, має назад, уперед, оновити (зупинити під час завантаження), адресний рядок і Відкрити у стандартному браузері.
- Асистент сам відкриває браузер, щоб показати результат локального сервера. Це можливо лише для локальних адрес, як-от
http://localhost:5173. - Якщо ви натискаєте в відповіді на localhost-посилання, воно відкривається у вбудованому браузері. Інші посилання відкриваються у вашому стандартному браузері.
- Ви також можете самі вводити будь-яку вебадресу.
- Браузер має власну окрему сесію: ви там не ввійшли в AI-School, сайти не отримують дозволів, як-от на камеру чи мікрофон, і завантаження не працює.
- Поки відкрите меню або діалогове вікно застосунку, сторінка тимчасово приховується.
Приклад:
Створи в цій папці невеликий React-застосунок на Vite з лічильником. Встанови залежності, запусти dev-сервер і покажи результат у браузері.
Дозволити асистентові переглядати сторінку
Якщо ви просите асистента подивитися на сторінку у вбудованому браузері, він читає адресу, заголовок, видимий текст, знімок екрана та останні повідомлення про помилки сторінки. Усе це надходить до AI-моделі.
- Сторінку на цьому комп’ютері (
localhostабо127.0.0.1) асистент переглядає без запиту. - Для будь-якого іншого сайту, наприклад сторінки, де ви ввійшли в систему, асистент спочатку показує картку: "Асистент хоче переглянути onedrive.live.com." Натисніть Дозволити перегляд або Відхилити. Він запитуватиме це щоразу.
- Якщо після вашого дозволу сторінка переходить на інший сайт, асистент нічого не читає.
- Лише на сторінці цього комп’ютера асистент сам клікає й вводить текст, щоб перевірити, що він створив. На інших сайтах він не клікає, не вводить текст і не навігує. Він не отримує cookies чи паролі.
- В офлайн-режимі асистент переглядає лише сторінки на цьому комп’ютері.
Версії та GitHub
У асистента є вбудований git. Тож вам не потрібно встановлювати git, навіть на Windows. Асистент може зберігати версії, показувати зміни, створювати гілки та публікувати проєкт онлайн.
- Дії в цій папці, як-от збереження версії, запускаються без запиту. Файли, які схожі на секрети (як-от
.env-файли, ключі або токени в коді, зокрема ключі Google API, що починаються зAIza), ніколи не потрапляють у версію. Асистент повідомляє, якщо щось пропускає. - Онлайн-дії (завантаження проєкту, отримання останньої версії, публікація та створення репозиторію GitHub) спочатку показують картку з точною адресою та мітками Вбудовано в застосунок і Мережа увімкнена. Якщо адреса не github.com або якщо новий репозиторій робиться публічним, картка показує попередження. Під час публікації картка показує, які файли буде надіслано. Виберіть Виконати або Відхилити.
- Під’єднання репозиторію поза github.com також спочатку потребує дозволу.
Як під’єднати GitHub і опублікувати проєкт, читайте в розділі Vibe coden.
В офлайн-режимі команди завжди виконуються в sandbox без мережі. Встановлення пакетів із мережею та онлайн-дії вбудованого git (завантаження, отримання, публікація та GitHub) тоді не працюють. Збереження версій і показ простої вебсторінки працюють.
Налаштування для адміністраторів
Адміністратори можуть вимкнути локальні команди або автоматичне виконання для всіх у середовищі. Це робиться в адміністративному середовищі в розділі Функції (на рівні середовища), у картці Desktop-app:
- Дозволити локальні команди: якщо вимкнено, асистент не може виконувати команди. Онлайн-дії вбудованого git також не працюють. Збереження версій і гілки продовжують працювати: вони змінюють лише файли в папці, так само як і інструменти для файлів.
- Дозволити автоматичне виконання: якщо вимкнено, кожна команда потребує дозволу, і ви не можете ввімкнути Дозволити встановлення пакетів без запиту.
- Дозволити Python застосунку для Office-файлів: для шаблонів, діаграм і аналізів. Цей Python працює без інтернету, записує лише в робочу папку і не може запускати інші програми. Якщо нічого не налаштовано, він успадковує Дозволити локальні команди. Без sandbox (Windows) він доступний лише тоді, коли локальні команди увімкнено, і щоразу запитує дозвіл.