Hyperion V2
Hyperion V2 — Универсальный веб-агент для LLM
Самый мощный браузер для ИИ. Универсальный сервер MCP, который позволяет любому ИИ-агенту (Claude, Cursor, Cline, OpenCode и др.) управлять реальным Chrome с 5 двигателями восприятия, отказоустойчивым heartbeat и зрением в реальном времени.
CLAUDE CODE ──┐
CURSOR ├─── MCP / CLI ──── HYPERION V2 ──── CDP ──── CHROME REAL
CLINE │ (Zod schemas) (5 engines) (tus tabs, logins)
OPENCODE ├─── Heartbeat + Auto-Reconnect
AGY │ Real-Time Vision Streaming
CODEX │ Overlay [0][1][2]...
HERMES └─── Action Registry + Full Tracing🚀 Что нового в V2
1. LLM-дружественный API со схемами Zod
✅ Автодокументация → LLM понимают каждый инструмент без неоднозначности
✅ Type-safe выполнение → Автоматическая валидация входных данных
✅ 16+ предварительно зарегистрированных инструментов → screenshot, click, type, overlay, vision и т.д.
2. Heartbeat + отказоустойчивое автоматическое переподключение
✅ Мониторинг здоровья → Обнаруживает тихие разрывы соединения
✅ Экспоненциальная задержка → Автоматическое переподключение с растущей задержкой
✅ Пул соединений → Метрики в реальном времени (задержка, сообщения, ошибки)
✅ Больше никаких «соединение потеряно» → Восстанавливается автоматически
3. Потоковое видео в реальном времени
✅ Непрерывные кадры → 1–10 кадров/с, настраивается
✅ Обнаружение изменений → Определяет, какие элементы добавлены/удалены
✅ Определение платформы → Распознаёт Instagram, TikTok, Facebook и др.
✅ Полные метаданные элемента → Позиция, текст, селекторы, ARIA-роли
4. Универсальный фреймворк действий
✅ Полная трассировка выполнения → Скриншот до/после, история повторов, длительность
✅ Автоматический повтор → Настраивается для каждого действия (таймаут, экспоненциальная задержка)
✅ История выполнения → Последние 1000 действий с полными логами
✅ Паттерн слушателя → Подписка на события выполнения
5. Надёжный движок наложения (Overlay)
✅ Инъекция ОДИН РАЗ → Гарантированно, без дубликатов
✅ Автообновление → Обновляется при изменениях DOM
✅ MutationObserver + Resize → Всегда синхронизирован
✅ Клик по ID [0][1][2] → LLM видит номера и кликает
Related MCP server: agentify-desktop
📋 Архитектура V2
src/
├── core/
│ ├── types.ts ← Universal types (16 interfaces)
│ └── ActionRegistry.ts ← Action execution + tracing
│
├── connection/
│ ├── transport.ts ← Base transport (CDP protocol)
│ ├── resilience/
│ │ ├── HeartbeatManager.ts ← Health monitoring
│ │ ├── ReconnectionManager.ts ← Auto-reconnect + backoff
│ │ ├── ConnectionPool.ts ← Metrics + connection management
│ │ └── ConnectionHealthCheck.ts
│ ├── attach.ts ← WebSocket attach mode
│ ├── launch.ts ← Fresh Chrome launch
│ └── extension.ts ← Chrome extension mode
│
├── vision/
│ └── VisionEngine.ts ← Real-time frame capture + analysis
│
├── overlay/
│ └── OverlayEngine.ts ← Robust element mapping
│
├── mcp/
│ ├── LLMServer.ts ← 16+ registered actions
│ └── MCPServerAdapter.ts ← MCP protocol bridge
│
├── hyperion.ts ← Main client API
└── cli.ts ← CLI entry point (MCP/interactive)🎯 Сценарии использования
Claude Code / Cursor / Cline
# Start MCP server
hyperion --mcp --launch
# Configure in your editor's settings
# Claude Code automatically discovers and uses all 16+ toolsТак LLM использует действие:
{
"actionId": "overlay-inject",
"input": {
"refreshIntervalMs": 1000
}
}
→ Response: {
"injected": true,
"elementCount": 42,
"elements": [
{ "overlayId": 0, "text": "Click here", "x": 100, "y": 200 },
{ "overlayId": 1, "text": "Submit", "x": 150, "y": 250 },
...
]
}{
"actionId": "overlay-click",
"input": { "overlayId": 5 }
}
→ Response: { "clicked": true, "overlayId": 5 }📊 16+ зарегистрированных действий
Действие | Категория | Восприятие | Таймаут | Повтор |
| визуальное | визуальное | 5 с | ✗ |
| навигация | нет | 30 с | ✓ (2x) |
| взаимодейств. | визуальное | 3 с | ✓ (3x) |
| взаимодейств. | нет | 5 с | ✓ (2x) |
| визуальное | визуальное | 5 с | ✗ |
| визуальное | визуальное | 2 с | ✗ |
| взаимодейств. | визуальное | 3 с | ✓ (2x) |
| визуальное | нет | 2 с | ✗ |
| визуальное | визуальное | ∞ | ✗ |
| визуальное | нет | ∞ | ✗ |
| извлечение | нет | 5 с | ✗ |
| утилита | нет | 15 с | ✗ |
| взаимодейств. | нет | 3 с | ✗ |
| утилита | нет | 5 с | ✗ |
| взаимодейств. | визуальное | 2 с | ✗ |
| взаимодейств. | нет | 3 с | ✗ |
🔧 Установка
npm install -g hyperion-browser
# O desde source
git clone https://github.com/ericklrm89-jpg/hyperion.git
cd hyperion
npm install
npm run build🎬 Быстрый старт
Режим MCP (Claude Code, Cursor и т.д.)
# Launch fresh Chrome + MCP server
hyperion --mcp --launch --port 9222
# O attach a Chrome existente
hyperion --mcp --attach ws://localhost:9222/devtools/page/xxx
# O usar extension
hyperion --mcp --extensionИнтерактивный CLI
hyperion --launch
> navigate https://example.com
> screenshot
> click "button.submit"
> type "#email" "test@example.com"
> scroll down 500
> eval "document.title"🏗️ Архитектура на столпах
СТОЛП 1: Core Types
Универсальные определения, общие для всей системы:
ActionDefinition<T>→ Схема Zod + метаданныеActionExecution→ Полная трассировка со скриншотамиVisionFrame→ Кадр с 30+ свойствамиConnectionMetrics→ Мониторинг здоровья
СТОЛП 2: Resilience Layer
Heartbeat + Auto-Reconnect + Connection Pool
// Heartbeat detecta desconexiones
const hb = new HeartbeatManager(
sender,
onHealthChange,
{ maxMissed: 3, clientId: 'agent-1' }
);
hb.start(5000); // Ping cada 5s
// ReconnectionManager reintentos exponenciales
const rc = new ReconnectionManager({
maxAttempts: 10,
initialBackoffMs: 1000,
maxBackoffMs: 30000,
backoffMultiplier: 1.5,
});
await rc.executeWithReconnect(() => transport.call('Method'));
// ConnectionPool métricas
const pool = new ConnectionPool();
pool.recordMessageSent('conn-1', 'Page.navigate', 250);
const metrics = pool.getMetrics('conn-1');
// { state, messagesSent, averageLatency, errorCount, ... }СТОЛП 3: Universal Action Framework
Безопасное выполнение + Retry + Tracing
const registry = new ActionRegistry();
// Registrar acción
registry.register({
id: 'custom-action',
name: 'My Action',
description: '...',
schema: z.object({ ... }),
retry: { maxAttempts: 3, backoffMs: 1000 },
timeout: 10000,
});
// Ejecutar con tracing
const execution = await registry.execute(
'custom-action',
{ input: 'value' },
async (validated) => {
// Tu código aquí
return result;
},
{
captureScreenshots: true,
beforeScreenshot: () => hyperion.screenshot.capture(),
afterScreenshot: () => hyperion.screenshot.capture(),
}
);
// execution contiene:
// - status, duration, attempts
// - output, error (si falló)
// - screenshots before/after/error
// - retry count y historial
registry.onExecution(exec => {
console.log(`Action ${exec.actionId} -> ${exec.status} (${exec.duration}ms)`);
});СТОЛП 4: Real-Time Vision
Streaming + Change Detection
const vision = new VisionEngine(hyperion);
// Start streaming
await vision.startStreaming(1000); // 1 frame/sec
vision.on('frame', (frame: VisionFrame) => {
console.log(`Frame ${frame.id}:`);
console.log(` URL: ${frame.url}`);
console.log(` Elements: ${frame.elements.length}`);
console.log(` Platform: ${frame.platform}`);
console.log(` Changes: +${frame.changes?.added.length} -${frame.changes?.removed.length}`);
});
vision.on('frame-changed', (frame) => {
// Solo elementos nuevos/removidos
console.log('DOM cambió:', frame.changes);
});
const latest = vision.getLatestFrame();
const history = vision.getFrameHistory(10);
const stats = vision.getStats();
vision.stopStreaming();СТОЛП 5: Overlay Engine
Надёжная инъекция + Auto-sync
const overlay = new OverlayEngine();
// Inyectar (una sola vez, garantizado)
await overlay.ensureInjected(hyperion, { refreshIntervalMs: 1000 });
// Obtener elementos
const elements = await overlay.getElements(hyperion);
// [
// { overlayId: 0, text: 'Login', x: 100, y: 200 },
// { overlayId: 1, text: 'Sign Up', x: 150, y: 200 },
// ]
// Click por ID
await overlay.clickById(hyperion, 5);
// Eliminar overlay
await overlay.kill(hyperion);СТОЛП 6: LLM Server
MCP Bridge + 16+ Actions
const llmServer = new LLMServer(hyperion);
// Automáticamente registra 16+ acciones
const definitions = llmServer.getActionDefinitions();
// Cada una tiene schema Zod auto-documentado
// Ejecutar acción (como lo haría un LLM)
const result = await llmServer.executeAction('overlay-inject', {
refreshIntervalMs: 1000,
});
// Ejecuta, trackea, captura screenshots, reintentos
const history = llmServer.getExecutionHistory(100);
const stats = llmServer.getStats();🎛️ 3 режима подключения
Режим | Метод | Анти-детекция | Chrome 136+ | Рекомендуется |
Extension | Native Messaging | ✅ CreepJS 0% | ✅ Без popup | ✅ Default |
Launch | Запуск свежего браузера | ✅ Полный стелс | Н/Д | Для CI/изоляции |
Attach | WebSocket к существующему | ⚠️ Частично | ❌ Popup | Только отладка |
🔒 Анти-детекция
Runtime.enableOFF → Устраняет утечку runtimeEmulation.setAutomationOverride→navigator.webdriver = false(нативно)Нет JS-патчей → Без отпечатков
Extension + Native Messaging → Избегает popup Chrome 136+
Emulation.setFocusEmulationEnabled→ Вкладки в фоне не замедляются
📈 Метрики и отладка
// Connection metrics
const pool = new ConnectionPool();
const metrics = pool.getMetrics('conn-1');
// {
// state: 'connected',
// messagesSent: 1250,
// messagesReceived: 1240,
// failedMessages: 2,
// averageLatencyMs: 45.2,
// errorCount: 1,
// reconnectAttempts: 0
// }
// Action execution stats
const stats = registry.getStats();
// {
// totalExecutions: 500,
// successful: 495,
// failed: 5,
// successRate: 99%,
// averageDurationMs: 234.5
// }
// Execution trace
const exec = registry.getExecutionById('action-id-123');
// {
// status: 'success',
// duration: 1234,
// attempts: [
// { attempt: 1, result: {...} },
// { attempt: 2, error: '...' },
// { attempt: 3, result: {...} }
// ],
// screenshots: [
// { phase: 'before', base64: '...' },
// { phase: 'after', base64: '...' }
// ]
// }🧪 Тестирование
# Unit tests
npm run test
# Integration tests
npm run test:integration
# Watch mode
npm run test -- --watch📚 Полная документация
Core API — Полная справка
Schema Definitions — Все схемы Zod
Examples — Функциональные примеры
Architecture — Детальная диаграмма
🤝 Интеграция с LLM
Claude Code
{
"mcpServers": {
"hyperion": {
"command": "hyperion",
"args": ["--mcp", "--launch"]
}
}
}Cursor
В .cursor/settings.json:
{
"rules": {
"hyperion": "hyperion --mcp --launch"
}
}Cline
В cline_config.json:
{
"mcpServers": [
{
"name": "hyperion",
"command": "npx hyperion --mcp --launch"
}
]
}📄 Лицензия
MIT — свободно для коммерческого и личного использования
🚀 Дорожная карта V2.1
Интеграция видеозаписи
Управление несколькими вкладками
Расширенная поддержка жестов (свайп, щипок)
Интеграция Chrome DevTools
Облачное хранение логов выполнения
Хуки профилирования производительности
💬 Поддержка
GitHub Issues: hyperion/issues
Обсуждения: hyperion/discussions
Hyperion V2 — LLM-нативный фреймворк автоматизации браузера.
Создано с 💚 для ИИ-агентов, которые хотят правильно автоматизировать веб.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityCmaintenanceMCP server + Chrome extension that gives AI coding agents control of your real browser with existing sessions, logins, and cookies. Works with Cursor, Claude, Windsurf.188847MIT

agentify-desktopofficial
AlicenseNot gradedqualityBmaintenanceMCP server that enables AI tools to control local browser sessions for ChatGPT, Claude, and other AI services, supporting querying, navigation, file uploads, and artifact management.65529Mozilla Public 2.0- FlicenseBqualityBmaintenanceA minimalist browser control engine that allows LLM agents to visually perceive and interact with web pages through the Chrome DevTools Protocol and MCP standard.411
- AlicenseNot gradedqualityAmaintenanceAn MCP server that lets LLM agents control all Chrome browser tabs via accessibility snapshots, element references, and a virtual cursor, supporting operations like click, type, navigate, screenshot, and video recording.MIT
Related MCP Connectors
Live browser debugging for AI assistants — DOM, console, network via MCP.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ericklrm89-jpg/hyperion'
If you have feedback or need assistance with the MCP directory API, please join our Discord server