Show HN:Vibium ― AIと人間向けのブラウザ自動化(Selenium創設者による)

2025/12/25 2:49

Show HN:Vibium ― AIと人間向けのブラウザ自動化(Selenium創設者による)

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

Vibiumは軽量でGoベースのブラウザ自動化ライブラリで、AIエージェントが最小限のオーバーヘッドでChromeを制御できるようにします。単一の約10 MBバイナリとして配布され、WebDriver BiDiプロトコルとMCPサーバーを使用してブラウザを管理し、自動待機、要素ポーリング、ビューポートスクリーンショット(PNG)、不可視実行などの機能を提供します。開発者は

npm install vibium
でインストールでき、ライブラリは同期 (
browserSync
) と非同期 (
browser
) の両方のJavaScript/TypeScript APIを公開し、一般的なブラウザ操作に対応しています。

Claude Codeエージェントは次のように一歩でブラウザ制御を追加できます:

claude mcp add vibium -- npx -y vibium
; これによりセットアップ時にChromeも自動ダウンロードされます。ツールはLinux x64、macOS Intel x64、macOS Apple‑Silicon arm64、およびWindows x64をサポートし、Chromeとchromedriverをローカルにキャッシュしますが、
VIBIUM_SKIP_BROWSER_DOWNLOAD=1
を設定するとダウンロードをスキップできます。

主要なエージェントツールは次の通りです:

  • browser_launch
  • browser_navigate
  • browser_find
  • browser_click
  • browser_type
  • browser_screenshot
  • browser_quit

VibiumはApache 2.0ライセンスでオープンソース化され、2025‑12‑22にnpmへ公開されました。将来計画(Roadmap V2)にはPython/Javaクライアント、Cortexメモリ/ナビゲーションレイヤー、Retina録画、動画キャプチャ、およびAI駆動のロケータが追加予定です。開発ガイドラインは

CONTRIBUTING.md
に、ロードマップ詳細は
V2-ROADMAP.md
に記載されています。このライブラリはAIエージェント向けにブラウザ自動化を簡素化し、開発者、テスター、およびデータ抽出ワークフローの利便性を高めることを目指しています。

本文

Vibium
ドラマなしのブラウザ自動化。


概要

Vibium は AI エージェント向けに設計されたブラウザ自動化インフラストラクチャです。
単一バイナリで以下を処理します:

  • ブラウザライフサイクル
  • WebDriver BiDi プロトコル
  • MCP サーバ(Claude Code など任意の MCP クライアント用)

これにより、エージェントはセットアップ不要でブラウザを操作でき、AI エージェント・テスト自動化・その他ブラウザ依存タスクに最適です。


クイックリファレンス

コンポーネント目的インターフェース
Clickerブラウザ自動化、BiDi プロキシ、MCP サーバCLI / stdio / WebSocket :9515
JS Client開発者向け APInpm パッケージ

アーキテクチャ図

┌───────────────────────────────────────┐
│                 LLM/Agent             │
│ (Claude Code, Codex, Gemini, など)    │
└───────────────────────────────────────┘
            ▲ MCP プロトコル (stdio)
            │
            ▼
 ┌─────────────────────┐
 │   Vibium Clicker    │
 │                     │
 │  ┌───────────────┐  │
 │  │  MCP Server   │  │
 │  └───────▲───────┘  │         ┌──────────────────┐
 │          │          │         │                  │
 │  ┌───────▼───────┐  │WebSocket│  Chrome Browser   │
 │  │  BiDi Proxy   │  │◄───────►│     (BiDi)       │
 │  └───────────────┘  │  :9515  │                  │
 └─────────────────────┘         └──────────────────┘
            ▲ WebSocket BiDi :9515
            ▼
┌───────────────────────────────────────┐
│                JS/TS Client           │
│          npm install vibium           │
│                                       │
│  ┌─────────────────┐   ┌─────────────────┐
│  │ Async API       │   │    Sync API     │
│  │ await vibe.go() │   │    vibe.go()    │
│  └─────────────────┘   └─────────────────┘
└───────────────────────────────────────┘

コンポーネント

Clicker

約10 MB の単一 Go バイナリで、以下をすべて実行します:

  • ブラウザ管理 – BiDi が有効な Chrome を検出/起動。
  • BiDi プロキシ – コマンドをブラウザへルーティングする WebSocket サーバ。
  • MCP Server – LLM エージェント用 stdio インターフェース。
  • Auto‑Wait – 要素が利用可能になるまでポーリング。
  • スクリーンショット – ビューポートを PNG で取得。

設計目標: バイナリは見えないようにし、JS 開発者は

npm install vibium
だけで動作させることができる。

JS/TS Client

// オプション1: CommonJS(REPL に最適)
const { browserSync } = require('vibium');

// オプション2: 動的インポート(Node REPL with --experimental-repl-await)
const { browser } = await import('vibium');

// オプション3: 静的インポート (.mjs または .ts ファイル)
import { browser, browserSync } from 'vibium';

Sync API

const fs   = require('fs');
const { browserSync } = require('vibium');

const vibe = browserSync.launch();
vibe.go('https://example.com');

const png = vibe.screenshot();
fs.writeFileSync('screenshot.png', png);

const link = vibe.find('a');
link.click();
vibe.quit();

Async API

const fs   = await import('fs/promises');
const { browser } = await import('vibium');

const vibe = await browser.launch();
await vibe.go('https://example.com');

const png = await vibe.screenshot();
await fs.writeFile('screenshot.png', png);

const link = await vibe.find('a');
await link.click();
await vibe.quit();

エージェントとの連携

Claude Code にブラウザ制御を追加するにはワンコマンド:

claude mcp add vibium -- npx -y vibium

手動ステップは不要で、セットアップ時に Chrome が自動ダウンロードされます。

ツールコマンド

Tool説明
browser_launch
ブラウザを起動(デフォルトで可視)
browser_navigate
URLへ移動
browser_find
CSS セレクタで要素検索
browser_click
要素をクリック
browser_type
テキスト入力
browser_screenshot
ビューポート取得(base64 または
--screenshot-dir
でファイル)
browser_quit
ブラウザ終了

人間向け

  • あなたのプラットフォーム用に Clicker バイナリをインストール。

  • Chrome + chromedriver をキャッシュへダウンロード:

    • Linux:
      ~/.cache/vibium/
    • macOS:
      ~/Library/Caches/vibium/
    • Windows:
      %LOCALAPPDATA%\vibium\

手動でブラウザを設定する必要はありません。

別途ブラウザ管理を行う場合はダウンロードをスキップ:

VIBIUM_SKIP_BROWSER_DOWNLOAD=1 npm install vibium

プラットフォーム対応

PlatformArchitectureステータス
Linuxx64✅ 対応済み
macOSx64 (Intel)✅ 対応済み
macOSarm64 (Apple Silicon)✅ 対応済み
Windowsx64✅ 対応済み

クイックスタート

ライブラリとして使用

import { browser } from 'vibium';

const vibe = await browser.launch();
await vibe.go('https://example.com');
const el   = await vibe.find('a');
await el.click();
await vibe.quit();

Claude Code で利用

claude mcp add
でインストール後、単に

「example.com に行って最初のリンクをクリック」

と指示するだけです。


コントリビューション

セットアップとガイドラインは CONTRIBUTING.md をご覧ください。


ロードマップ

  • V1 – Core loop: MCP と JS クライアントによるブラウザ制御。
  • V2 – 予定機能:
    • Python & Java クライアント
    • Cortex(メモリ/ナビゲーション層)
    • Retina(録画拡張)
    • ビデオ録画
    • AI 搭載ロケータ

更新履歴

日付備考
2025‑12‑22Day 12 – npm 公開
2025‑12‑21Day 11 – ポリッシュ & エラーハンドリング
2025‑12‑20Day 10 – MCP Server
2025‑12‑19Day 9 – Actionability
2025‑12‑19Day 8 – Elements & Sync API
2025‑12‑17Halfway There
2025‑12‑16Week 1 Progress
2025‑12‑11V1 発表

ライセンス

Apache 2.0


同じ日のほかのニュース

一覧に戻る →

2025/12/25 4:42

Show HN:ブラウザ内で動作し、すべてのデータをURLに保存するミニマリストエディタ

## Japanese Translation: GitHub は、Copilot、Spark、Models、および MCP Registry といった AI 搭載のエンタープライズグレードツール群を拡充し、開発者がより速く質の高いコードを書けるようにしています。これら新しいオファリングは、Actions、Codespaces、Issues、作業計画・追跡、コードレビュー、変更管理といった既存のワークフローを補完し、自動化やモデル用プロンプト管理、シークレット保護や脅威検知などのセキュリティ制御を追加します。企業向けには、Advanced Security、Copilot for Business、プレミアム 24/7 サポート、および標準的な DevSecOps パイプラインに組み込める AI 強化ビジネス分析などのエンタープライズ アドオンを導入しています。同時に、GitHub は Sponsors ファンディングや Security Lab、Maintainer Community、Accelerator、Archive Program などのプログラムを通じてオープンソース エコシステムを強化し、プロジェクトを健全に保ちます。総合的な目標は、個人貢献者、小規模チーム、大企業を問わず、医療・金融・製造・政府などさまざまな業界で利用できる、一貫性があり、安全かつ知能的な開発体験を提供することです。

2025/12/25 6:02

NVIDIAは、AIチップスタートアップGroqを約200億ドル(現金)で買収しています。

## Japanese Translation: (日本語訳) **改訂サマリー** Nvidia は、Groq の全資産を 200 億ドルの現金で買収することに合意し、同社史上最大規模の買収となります。この取引は、2023 年 9 月に Groq が約 6.9 億ドルの評価額で 7 億5,000 万ドルを調達した資金調達ラウンドと、Nvidia に対する推論技術の非独占ライセンス契約(価格は未公開)に続くものです。主要創業者である CEO のジョナサン・ロス氏と社長のサニー・マドラ氏を含む幹部が、ライセンス取得した技術を推進するために Nvidia に加わります。一方、Groq は財務責任者シモン・エドワーズ氏が率いる独立企業として残り、GroqCloud は取引の対象外であり、そのまま運営され続けます。 Nvidia は Groq の低レイテンシプロセッサを AI ファクトリーアーキテクチャに統合し、より広範な推論およびリアルタイムワークロードを実現すると同時に、GroqCloud を別個に保つ計画です。この買収は、10 月末時点で Nvidia の現金及び短期投資が 606 億ドル(2023 年初頭の 133 億ドルから増加)だったことを受けて行われました。 Groq は本年の売上高を 5 億ドルと目標設定しており、これは大規模言語モデル推論用 AI アクセラレータチップへの需要によって牽引されます。この動きは、Enfabrica との同様だが規模が小さい 9 億ドルの取引(CEO の採用と技術ライセンス)に続くものです。Nvidia の買収は歴史上最大の購入者として位置付けられ、ハードウェアポートフォリオとクラウドサービス提供への影響を拡大し、アクセラレータチップ市場で競合他社に影響を与える可能性があります。

2025/12/22 14:38

**トークンや隠しフォームフィールドなしで実装する CSRF 対策**

## Japanese Translation: Microdot は、11 月初旬にユーザーからの要望で追加された CSRF 保護機能を備えています。 最初は従来型の anti‑CSRF トークンを使用する予定でしたが、著者は `Sec‑Fetch‑Site` ヘッダーに基づくモダンなアプローチを発見しました。このヘッダーは 2023 年 3 月以降リリースされたすべてのブラウザーでサポートされ、`same-origin`、`same-site`、`cross-site`、または `none` のいずれかの値を取ることができます。 Microdot のロジックは、`Sec‑Fetch‑Site` が `cross-site` に設定されたリクエストを拒否し、さらにデフォルトである `allow_subdomains=False` の場合には `same-site` リクエストもブロックします。Safari はこのヘッダーへの対応を 2023 年に追加しただけであり、古いブラウザーはそれを送信しないため、フォールバックが必要です。 フォールバックでは、2019–2020 年から存在する `Origin` ヘッダーを使用します。生のオリジンとホストを比較すると(スキームの違いやプロキシによる変更など)信頼性が低くなるため、Microdot は代わりに既存の CORS 設定に明示的に列挙されているオリジンのみを信用します。CORS で許可された任意のオリジンは自動的に CSRF チェックに受け入れられます。 `mkcert` で知られる Filippo Valsorda は、Sec‑Fetch‑Site メソッドを先駆けし、それを Go の標準ライブラリに実装しました。 OWASP は 12 月初旬に CSRF Prevention Cheat Sheet を更新して Sec‑Fetch‑Site を含めましたが、その後それを単独の解決策ではなく、ディフェンス・イン・デプスの一部として位置づけました。著者は OWASP の最終的な見解を監視し、必要に応じてダブルサブミットトークン保護へ戻す可能性があります。 実装詳細、ドキュメント、および例コードは既に Microdot プロジェクトで入手できます。

Show HN:Vibium ― AIと人間向けのブラウザ自動化(Selenium創設者による) | そっか~ニュース