| .. | |||
| public | 8 hours ago | ||
| src | 8 hours ago | ||
| .npmrc | 8 hours ago | ||
| README.md | 8 hours ago | ||
| package-lock.json | 8 hours ago | ||
| package.json | 8 hours ago | ||
| popup.html | 8 hours ago | ||
| tsconfig.json | 8 hours ago | ||
| vite.config.ts | 8 hours ago | ||
Расширение для Chrome/Firefox (MV3): клик по иконке в трее → попап с двумя вкладками. Требования — docs/TZ.md §3.18.
Ctrl+Enter или кнопка «Добавить»; опционально — проект. Фидбек: анимация-галочка + тост «Задача добавлена (+N XP)».Сессионная кука сервиса из extension-контекста не уходит (SameSite=Lax режет cross-site запросы), поэтому расширение ходит на REST /api/* с Authorization: Bearer <MCP-токен> (тем же механизмом, что и ИИ-агенты на MCP).
Подключение:
gnt_…, показывается один раз).Отзыв токена в «Настройках» отключает расширение (как и агентов).
Базовый URL настраивается в попапе (шестерёнка): по умолчанию http://localhost:15134; для другого адреса расширение запросит host-разрешение (chrome.permissions).
cd extension npm install # кит — git-зависимость (см. .npmrc) npm run build # vue-tsc + vite build → dist/
npm 12 блокирует postinstall-скрипт esbuild — при первом npm install согласуйте его (npm install-scripts approve esbuild).
chrome://extensions → «Developer mode» → «Load unpacked» → каталог extension/dist.about:debugging#/runtime/this-firefox → «Load Temporary Add-on…» → файл extension/dist/manifest.json (id дополнения задан в browser_specific_settings.gecko.id).E2E-прогон (playwright, persistent context с загрузкой расширения): /tmp/gnt-e2e-ext.mjs — подготовка данных через API, открытие попапа табом из service worker, проверки вкладок/добавления/фидбека и уборка тестовых объектов.