Skip to main content
Glama

Hyperion V2 - LLM原生通用网络代理

最强大的AI浏览器。 通用MCP服务器,允许任何AI代理(Claude、Cursor、Cline、OpenCode等)通过5种感知引擎、弹性心跳和实时视觉控制真实的Chrome浏览器。

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. 基于Zod Schema的LLM友好API

  • 自动文档 → LLM无歧义理解每个工具

  • 类型安全执行 → 自动验证输入

  • 16+预注册工具 → 截图、点击、输入、覆盖层、视觉等

2. 心跳+弹性自动重连

  • 健康监控 → 检测静默断开

  • 指数退避 → 自动重连,延迟递增

  • 连接池 → 实时指标(延迟、消息、错误)

  • 告别"连接丢失" → 自动恢复

3. 实时视觉流

  • 连续帧 → 可配置1-10帧/秒

  • 变化检测 → 检测添加/移除的元素

  • 平台检测 → 识别Instagram、TikTok、Facebook等

  • 完整元素元数据 → 位置、文本、选择器、ARIA角色

4. 通用动作框架

  • 完整执行追踪 → 操作前后截图、重试历史、持续时间

  • 自动重试 → 按动作可配置(超时、退避)

  • 执行历史 → 最近1000个动作及完整日志

  • 监听器模式 → 订阅执行事件

5. 稳健覆盖层引擎

  • 一次性注入 → 保证无重复

  • 自动刷新 → DOM变化时更新

  • MutationObserver+调整大小 → 始终同步

  • 按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+已注册动作

动作

类别

感知

超时

重试

screenshot

视觉

视觉

5秒

navigate

导航

30秒

✓ (2次)

click

交互

视觉

3秒

✓ (3次)

type

交互

5秒

✓ (2次)

overlay-inject

视觉

视觉

5秒

overlay-get

视觉

视觉

2秒

overlay-click

交互

视觉

3秒

✓ (2次)

overlay-kill

视觉

2秒

vision-start

视觉

视觉

vision-stop

视觉

extract

提取

5秒

wait

工具

15秒

scroll

交互

3秒

evaluate

工具

5秒

hover

交互

视觉

2秒

select-option

交互

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:核心类型

系统共享的通用定义:

  • ActionDefinition<T> → Zod Schema + 元数据

  • ActionExecution → 带截图的完整追踪

  • VisionFrame → 30+属性的帧

  • ConnectionMetrics → 健康监控

支柱2:弹性层

心跳+自动重连+连接池

// 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:通用动作框架

安全执行+重试+追踪

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:实时视觉

流式传输+变化检测

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:覆盖层引擎

稳健注入+自动同步

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服务器

MCP桥接+16+动作

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+

推荐

扩展

原生消息传递

✅ CreepJS 0%

✅ 无弹窗

默认

启动

全新浏览器启动

✅ 完全隐身

不适用

用于CI/隔离环境

附加

WebSocket连接到现有浏览器

⚠️ 部分

❌ 弹窗

仅用于调试

🔒 反检测

  • Runtime.enable关闭 → 消除运行时泄漏

  • Emulation.setAutomationOverridenavigator.webdriver = false(原生)

  • 零JS补丁 → 无指纹

  • 扩展+原生消息传递 → 避免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

📚 完整文档

🤝 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集成

  • 执行日志云持久化

  • 性能分析钩子

💬 支持


Hyperion V2 - LLM原生浏览器自动化框架。

为希望正确自动化网络的AI代理倾心打造。

F
license - not found
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP 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.
    65
    529
    Mozilla Public 2.0
  • F
    license
    B
    quality
    B
    maintenance
    A minimalist browser control engine that allows LLM agents to visually perceive and interact with web pages through the Chrome DevTools Protocol and MCP standard.
    41
    1
  • A
    license
    Not graded
    quality
    A
    maintenance
    An 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

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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