Кроссплатформенный десктопный торговый терминал для ядра Moonbot
GPU-рендеринг графиков · живой поток MoonProto · Windows · macOS · Linux
Русский · English | Возможности · Скриншоты · Архитектура · Сборка · Конфигурация · Документация
Инструкция для пользователей — интерактивный тур по интерфейсу терминала
MoonTerminal — нативный десктопный торговый терминал для ядра криптотрейдинга Moonbot. Он показывает живые графики, стаканы, ордера, отчёты и стратегии для одного или нескольких ядер Moonbot в едином GPU-ускоренном окне под Windows, macOS и Linux.
В разработке. Это рабочее пространство активной разработки терминала: оболочка на GPUI, интеграция MoonUI, живой поток данных MoonProto, платформенный GPU-рендеринг графиков и отладочный инструментарий. Это ещё не готовый упакованный продукт.
- GPU-рендеринг графиков — собственный GPU-проход на каждой платформе (DirectX 11 под Windows, Metal под macOS, нативный
wgpuпод Linux). Без CPU-readback, поэтому live-скролл и зум остаются плавными и не перерисовывают всё окно. - Живой поток MoonProto — событийные рыночные данные через backend-цикл на waker'е. Видимый график подтягивает данные на кадровом тике, а не постоянным поллингом.
- Торговые панели — ордера и редактирование ордеров, стакан, отчёты, активы и кошельки, рыночный скринер и дерево стратегий для ваших ядер Moonbot.
- Ордерные линии на графике — строятся из текущего снапшота плюс захваченных событий, поэтому короткие терминальные статусы (
Cancel/Fail/Done) не теряются. - Открепляемые окна — вкладки графиков и панели дока выносятся в отдельные окна; состояние дока и раскладки сохраняется между сессиями.
- Локализация интерфейса — русский, английский и испанский через
rust-i18n. - Шифрованная конфигурация — учётные данные серверов хранятся в защищённом хранилище / кейринге ОС (Secret Service под Linux).
- Мелочи для повседневной работы — звуки алертов, иконки монет, свои хоткеи и темы, а также встроенный
chart-smokeFireTest, который проверяет живые bounds графика, нативный ввод и счётчики CPU/GPU/RAM.
![]() |
![]() |
| Графики — GPU-рендеринг свечей, стакан, ордерные линии | Настройки → Подключения — настройка по каждому ядру |
MoonTerminal — виртуальный workspace на Rust: UI-независимое ядро, поверх которого работает оболочка на GPUI.
| Крейт | Ответственность |
|---|---|
moon-core |
UI-независимое ядро — подключения, конфиг, сессии, market state, отчёты. |
moon-chart |
Математика графика — time/price view, дефолтный масштаб, pan/zoom, оси (без wgpu). |
moon-ui-gpui |
Бинарь moonterminal — GPUI shell, панели, debug-инструменты, интеграция графика. |
Moonbot-Tech/MoonUI |
Внешняя Git-зависимость — standalone GPUI runtime + компоненты Moon UI. |
Рендер. График рисуется отдельным GPU-проходом поверх MoonUI/GPUI — DX11/HLSL под Windows, Metal под macOS, нативный wgpu/WGSL-бэкенд GPUI под Linux. График сам решает, нужен ли кадр, и готовит данные к этому же кадру, поэтому оболочка и панели ордеров не перерисовываются на частоте live-скролла или движения мыши.
Data path. События MoonProto приходят через event sink с waker'ом; backend-цикл будится реальными событиями и командами, а не таймером. Видимый график тянет рыночные данные на кадровом тике, а core-owned общий read-model обслуживает остальных потребителей.
Полная картина — в документе об архитектуре.
git clone https://github.com/Moonbot-Tech/MoonTerminal.git
cd MoonTerminalТребования:
- Git
- Rust через
rustup - Visual Studio 2022 Build Tools с C++-тулчейном и Windows SDK
- Опционально:
make
cargo build -p moon-ui-gpui --bin moonterminal --target x86_64-pc-windows-msvcОтладочный исполняемый файл:
target\x86_64-pc-windows-msvc\debug\moonterminal.exe
Требования:
- Xcode или рабочий Metal-тулчейн
- Rust через
rustup
cargo build -p moon-ui-gpui --bin moonterminalКаноничная проверка Metal — см. гайд по сборке под macOS и Linux.
Базовый набор для Ubuntu/Debian:
sudo apt update && sudo apt install -y git build-essential pkg-config \
libfontconfig-dev libwayland-dev libxkbcommon-dev libvulkan-dev libssl-devcargo build -p moon-ui-gpui --bin moonterminalШифрованный конфиг под Linux использует Secret Service в пользовательской GUI/DBus-сессии. Подробности — в гайде по сборке под macOS и Linux.
| Команда | Назначение |
|---|---|
make run |
собрать и запустить отладочный терминал |
make build |
отладочная сборка |
make release |
релизная сборка |
make check |
проверка типов |
make fmt |
cargo fmt |
make clean |
очистить target |
make update-moon-ui |
сдвинуть пин MoonUI в коммитимом Cargo.lock |
make update-moonproto |
сдвинуть пин MoonProto (отдельным осознанным коммитом) |
make update-all |
сдвинуть ВСЁ, включая сторонние пины — снимает заморозку версий |
Makefile выбирает MSVC-таргет на Windows и нативный таргет на macOS/Linux.
Серверы настраиваются в интерфейсе приложения:
Настройки → Подключения
Настройка подключений по каждому ядру — см. скриншот «Настройки → Подключения» выше.
Рантайм-конфиг лежит рядом с исполняемым файлом. Учётные данные серверов хранятся в шифрованном конфиге через защищённое хранилище/кейринг ОС, где доступно. Локальные конфиг-файлы и логи игнорируются Git.
| Документ | Что внутри |
|---|---|
| Инструкция для пользователей | Интерактивный тур: карта главного окна, первое подключение, панели, хоткеи |
| Архитектура | Крейты, платформенный GPU-рендеринг и живой data path |
| FireTest | Встроенный live-зонд chart-smoke |
| Сборка под macOS и Linux | Проверка Metal и настройка Linux |
| Окна | Своя шапка окна и borderless/CSD-поведение |
Moonbot · Продвинутый терминал для торговли криптовалютой · moonbot.pro


