Безпечно виконувати локальні команди
У настільному застосунку асистент може виконувати команди та тести в робочій папці вашого чату. Як це працює в чаті, читайте в розділі Доступ до локальних файлів. На цій сторінці ви налаштовуєте, коли це можна робити без запиту, і наскільки ізольовано виконуються команди.
Відкрити налаштування команд
У чаті відкрийте панель Команди та виберіть Налаштування команд для цієї папки. Налаштування діють для кожної папки окремо.
Коли асистент може виконувати команду?
Оберіть один із цих трьох режимів:
- Завжди питати: ви підтверджуєте кожну команду.
- Автоматично довірені команди: команди, які ви зберегли, запускаються без запиту. Інші команди й надалі потребують дозволу.
- Автоматично в 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) і якщо ваш адміністратор дозволяє автоматичне виконання. Інакше його не можна ввімкнути.
Пакети, встановлені таким чином, ніколи не запускають власні скрипти встановлення (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-Corporate, сайти не отримують дозволів на кшталт камери чи мікрофона, і завантаження недоступне.
- Поки відкрито меню або діалогове вікно застосунку, сторінка тимчасово приховується.
Приклад:
Створи в цій папці невеликий 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-кодинг.
В офлайн-режимі команди завжди працюють у sandbox без мережі. Встановлення пакетів із мережею та онлайн-дії вбудованого git (завантаження, отримання, публікація та GitHub) тоді не працюють. Збереження версій і показ простої вебсторінки працюють.
Налаштування для адміністраторів
Адміністратори можуть вимкнути локальні команди або автоматичне виконання для всіх у середовищі. Це робиться в адміністративному середовищі в розділі Функції (на рівні середовища), в картці Desktop-app:
- Дозволити локальні команди: якщо вимкнено, асистент не може виконувати команди. Онлайн-дії вбудованого git також не працюють. Збереження версій і гілки продовжують працювати: вони змінюють лише файли в папці, як і файлові інструменти.
- Дозволити автоматичне виконання: якщо вимкнено, кожна команда потребує дозволу, і ви не можете ввімкнути Дозволяти встановлення пакетів без запиту.
- Дозволити Python застосунку для файлів Office: для шаблонів, графіків і аналізів. Цей Python працює без інтернету, записує лише в робочу папку і не може запускати інші програми. Якщо нічого не налаштовано, він підпорядковується параметру Дозволити локальні команди. Без sandbox (Windows) він доступний лише коли локальні команди ввімкнені, і щоразу потребує дозволу.