Обзор Браузера Dia
Dia — это новый веб-браузер, разработанный компанией The Browser Company, ранее известной по продукту Arc. В отличие от своего предшественника(который они закрыли), Dia ориентирован на максимально простое и привычное взаимодействие, но с интеграцией AI. Кстати данный браузер вы не установите на мак на процессоре Intel, только на M чипы. И браузер не работает из РФ. Вы просто не залогинились в аккаунт.
Для проверки откуда вы его запускаете браузер использует сервис LaunchDarkly, который и дает комманду на установку флагов в браузере и проверяет запуск.
Я решил немного потрогать их алфа версию и отпишусь по особенностям и что нашел.
На чем основан?
Кратко:Chromium Engine Version 138.0.7204.101
Подсмотрим в /Applications/Dia.app/Contents/Info.plist
SDK Used: macOS 15.2 (macOS Sequoia beta)
Minimum OS: macOS 14.0 (Sonoma)
Также обновления с адреса https://releases.diabrowser.com/BoostBrowser-updates.xml проверяются каждые 8 часов.
AI Ассистент
— Встроенный ИИ-ассистент: Чат-бот интегрирован прямо в адресную строку
Из РФ ассистент не работает корректно, мы получаем ошибку:
authenticationFailed(AuthClient.AccountServiceError (code: AuthClient.AccountServiceErrorCode.restrictedCountry, message: nil))
Но если вы не в РФ, то все работает отлично
Ассистенту можно задать вопрос про контент на странице:
- Выбирать несколько элементов или несколько вкладок и уточнить необходимые вам детали, я вот попросил выбрать лучший роутер и сравнить их:
Что под копотом?
Расширения и фреемворки
Посмотрим какие расширения у нас стоят из коробки в браузере.
Открываем страницу : chrome://extensions-internals, которая нас редектит на dia://extensions-internals/ и подсматриваем в json. Что у нас есть:
- Web Store — Аналог Chrome Web Store, адаптирован под Arc/Dia
- Arc internal extension — Внутренняя логика браузера
- Chromium PDF Viewer — Просмотр PDF
- Google Hangouts — Интеграция с Google Hangouts
Посмотрим фреемворки приложении:
cd /Applications/Dia.app/Contents/Frameworks
- ArcCore.framework — Основное ядро браузера Arc — управление интерфейсом, вкладками, Spaces и т.д.
- GRDB.framework — Локальное хранение данных через SQLite (история, закладки, настройки и т.п.).
- libAIInfra.dylib — Внутренняя библиотека.
- libAIInfraTestBindings.dylib — Судя по названию для отладки и тестирования либы
libAIInfra
. - Lottie.framework — Анимаций в интерфейсе (например, при переключении между вкладками).
- Sentry.framework — Сбор краш-репортов
- Sparkle.framework — Автоматическое обновление приложения на macOS.
Содержимое ./Resources/
Посмотрим что у нас по ресурсам? Что интересно бандлы до сих пор имеют преффиксы в названиях сторого творения компании ARC..
- ADK_ADK.bundle и ARCClients_BlockListClient.bundle AdBlock встренный из интересного, есть вот такая структура:
"id": "ua", "display_name": "RU AdList", "type": "regional",
И большой список адресов. Я их себе скачал, засуну в свой AdGuard DNS
- ARCClients_AppRestartClient.bundle Перезапускалка браузера. Внутри короткий sh скипт, который мониторит запуск браузера
- AIInfra_LocalClassification.bundle Модуль отвечающий за локальную классификацию данных с помощью искусственного интеллекта. У нас лежит файл vocab.txt в котором у нас словарь токенизатора возможно для DistilBERT. Интересно что есть слова: russia,russian
- swift-transformers_Hub.bundle Реализация Hugging Face Transformers на Swift.Для работы с NLP-моделями локально.
- OnDeviceLoRAadaptors.bundle LoRA — метод дообучения LLM,т.е есть возможность адаптировать модели под конкретные задачи без полного переобучения В директории OnDeviceLoRAadaptors.bundle конфигурационный файл модели DistilBERT - config.json:
{ "_name_or_path": "distilbert-base-uncased", "activation": "gelu", "architectures": [ "DistilBertForSequenceClassification" ], "attention_dropout": 0.1, "dim": 768, "dropout": 0.1, "hidden_dim": 3072, "id2label": { "0": "LABEL_0", "1": "LABEL_1", "2": "LABEL_2" }, "initializer_range": 0.02, "label2id": { "LABEL_0": 0, "LABEL_1": 1, "LABEL_2": 2 }, "max_position_embeddings": 512, "model_type": "distilbert", "n_heads": 12, "n_layers": 6, "pad_token_id": 0, "qa_dropout": 0.1, "seq_classif_dropout": 0.2, "sinusoidal_pos_embds": false, "tie_weights_": true, "torch_dtype": "float16", "transformers_version": "4.44.2", "vocab_size": 30522 }
_name_or_path
:"distilbert-base-uncased"
Модель основана на предобученном DistilBERT (без регистра букв, английская версия).model_type
:"distilbert"-
Тип архитектуры — дистиллированный BERT.architectures
:["DistilBertForSequenceClassification"]
Модель предназначена для классификации текстаvocab_size
:30522
Размер словаря (количество уникальных токенов).torch_dtype
:"float16"
Используется половинная точность (FP16) для экономии памяти и ускорения вычислений.dim
:768
Размерность эмбеддингов (векторное представление токенов).hidden_dim
:3072
Размерность скрытого слоя в feed-forward сети (внутри трансформера).n_layers
: Количество слоёв трансформера (в оригинальном BERT — 12, тут в 2 раза меньше).n_heads
:12
Количество голов внимания (attention heads) в механизме self-attention.max_position_embeddings
:512
Максимальная длина входной последовательности (в токенах).
Также рядом с конфигом у нас лежат и веса и LoRA-адаптеры:
Resources ls cmd_t_router_adapter_model_overrides.safetensors cmd_t_router_adapter_model.safetensors cmd_t_router_classification_head_overrides.safetensors cmd_t_router_classification_head.safetensors config.json distilBERTbase_part1.safetensors distilBERTbase_part2.safetensors sensitive_content_adapter_model.safetensors sensitive_content_classification_head.safetensors skills_adapter_model.safetensors skills_classifier_head.safetensors
- mlx-swift_Cmlx.bundle MLX — фреймворк для работы с машинным обучением на Apple Silicon, т.е он нужен для ускорения вычислений для AI-моделей на Mac.
- swift-transformers.Hub.resources Нужен для работы gpt2 и seq2seq моделями, об этом нам накают файлы: gpt2_tokenizer_config.json и t5_tokenizer_config.json
- ARCClients_Integrations.bundle и ARCClients_LiveDataClient.bundle Интеграция с различными сервисами, а именно: Получение транскриптов и метаданных видео в Youtube, работа с Notion, Google Docs и т.д. Прям лежат скрипты, можно подсмотреть.