чат с агентомспроситьAI и агенты7 файловИнфраструктура4 файлаРазработка6 файловОбо мне5 файлов
Об этом сайте

Об этом сайте

Портфолио собрано как оконный интерфейс: папки на столе, кейсы открываются окнами, адрес в строке браузера меняется без перезагрузки страницы. Окна двигаются, сворачиваются в док, разворачиваются на весь экран и раскладываются каскадом с клавиатуры.

Как сделано

Astro отдаёт статику, оконный менеджер - один остров на Preact. Весь скрипт страницы укладывается в 20 килобайт, первый экран - в 100. Кейсы и папки лежат markdown-файлами и yaml-описаниями, схемы проверяются на сборке: забытое поле роняет сборку, а не всплывает пустотой на бою.

Без JavaScript сайт остаётся обычной страницей со ссылками: окна превращаются в текст, папки - в списки. Каждое окно - настоящий адрес, им можно поделиться, и он откроется тем же окном. Переезды кейсов между папками не ломают старые ссылки: список прежних адресов хранится прямо в файле кейса, а редиректы собираются из него на сборке.

Тема переключается в меню, выбор запоминается. Русская и английская версии симметричны, язык угадывается по заголовку браузера с учётом весов, а не берётся первым попавшимся.

Агент в терминале

На входе - окно терминала с живым агентом. Он знает мою работу изнутри: проекты, цифры, решения, грабли. Отвечает по курируемой справке, а не по догадкам, и держится темы: вопросы про мою работу и подход к ней.

Внутри - Node с Fastify, ответ стримится через SSE, диалоги журналируются без сырых IP-адресов. Тема ограничена системным промптом, роли в диалоге проходят через белый список, чтобы посетитель не мог выдать свою реплику за системную. Стоят потолки длины запроса, ограничение частоты по IP и жёсткий потолок расходов: шлюз оплачен вперёд, и выше предоплаты счёт вырасти не может. Если посетитель хочет связаться, агент распознаёт это по смыслу и передаёт контакт мне в телеграм - без формы и без кнопок.

Про тексты

Кейсы написаны по рабочим задачам, а не по описаниям вакансий. Даты, доли и количества коммитов сверены с git-историей проектов. Где заказчик под NDA - проект описан без имён и доменов; где компетенция неполная, так и написано, а не заретушировано.