Вход на сайт

Просмотр новости

Найдите то, что Вас интересует

GitDOS: Когда я решил скрестить MS-DOS, GitHub и Claude

Дата публикации: 08-07-2026 04:41:47

Привет, Киберфорум! Хочу поделиться своим проектом, который, надеюсь, вас заинтересует. GitDOS —...

Основное содержимое страницы с новостью.

Привет, Киберфорум! Хочу поделиться своим проектом, который, надеюсь, вас заинтересует. GitDOS — это веб-приложение, которое позволяет запускать DOS в браузере с тремя крутыми фичами: диски живут в репозиториях GitHub, внутри работает ИИ-помощник Claude, и всем этим можно управлять голосом.

Звучит как безумный эксперимент? Возможно. Но у меня получилось, и я готов рассказать, как и зачем.

Предыстория: зачем это вообще нужно?
Вы же знаете, как бывает: хочешь поиграть в старые игры или запустить программу, написанную 20 лет назад, — а оно не работает. Эмуляторы есть, но они требуют настройки: монтировать диски, править конфиги, помнить команды... Для одного раза — ок, но если этим пользоваться постоянно — надоедает.

Я решил сделать эмулятор, который бы работал как современный сервис:

диск хранится в облаке (GitHub)

настройки применяются автоматически

интерфейс дружелюбный даже для тех, кто DOS видел только на картинках

а если забыл команду — всегда можно спросить у ИИ

Так родился GitDOS.

Что внутри?
1. Эмулятор на js-dos
За основу я взял js-dos — эмулятор DOSBox, портированный в JavaScript на Emscripten. Это проверенная вещь, которая хорошо работает в браузере. Я не стал изобретать велосипед, а просто использовал готовый движок как ядро.

2. GitHub как файловая система
Вместо образа диска (как в классическом DOSBox) GitDOS использует реальный Git-репозиторий. Каждый файл на диске C: — это файл в репозитории.

Как это работает:

При монтировании система читает дерево репозитория через GitHub API

Файлы скачиваются и помещаются в виртуальную файловую систему эмулятора

При сохранении изменения коммитятся обратно в репозиторий

Почему это круто:

Полная история изменений (можно откатиться к любой версии)

Доступ с любого устройства

Бекапы автоматически

Можно расшарить диск через ссылку

3. ИИ-помощник Claude

Это самая необычная фишка. В DOS появилась команда AI, которая отправляет запрос в Claude API и выводит ответ прямо в терминал.

Что умеет ассистент:

Объяснять команды DOS и их параметры

Писать BAT-файлы и скрипты

Генерировать код на Turbo Pascal, C, Basic

Помогать устанавливать и настраивать программы

Автоматически выполнять команды (если включён авто-режим)

Как это выглядит изнутри:

text
AI <вопрос> → запрос к Claude API → ответ печатается через ECHO
При включённом авто-выполнении ассистент может сам запускать команды, перехватывать их вывод (через редирект в файл) и на основе этого принимать следующие решения.

4. Голосовое управление
Я добавил поддержку Web Speech API для распознавания и синтеза речи.

Команды голосом:

Просто сказать команду DOS (распознаётся и выполняется)

Задать вопрос ассистенту (ответ озвучивается)

Управлять записью экрана

Горячие клавиши:

ScrollLock → голосовая команда DOS

Pause/Break → голосовой вопрос ассистенту

ContextMenu → старт/стоп записи экрана

Это особенно удобно в полноэкранном режиме — например, когда играешь и не хочешь выходить из игры, чтобы что-то спросить у ИИ.

5. IPX-мультиплеер
js-dos поддерживает IPX-сеть через WebSocket-релей. Я добавил интерфейс для настройки: включаешь сеть, задаёшь комнату — и можно играть в Doom или Warcraft с другом через интернет, как в старые добрые времена.

6. GitDOS Store — каталог программ

Зачем искать игры по форумам, если можно установить одной командой?

text
INSTALL — список доступных программ
INSTALL <id> — установка
В каталоге есть разделы: программы, игры, драйверы. Установка автоматически правит AUTOEXEC.BAT и CONFIG.SYS — ничего лишнего.

Как я решал технические проблемы
Проблема 1: Лимиты GitHub API
У GitHub API есть лимит ~5000 запросов в час. Если читать всё через API, можно быстро упереться в потолок.

Решение: Содержимое файлов для публичных репозиториев читается через raw.githubusercontent.com (CDN), что не тратит лимит. Только листинг дерева, коммиты и запись идут через API. Плюс кэширование дерева на 20 секунд — чтобы несколько запросов подряд не тратили лимит понапрасну.

Проблема 2: Большие файлы
Веб-интерфейс GitHub режет загрузку на 25 МБ, но через API можно заливать файлы до 100 МБ.

Решение: Я реализовал writeBig — запись файлов через Git Data API (blob → tree → commit → ref). Для файлов больше 5 МБ этот режим включается автоматически. Для файлов >100 МБ — работа через GitHub Releases (но это пока вручную).

Проблема 3: Несколько дисков
js-dos умеет монтировать только один диск C:.

Решение: Дополнительные репозитории подключаются как папки внутри C:\DISKS\ (например C:\DISKS\D). Каждая папка синхронизируется со своим репозиторием. На уровне эмулятора это просто папки на C: — никаких дополнительных монтирований.

Проблема 4: Голосовое управление в полноэкранном режиме
Браузеры не дают запускать микрофон без явного клика пользователя. В полноэкранном режиме кликнуть сложно.

Решение: Горячие клавиши. Нажимаешь ScrollLock (непечатаемая клавиша, DOS её не использует) — стартует запись голоса. Один раз разрешил доступ к микрофону — потом работает через раз, но для повторных запусков это ок.

Безопасность
Вопрос, который мне задают чаще всего: "А безопасно ли это? Токены же в браузере видны".

Отвечаю:

Все токены (GitHub, Anthropic) хранятся только в localStorage браузера

В код или репозитории они не попадают

Запросы к API идут прямо из браузера (ключ виден в DevTools, но это для личного использования — вы сами управляете своими ключами)

Токен с правом repo даёт доступ только к репозиториям, которые вы сами указали

Я понимаю риски и предупреждаю об этом в интерфейсе. Для публичных репозиториев токен не нужен вообще.

Пример сценария использования
Допустим, вы хотите поиграть в старую игру с другом по сети:

Открываете GitDOS в браузере

Подключаете репозиторий (или используете публичный)

Включаете IPX-мультиплеер, создаёте комнату

Устанавливаете игру через INSTALL

Запускаете, выбираете сетевой режим

Друг подключается по коду комнаты — и вы играете

Или хотите написать программу на Pascal:

Пишете AI напиши программу, которая вычисляет факториал

Ассистент создаёт файл, компилирует, исправляет ошибки

Запускаете готовую программу

Всё это делается в одном терминале, без переключения окон.

Планы на будущее
Улучшить ИИ-ассистента: чтобы он лучше понимал контекст DOS и мог выполнять более сложные задачи

Расширить каталог игр и программ

Добавить поддержку большего количества языков программирования

Сделать embed-версию для встраивания на другие сайты (уже есть, но хочу улучшить)

Заключение
Я не претендую на революцию. Просто сделал инструмент, который сам хотел бы использовать. И если он пригодится кому-то ещё — я буду рад.

Проект открытый, код на GitHub. Если есть идеи, баги или вопросы — пишите, я открыт к диалогу.

GitDOS: https://sementsul.github.io/GitDOS/
Исходники: https://github.com/sementsul/GitDOS

Схожие новости

#Наименование новостиТональностьИнформативностьДата публикации
1ABC: Трамп рассматривает возможность отставки главы аппарата Белого дома0013-11-2018
2The Drawings of Victor Hugo: The Intimacy of Genius0020-09-2021
3Продажи новых легковых автомобилей в ЕC в январе выросли на 11%, до 760 тыс. - ассоциация0021-02-2023
4Новокузнецк вошел в пятерку городов России, ставших лидерами по обновлению городского электротранспорта0018-08-2022
5Разведка США: Белый дом пытался ограничить доступ к записи разговора Трампа с Зеленским0026-09-2019
6Горловку ДНР готовят к мирной жизни 0015-02-2025
7Citroën C3: un utilitario con hechuras de coche grande2628-05-2026
8Dancehall star Spice reveals secret way Shaggy changed her life and career0020-02-2025
9Тетяна Тікун та Левко Цібеленко - переможці міжнародного турніру з гірськолижного спорту Cas Karakoram0030-01-2019
10Великие Луки: Вечер 31 окт, Ср0030-10-2018

Классификация: . Схожих патентов: 0. Схожих новостей: 10. Тональность: 5. Информативность: 7. Источник: www.cyberforum.ru.