Перейти до вмісту
↑↓Навігація ↵Відкрити escЗакрити

Розширення

Розширення може мати повноекранну сторінку, наприклад дошку задач. Відкрийте її через Сторінки розширень над списком сесій. Меню з’являється лише для увімкнених і схвалених сторінок. Вибір чату, перезавантаження, пауза, видалення чи зміна сервера закривають сторінку. Розширення не може відкрити її самостійно.

Власні дані розширення зберігаються на підключеному сервері й видаляються після видалення розширення. Дошка може відстежувати сесії різних проєктів і worktree, не створюючи файлів у вашому проєкті.

Через Налаштування → Розширення можна додати до OpenChamber панелі, зроблені іншими людьми. Розширення - це невелика сторінка на правій бічній панелі, поруч із вбудованими панелями. Воно може показувати дані з іншого сервісу, прикріпляти задачу до чату, а з вашого дозволу - запускати сесії, надсилати промпти чи читати файли.

Розширення працюють у веб-версії та десктопній версії OpenChamber. VS Code і мобільний застосунок їх поки не завантажують. Це не те саме, що плагіни OpenCode.

Встановити розширення

Розширення з бейджем Вбудоване постачаються з вибраним інстансом OpenChamber. Вони початково ввімкнені й отримують задекларовані дозволи без окремого діалогу. На картці доступні Вимкнути та Увімкнути; видалити чи оновити їх окремо від застосунку не можна. Вимкнення зберігає дані й підключені облікові записи та залишається чинним після оновлення апки.

Їхні облікові записи налаштовуються в Налаштування → Інтеграції → Вбудовані інтеграції. Для доступу до сервісу все одно може знадобитися API-токен або вхід в обліковий запис.

  1. Відкрийте Налаштування → Розширення.
  2. Вставте в поле Тека, ZIP або URL одне з такого і натисніть Додати:
    • повний шлях до теки на цьому комп’ютері
    • шлях до файлу .zip
    • https-посилання на git-репозиторій або zip-файл
    • SSH Git-адресу, наприклад [email protected]:owner/extension.git
  3. Якщо розширення просить якісь дозволи, діалог покаже їх список. Натисніть Дозволити й увімкнути або Видалити, щоб прибрати розширення.

Також можна перетягнути .zip на поле або вибрати його кнопкою архіву поруч; архів завантажується на сервер OpenChamber, тож це працює і для віддаленого екземпляра. У десктопній версії кнопка теки відкриває системне вікно вибору, а перетягнута тека встановлюється за своїм шляхом.

Іконка розширення з’явиться на бічній панелі. Якщо її немає, дивіться Усунення несправностей.

Розширення з теки запускається прямо з неї, тож розробник може редагувати файли й перезавантажувати панель. Zip або URL спершу копіюється в теку даних OpenChamber; оригінальний файл не чіпається.

Приватні репозиторії та Git identities

SSH-встановлення підтримує [email protected]:owner/extension.git і ssh://[email protected]/owner/extension.git, з необов’язковим #branch-or-tag. У меню з відбитком пальця біля поля виберіть Global Identity або збережений Git-профіль. Вибір зберігається для перевірки й встановлення оновлень; зміна ключа в профілі застосовується під час наступної операції.

Global Identity використовує Git/SSH-налаштування та SSH-агент користувача, який запускає вибраний сервер OpenChamber. Для remote instance ключ має бути доступний на тому сервері. Ключ із паролем спочатку розблокуйте в SSH-агенті процесу сервера. HTTPS використовує HTTPS-авторизацію Git і не перемикається на SSH автоматично. Git-хост має резолвитися в публічні адреси; локальні SSH-аліаси та адреси приватних мереж не підтримуються.

Що може робити розширення

Показувати панель і бачити, який проєкт і сесія відкриті, можна без дозволу. Усе, що діє від вашого імені, потребує дозволу, і весь список ви бачите один раз, під час встановлення:

  • Надсилати повідомлення у ваших сесіях: пише й надсилає моделі промпти, а це витрачає токени і може запускати інструменти.
  • Доступ до проєктів і сесій: переглядати проєкти, worktree та стани сесій, створювати й відкривати сесії в доданих проєктах. Вміст розмов залишається приватним.
  • Читати й записувати файли проєкту: будь-який файл у відкритому проєкті.
  • Читати й записувати файли поза проєктом: лише розташування, перелічені в діалозі.
  • Використовувати ваш Small Model: одноразова генерація тексту поза вашими сесіями, з моделлю з Налаштування → Сесії → Small Model. Коштує токенів.
  • Підключатися до зовнішнього сервісу: з обліковим записом, який ви підключите в Налаштування → Інтеграції.
  • Читати розмову сесії: лише коли ви запускаєте дію розширення на цій сесії.
  • Запускати локальний сервіс: окрему програму з повними правами вашого користувача. Дозволяйте лише якщо довіряєте автору. Коли розширення хоче знати, що відбувається у ваших сесіях, цей рядок перелічує ще й моменти, про які воно дізнається: хід завершився, хід зазнав збою, агент просить дозвіл, агент ставить питання. Воно дізнається про них у кожному проєкті, без відкритого вікна, і отримує лише ідентифікатори: сесію, її проєкт та елементи, які ви до неї прикріпили.
  • Читати, що агент каже у фоні: фінальна відповідь кожного ходу, питання, які ставить агент, і те, на що він просить дозвіл, у кожному проєкті, надіслані локальному сервісу розширення. Дозволяйте лише якщо довіряєте тому, куди розширення це надсилає.
  • Самостійно запускати сесії й надсилати повідомлення: це робить його локальний сервіс без відкритого вікна, а це витрачає токени і може запускати інструменти.
  • Додавати до того, що читають агенти: текст в інструкціях ваших сесій і скіли, доступні кожному агенту, поки розширення увімкнене.
  • Додати плагін до OpenCode: плагін пакета завантажується у ваш OpenCode, поки розширення увімкнене. Код плагіна виконується всередині OpenCode з усіма вашими правами, як локальний сервіс, тому дозволяйте це лише тоді, коли довіряєте автору.

Локальний сервіс також може працювати весь час, поки працює OpenChamber, або прокидатися за розкладом. Діалог каже про це під Запускати локальний сервіс, а ще каже, коли те, що ви пишете після @, іде сервісу. Розширення може додавати власні рядки в меню @ і власні блоки у відповіді агента. Пауза розширення все це забирає.

Розширення, яке доставляє ваші сповіщення, у Slack, Matrix або на власний сервер, також каже про це під Запускати локальний сервіс, рядком, що починається з Доставляє ваші сповіщення. Нічого не надсилається, доки ви не підключите для нього обліковий запис у Налаштування → Інтеграції; після цього воно отримує те, що отримав би ваш телефон, а пауза розширення це зупиняє.

Коли новіша версія просить більше, ніж ви дозволили, картка показує Потребує схвалення і кнопку Переглянути дозволи. Поки ви не дозволите новий список, розширення вимкнене.

Де воно з’являється

Крім панелі на бічній панелі, розширення може додавати пункти в меню, якими ви вже користуєтеся: дії на повідомленні в чаті, меню сесії, меню + біля поля чату та слеш-команди на кшталт /task ABC-12, які прикріплюють щось, нічого не відкриваючи. Воно також може дати власним інструментам належну іконку, заголовок і розкладку виводу в чаті, як у вбудованих інструментів OpenChamber. Розширення саме вирішує, що з цього пропонує; усе це вимкнене, поки ви не дозволите розширення.

Деякі розширення показують живу картинку замість власної панелі: те, в чому агент працює на сервері, наприклад браузер або симулятор. Клацніть у картинку або натисніть клавішу, щоб узяти керування; у рядку стану з’явиться Ви керуєте, а браузерні дії агента відхилятимуться, доки ви не натиснете Повернути агенту. Копіювання та вставка працюють як завжди. Інший пристрій, підключений водночас, бачить, хто керує, і не може забрати керування. Таке розширення може додати власні елементи керування поруч із зображенням, наприклад адресний рядок над ним або колонку інструментів збоку.

Розширення з плагіном OpenCode

Розширення може постачати плагін OpenCode, щоб ви встановлювали одну річ замість двох. У його діалозі дозволів є рядок, що починається з Додати плагін до OpenCode. Щойно ви дозволите, OpenChamber за кілька секунд додає плагін до OpenCode, який запускає для вас, без перезапуску; вимкнення або видалення розширення прибирає його тим самим шляхом. У ваш власний opencode.json нічого не пишеться, тому плагін ніколи не переживе розширення і ніколи не працюватиме в OpenCode, який ви запускаєте в терміналі.

Коли OpenChamber не запускав OpenCode, з яким спілкується, або ваше середовище задає власний OPENCODE_CONFIG, конфігурація OpenChamber не доходить до того OpenCode. Екран розширення каже про це й пропонує Додати до глобальної конфігурації. Це записує теку плагіна у вашу глобальну конфігурацію OpenCode: відтоді він працює в кожному OpenCode на цьому комп’ютері, зокрема в терміналі, залишається увімкненим, коли розширення вимкнене, і ви керуєте ним у Налаштуваннях → Плагіни. Якщо ви видалите розширення, OpenCode покаже цей запис як плагін, що не завантажився, і працюватиме далі, доки ви не видалите запис там. OpenCode на іншій машині не може завантажити теку з цієї; екран каже про це.

VS Code і мобільний застосунок не завантажують розширень. Сесія в ізольованому просторі запускає власний OpenCode, який ніколи не отримує плагін. У корпоративному режимі плагін рахується як локальний сервіс: розширення встановлюється лише з репозиторію, який вказав ваш адміністратор.

Розширення як Git-хост

Розширення може додати Git-хост поруч із GitHub, GitLab, Gitea, Forgejo і Gerrit. Тоді в його діалозі дозволів є рядок, що починається з Працює як Git-хост і називає хост. У тому ж рядку сказано, що OpenChamber йому надсилає: назви репозиторіїв, гілки й текст issues і pull requests, який ви пишете.

Коли ви це дозволите, хост отримає власну картку в Налаштування → Інтеграції поруч із вбудованими хостами. Підключіть там свій обліковий запис токеном, а також адресою хоста, якщо картка її просить. Після цього проєкт, чий remote на цьому хості, працює як будь-який інший: його issues і pull requests є на дошці Issues і PR та в меню + чату, його гілки показують позначки pull request, і з його pull request можна почати worktree. Що робить кожна з цих можливостей, описано в Git-хостах.

Ваш токен лишається в OpenChamber. Розширення просить OpenChamber звернутися до хоста за нього, і OpenChamber додає токен до кожного звернення, лише для адреси, яку ви підключили. Розширення його ніколи не отримує.

Якщо призупинити розширення, хост зникає, доки ви його знову не ввімкнете, а ваш обліковий запис лишається. Видалення розширення забуває обліковий запис. VS Code не показує Git-хости з розширень.

У OpenChamber SDK є робочий приклад examples/source-control-provider, з якого можна почати власний. Див. Створити розширення.

Розширення як трекер

Розширення може додати трекер робочих елементів поруч із Linear: YouTrack, Jira, Plane або власний трекер. Тоді в його діалозі дозволів є рядок, що починається з Працює як трекер і називає його. У тому ж рядку сказано, що OpenChamber йому надсилає: ваші пошукові запити та елементи, які ви відкриваєте, і що його просять змінювати їхній стан та публікувати коментарі сесій від вашого імені.

Коли ви це дозволите, трекер отримає власну картку в Налаштування → Інтеграції в розділі Облікові записи розширень. Підключіть там обліковий запис: токеном або входом у браузері після того, як введете client id застосунку, який зареєстрували в трекері, а спершу адресу сервера, якщо картка її просить. Після цього його елементи є всюди, де є елементи Linear: у меню + чату та у вікні вибору, у New Worktree, серед пов’язаних елементів сесії та в живих станах елементів, за якими ви стежите. Вставлене посилання на один із його елементів розпізнається так само. Що робить кожна з цих можливостей, описано в Linear.

Ваші токени лишаються в OpenChamber. Розширення просить OpenChamber звернутися до трекера за нього, і OpenChamber додає облікові дані до кожного звернення, лише для сервера, який ви підключили. Розширення їх ніколи не отримує, і писати туди можуть лише його виклики зміни стану та коментарів.

Якщо призупинити розширення, трекер зникає, доки ви його знову не ввімкнете, а ваші облікові записи лишаються. Видалення розширення їх забуває. VS Code не показує трекерів; на телефоні елементи трекера видно, а облікові записи підключають із вебзастосунку або десктопного застосунку.

У OpenChamber SDK є робочий приклад examples/tracker-provider з несправжнім трекером, який можна запустити поруч. Див. Створити розширення.

Розширення як провайдер використання

Розширення може додати провайдера використання поруч із вбудованими: провайдера, якого OpenChamber сам не читає, або власного. Тоді в його діалозі дозволів є рядок, що починається з Звітує про використання як вбудований провайдер і перелічує провайдерів OpenCode, облікові дані яких воно читає, наприклад openrouter; розширення, яке не перелічує жодного, так і каже.

Коли ви це дозволите, його картка стоїть після вбудованих провайдерів у Налаштування → Використання, з назвою та іконкою розширення, і потрапляє до лімітів у заголовку, у стан роботи, у спливне вікно на телефоні та в трей на десктопі, щойно ви позначите Показувати в стані роботи, як будь-який вбудований провайдер. При кожному оновленні OpenChamber передає розширенню облікові дані, які OpenCode зберігає для кожного переліченого провайдера, і більше нічого; версія, яка перелічує іншого провайдера, знову просить вашого дозволу. Використання розширення читає саме, а OpenChamber малює його так само, як для вбудованого провайдера.

Якщо призупинити розширення, картка зникає, доки ви його знову не ввімкнете, а ваші налаштування використання для неї лишаються. Видалення розширення прибирає картку назавжди. VS Code не показує використання з розширень; на телефоні картка видна, а налаштовують розширення у вебзастосунку або десктопному застосунку. Сесія всередині ізольованого простору читає використання з власного сервера цього простору, де розширень немає.

У OpenChamber SDK є робочий приклад examples/quota-provider з несправжнім API використання, який можна запустити поруч. Див. Створити розширення.

Підключити обліковий запис

Розширення, яке працює з сервісом, отримує картку в Налаштування → Інтеграції в розділі Облікові записи розширень. Залежно від сервісу картка просить API-токен, ім’я користувача з токеном або client id для входу через сервіс. Натисніть Під’єднати; Від’єднати стирає збережений токен. Додаткові поля, які оголошує розширення, зберігаються самі, щойно ви їх залишаєте.

Токен лишається на сервері OpenChamber. Сторінка розширення його ніколи не бачить.

Оновити

Розширення, встановлені з git-URL, можуть оновлюватися самі. Відкриття Налаштування → Розширення перевіряє кожне з них не частіше ніж раз на годину; Перевірити оновлення перевіряє одразу. Картка з новішою версією показує Доступне оновлення і кнопку Оновити. Оновлення зберігає ваші дозволи, облікові записи й налаштування; якщо нова версія просить більше, діалог підтвердження з’явиться знову. Розширення з теки чи zip не оновлюються: замініть їх вручну.

Додайте #v1.2.0 або #stable до git-URL під час встановлення, щоб стежити за тегом або гілкою замість типової гілки.

Призупинити або видалити

На кожній картці є перемикач Увімкнено. У вимкненому стані розширення лишається встановленим, але його панель схована, а виклики заблоковані. Прибрати видаляє встановлене з zip чи URL розширення з теки даних OpenChamber; для розширення з теки воно лише забуває шлях, ваша тека лишається.

Зробити своє

Усе, що вміє розширення, і як його створити, описано в Створити розширення.