Skip to content

Latest commit

 

History

668 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

momp

version License TypeScript Bun

Форк omp-web

Веб-интерфейс для momp max (oh-my-pi). momp-web предоставляет удобное рабочее пространство в браузере: просмотр и продолжение сессий, чат с агентом в реальном времени, гибкую настройку ролей моделей, мониторинг оставшихся лимитов, управление навыками (skills) и плагинами, а также предпросмотр файлов проекта.


💻 Установка

1. 🖥️ Автономное приложение для Windows (один .exe)

Рекомендуемый вариант для пользователей Windows. Одно нативное приложение со встроенным сервером, кибер-иконкой в панели задач и фоновым автообновлением. Всё зашито в один файл — не требует установки Bun, Node.js или Git.

  • 📥 Скачать: momp.exe (или со страницы последних релизов).
  • Просто запустите momp.exe — при первом старте он распакует рантайм в %LOCALAPPDATA%\momp и откроет окно приложения. Новые версии скачиваются в фоне.

2. ⚡ CLI-установка в 1 команду (Web-версия для браузера)

Установите и настройте momp max одной командой для работы через браузер. Скрипт проверит наличие Bun, загрузит готовую сборку и сделает команду momp доступной глобально в терминале.

Для Windows (PowerShell):

irm https://raw.githubusercontent.com/domovoyproj/momp/main/install.ps1 | iex

Для Linux / macOS (Bash):

curl -fsSL https://raw.githubusercontent.com/domovoyproj/momp/main/install.sh | bash

🚀 Запуск

  • Для Desktop-версии: просто запустите ярлык momp на рабочем столе или в меню «Пуск».
  • Для CLI-версии: введите в любом терминале:
momp

Приложение запустится локально и автоматически откроет веб-интерфейс в браузере по адресу http://127.0.0.1:30141.

Параметры запуска CLI:

momp --port 8080              # Выбрать другой порт
momp --hostname 0.0.0.0       # Открыть доступ в локальной сети
momp -p 8080 -H 0.0.0.0       # Комбинация порта и хоста
momp --no-open                # Не открывать браузер автоматически
momp --authenticated          # Запросить пароль при входе
momp --reset-password         # Сбросить и задать новый пароль

🔒 Доступ по паролю

Интерфейс и API можно защитить паролем через HTTP Basic Auth (имя пользователя по умолчанию — omp):

  • Настройки → Доступ (Settings → Access) в браузере: задать пароль и включить/выключить защиту.
  • momp --authenticated: включает обязательную аутентификацию для текущего и последующих запусков (если пароль не был задан, будет предложено ввести его в терминале).
  • Переменная окружения OMP_WEB_PASSWORD: временно переопределяет сохранённый пароль.

Пароль хранится в виде криптографического хэша scrypt в ~/.omp/agent/omp-web-auth.json (с правами 0600) — он никогда не сохраняется в открытом виде. Если вы забыли пароль, выполните momp --reset-password в терминале или перейдите по адресу /recover и введите одноразовый код восстановления из консоли сервера.


🎭 Роли моделей

В momp нет одной-единственной модели — для каждой задачи используется своя роль, аналогично селектору /model в терминале:

Роль Назначение
default Основная модель для обычных запросов
smol Быстрая и недорогая модель для фоновых под-агентов
slow Модель для глубокого рассуждения и сложных задач
plan Модель для режима планирования
commit Генерация сообщений коммитов и changelog
task Модель для выполнения изолированных задач
advisor Модель-советник для анализа ответов
vision, designer, tiny Работа с изображениями, UI-дизайн и классификация

Настройка ролей доступна:

  1. В строке ввода чата — быстрое переключение активной роли и модели для текущей сессии.
  2. В меню «Модели → Роли моделей» — глобальное назначение моделей на роли (сохраняется в ~/.omp/agent/config.yml).

🌐 Настройка HTTP-прокси

momp-web считывает стандартные переменные HTTP_PROXY и HTTPS_PROXY для обращения к внешним API моделей.

В PowerShell (Windows):

$env:HTTP_PROXY = "http://127.0.0.1:7890"
$env:HTTPS_PROXY = "http://127.0.0.1:7890"
momp

В Linux / macOS:

HTTP_PROXY=http://127.0.0.1:7890 HTTPS_PROXY=http://127.0.0.1:7890 momp

Запросы к локальным адресам (127.0.0.1, localhost) не проксируются, поэтому локальные модели (Ollama, LM Studio, vLLM) продолжают работать напрямую.


✨ Возможности

  • История и продолжение работы: просмотр прошлых сессий с группировкой по проектам.
  • Маршрутизация по ролям: мгновенное переключение моделей для планирования, кода, коммитов и быстрых правок.
  • Безопасное ветвление: возможность сделать форк сессии или продолжить диалог с любого предыдущего сообщения.
  • Интеграция с Git Worktrees: быстрое переключение веток прямо из боковой панели.
  • Встроенный файловый менеджер: предпросмотр кода, документации, изображений, PDF и DOCX рядом с чатом.
  • Мониторинг лимитов и баланса: просмотр остатка токенов и баланса для провайдеров в реальном времени.
  • Удобная настройка: управление провайдерами, API-ключами, плагинами и навыками без терминала.
  • Полная поддержка русского языка: интерфейс полностью переведён и адаптирован.

📸 Скриншоты

Навигация по сессиям и проводник файлов проекта Боковая панель с сессиями и деревом файлов

Чат в реальном времени с вызовами инструментов и ролями моделей Окно чата с агентом

Предпросмотр файлов рядом с диалогом Предпросмотр Markdown файла

Настройка моделей и ролей Панель настройки ролей моделей

Светлая и тёмная темы оформления Настройка темы оформления


📌 Примечания и архитектура

  • Хранение данных: сессии считываются из ~/.omp/agent/sessions/<encoded-cwd>/<timestamp>_<uuid>.jsonl.
  • Конфигурация моделей: список моделей и провайдеров хранится в ~/.omp/agent/models.yml, а ключи аутентификации — в SQLite базе ~/.omp/agent/agent.db.
  • Безопасность проектов: momp-web изолирует исполняемые расширения (.omp/extensions, .omp/tools) до явного подтверждения доверия к папке проекта.
  • Навыки (Skills): установка навыков выполняется через npx skills add --agent claude-code в стандартную директорию .claude/skills / ~/.omp/agent/skills.

🛠 Разработка и запуск из исходников

Если вы хотите запустить проект в режиме разработки:

bun install
bun run dev

Сервер разработки запустится по адресу http://127.0.0.1:30141.

Полезные команды:

bun run typecheck   # Проверка типов TypeScript
bun run lint        # Проверка кода ESLint
bun test            # Запуск тестов

🖥 Десктоп-версия (Tauri)

В директории src-tauri/ находится оболочка на базе Tauri v2 для запуска приложения в виде нативного окна Windows / macOS.

Сборка десктоп-версии:

bun run desktop:dev     # Запуск десктопного приложения в режиме разработки
bun run desktop:build   # Сборка готового инсталлятора

📂 Структура проекта

app/
  api/
    agent/          # Создание и управление сессиями AgentSession, SSE поток
    auth/           # Аутентификация OAuth и API ключи через AuthStorage
    cwd/browse/     # Обзор доступных директорий
    cwd/validate/   # Валидация рабочей директории
    default-cwd/    # Определение стандартной рабочей папки
    files/          # Чтение, просмотр и отслеживание файлов проекта
    home/           # Получение домашней директории пользователя
    model-roles/    # Чтение и запись ролей моделей (default/smol/slow/plan/…)
    models/         # Список доступных моделей, провайдеров и ролей
    models-config/  # Управление models.yml, проверка баланса и лимитов
    plugins/        # Управление плагинами omp
    sessions/       # Чтение, переименование, удаление и экспорт сессий
    skills/         # Управление и поиск навыков (skills)
components/
  AppShell.tsx        # Главный макет приложения, вкладки файлов, состояние
  SessionSidebar.tsx  # Боковая панель: список проектов, сессий и проводник
  DirectoryPicker.tsx # Модальное окно выбора рабочей директории
  ChatWindow.tsx      # Окно диалога, SSE события, перетаскивание файлов
  ChatInput.tsx       # Поле ввода, выбор модели/роли/инструментов/компактности
  MessageView.tsx     # Отображение сообщений, блоков рассуждений и инструментов
  ModelsConfig.tsx    # Панель настройки провайдеров и моделей
  ModelRolesPanel.tsx # Панель назначения моделей на роли
  SkillsConfig.tsx    # Панель управления навыками
  FileExplorer.tsx    # Дерево файлов проекта
  FileViewer.tsx      # Просмотр кода, diff, изображений, PDF и DOCX
lib/
  directory-browser.ts # Безопасная навигация по каталогам
  http-dispatcher.ts  # Настройка HTTP(S) прокси для запросов
  model-roles.ts      # Чтение и запись ролей моделей
  model-scope.ts      # Фильтрация доступных моделей
  omp-runtime.ts      # Общий инстанс Settings + AuthStorage + ModelRegistry
  omp-types.ts        # Типы интерфейса сессий omp
  project-trust.ts    # Защита и проверка доверия к проектам
  rpc-manager.ts      # Жизненный цикл сессий AgentSessionWrapper
  session-reader.ts   # Чтение и парсинг .jsonl файлов сессий
  normalize.ts        # Нормализация вызовов инструментов
  file-access.ts      # Ограничение доступа к файловой системе
  file-paths.ts       # Кодирование и валидация путей
  markdown.ts         # Настройка плагинов Markdown/Mermaid/KaTeX
hooks/
  useAgentSession.ts  # Хук загрузки сессии, отправки команд и SSE
  useAudio.ts         # Звуковое уведомление об окончании ответа
  useDragDrop.ts      # Обработка перетаскивания файлов
  useTheme.ts         # Переключение темы оформления
bin/
  omp-web.js          # Точка входа CLI; запуск сервера через Bun
  runtime.js          # Проверка версий Node/Bun и поиск бинарника Bun
instrumentation.ts    # Инициализация HTTP диспетчера сервера

About

⚡ Современный веб-интерфейс и десктоп-клиент для Oh My Pi (omp-web): русская локализация, мониторинг лимитов, управление ролями моделей и автообновление

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages