Десктоп-приложение¶
В комплекте с glia идёт небольшая графическая оболочка — окно чата, которое
вдобавок показывает «стеклянный ящик» в реальном времени (стриминг токенов,
вызовы инструментов, подтверждения). Под капотом работает настоящий
glia.Agent, поэтому приложение заодно служит демонстрацией библиотеки.
Два способа получить¶
1. Скачать бинарник (Python не нужен)¶
Возьмите готовую сборку под вашу ОС из последнего релиза:
glia-shell-windows.exeglia-shell-macosglia-shell-linux
Запустите двойным кликом (или из терминала). Приложение поднимает локальный сервер и открывается в браузере. Никуда ничего не загружается — всё работает на вашей машине.
2. Установить из PyPI (нативное окно)¶
При такой установке приложение открывается в нативном окне (через pywebview),
а при отсутствии оконного бэкенда — в браузере. Флаг glia-shell --web
принудительно включает режим браузера.
Как пользоваться¶
- История разговоров сохраняется. Сайдбар хранит историю чатов (как чек-пойнты траекторий glia в конфигурационной папке), поэтому она переживает перезапуск — создавайте новые чаты, переключайтесь и удаляйте их.
- Ответы рендерятся как Markdown — жирный текст, списки, ссылки и блоки кода с кнопкой копирования. Тему (светлая/тёмная) можно выбрать в сайдбаре.
- Работает офлайн из коробки. В режиме demo приложение отвечает эхом на ваши сообщения — можно попробовать интерфейс и посмотреть на поток событий без какой-либо настройки.
- Запустите локальную модель — бесплатно. В Settings выберите Ollama,
укажите модель (например,
qwen2.5илиdeepseek-r1) и хост, сохраните. Если установлен Ollama и модель скачана (ollama pull qwen2.5), всё работает локально на вашей машине — без ключа и без сети. - Добавьте ключ для настоящего Claude. Откройте Settings, выберите
Claude, вставьте свой Anthropic API-ключ (он хранится локально в вашей
конфигурационной папке и никогда не возвращается в UI), выберите модель и
сохраните. Теперь сообщения идут в Claude, а два демо-инструмента
(
current_time,word_count) появляются в «стеклянном ящике» при вызове. - «Стеклянный ящик» справа перечисляет каждое событие ровно так, как их
испускает библиотека —
model_call,model_delta,tool_called,tool_returned,approval_resolved,run_finished. Переключается кнопкой Glass box. - New chat начинает новый разговор; Quit останавливает локальный сервер.
Как это сделано¶
Оболочка намеренно тонкая и с минимумом зависимостей:
- Сервер — чистая стандартная библиотека Python (
http.server), без веб-фреймворка. Ответы чата стримятся через Server-Sent Events. - UI — один самодостаточный HTML-файл (без шага сборки).
- Единственная опциональная зависимость —
pywebview, и только для нативного окна; скачиваемые бинарники работают в режиме браузера вообще без сторонних зависимостей.
Иными словами, приложение само — «стеклянный ящик»: весь его код можно прочитать
в glia/shell/.