**Show HN:ユーザースクリプト用カーソル**

2026/01/29 4:39

**Show HN:ユーザースクリプト用カーソル**

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

要約

Japanese Translation:

Browser Code は、Claude が仮想ファイルシステム(VFS)上のファイルとして Web ページを閲覧・編集できるブラウザ拡張機能です。
各サイトは

/domain/path/
の下に表示され、
page.html
console.log
screenshot.png
plan.md
などのファイルが含まれます。また、ディレクトリ
scripts/
styles/
はユーザーが記述したコードを保持します。
./scripts/*.js
にあるスクリプトは Chrome(または Firefox)の userScripts API を通じて永続化され、
/products/[id]
/users/[userId]/posts/[postId]
のような動的ルートを含む URL で自動的に実行されます。拡張機能は
window.__routeParams
を注入してこれらのパラメータを公開します。
アーキテクチャは次の三部構成です:背景サービスワーカー(Claude API クライアント、スクリプト登録、会話履歴、VFS の調整)、VFS を実装し DOM ↔ HTML をシリアライズし、メインワールドでスクリプトを実行しコンソール出力を傍受するコンテントスクリプト、およびチャット UI、ファイルブラウジング、計画/実行コントロールを提供するサイドバー React パネル。
Plan Mode では Claude が
plan.md
に提案変更を書き込み、ユーザーの承認後に Execute Mode に切り替わります。このモードでファイル編集、DOM の変異、およびスクリプト実行が可能です。VFS ファイルはバージョン番号を持ち、最後に読み込んだ以降 DOM が変更されている場合は編集が失敗します(楽観的同時実行)。
ローカルファイル同期もサポートされています:Chrome は File System Access API を介して双方向同期を提供し、Firefox は Downloads API によるエクスポートのみの同期と最新勝利(newest‑wins)衝突解決を提供します。
利用可能なエージェントツールには
Read
Edit
Write
Glob
Grep
Bash
Ls
Screenshot
Todo
があります。
インストールは Chrome で開発者モードを有効にする(または Firefox で一時アドオン)し、「User scripts」権限を付与して CSP をバイパスします。ビルドは
bun install
で行い、開発コマンド (
bun run dev
/
bun run dev:firefox
) を実行し、リリース用にビルド/zip してください。

このバージョンは主要ポイントをすべて捉え、元のテキストに存在しない推測情報を除外し、明確で簡潔な概要を提示しています。

本文

Browser Code
ユーザースクリプト用のコーディングエージェントで、独自にローダーを備えています。

Browser Code は、クロード(Claude)にウェブページを仮想ファイルシステムとして可視化するブラウザ拡張機能です。

chrome.userScripts
(Tampermonkey と同じ API)に永続化されるユーザースクリプトを生成・編集・管理し、URL が一致した際に自動実行します ― DOM 上で「Claude Code」を思わせるものです。


動作概要

  • ページはファイルシステムとして扱われる – DOM は
    page.html
    、コンソール出力は
    console.log
    となります。
    ./scripts/
    にスクリプトを、
    ./styles/
    にスタイルを作成できます。
  • スクリプトは userScripts API 経由で永続化 – 保存されたスクリプトは Chrome や Firefox の等価機能に登録され、CSP 制限を回避します。
  • URL が一致すれば自動実行 – スクリプトは保存した URL パターンにマッチするページの読み込み時に実行されます。
    /products/[id]
    などの動的ルートもサポート。

アーキテクチャ

┌───────────────────────────────────────────────────────────────┐
│                      ブラウザ拡張機能                       │
├───────────────────────────────────────────────────────────────┤
│  ┌───────────────────────────────────────────────────────┐  │
│  │            バックグラウンドサービスワーカー           │  │
│  │ • Claude API クライアント(エージェンティックループ)   │  │
│  │ • userScripts 登録と CSP バイパス                         │  │
│  │ • タブごとの会話履歴                                     │  │
│  │ • VFS ストレージの調整                                   │  │
│  └───────────────────────────────────────────────────────┘  │
│                        ↕                                    │
│  ┌───────────────────────────────────────────────────────┐  │
│  │                    コンテントスクリプト                 │  │
│  │ • 仮想ファイルシステム(VFS)の実装                      │  │
│  │ • DOM ↔ HTML シリアライズとバージョン管理                │  │
│  │ • スクリプトはメインスレッドで実行                        │  │
│  │ • コンソールの傍受                                          │  │
│  └───────────────────────────────────────────────────────┘  │
│                        ↕                                    │
│  ┌───────────────────────────────────────────────────────┐  │
│  │                サイドバー・パネル(React)             │  │
│  │ • チャット UI とツールコールの可視化                       │  │
│  │ • Plan/Execute モード切替                                 │  │
│  │ • ファイルブラウザとローカル同期                           │  │
│  └───────────────────────────────────────────────────────┘  │
└───────────────────────────────────────────────────────────────┘

仮想ファイルシステム(VFS)

すべてのウェブサイトは次のような仮想ファイル構造で表現されます。

/{domain}/{url-path}/
├── page.html            # ライブ DOM(読み取り/編集でミューテーションをトリガ)
├── console.log          # キャプチャされたコンソール出力(読み取り専用)
├── screenshot.png      # 必要時にページをキャプチャ
├── plan.md              # エージェントの計画(Plan モード)
├── scripts/
│   ├── my-script.js     # あなたが作成したスクリプト(永続化、auto‑run)
│   └── _auto_edits.js  # DOM 編集から生成
└── styles/
    └── custom.css       # あなたのスタイル(永続化、auto‑inject)

バージョン管理

ファイルにはバージョン番号が付与され、楽観的同時実行制御を行います。エージェントは編集前にファイルを読み取り、そのバージョンを保持します。DOM が変更された場合、編集はバージョン不一致で失敗します。


動的ルートマッチング

/products/[id]
/docs/[...slug]
のようなパスに保存したスクリプトは動的にマッチします。

パターンマッチ例
window.__routeParams
/products/[id]
/products/123
{ id: "123" }
/users/[userId]/posts/[postId]
/users/5/posts/42
{ userId: "5", postId: "42" }
/docs/[...path]
/docs/api/auth/oauth
{ path: ["api","auth","oauth"] }

ルートパラメータはスクリプト実行前に

window.__routeParams
に注入されます。


Plan / Execute ワークフロー

  1. Plan モード(デフォルト) – エージェントがページを探索し、ファイルを読み取り、
    plan.md
    に変更案を提案。DOM の変更やスクリプトの書き込みは行いません。
  2. Execute モード – ユーザーの承認後、エージェントは計画を実行:ファイルを書き込み、DOM を編集し、スクリプトを走らせます。

この二段階プロセスにより、意図しない変更を防止します。


ローカルファイル同期

ブラウザ読み取り書き込み使用 API
ChromeFile System Access API
Firefox✓ (エクスポート)Downloads API
  • Chrome:一度ディレクトリを選択すれば、双方向同期が可能です。VS Code で編集するとブラウザに反映されます。
  • Firefox:ダウンロード API を介してエクスポートのみです。スクリプトは設定したフォルダーへダウンロードされます。

競合解決は「最新が勝つ」か、ユーザー選択で行います。


エージェントツール

ツール説明
Read
ファイル内容を読み取り、バージョンも返す(衝突検知に使用)
Edit
既存ファイル内の文字列検索&置換。最後に読んだバージョンが必要
Write
ファイル全体を書き込み。新規の場合はバージョン 0 を指定
Glob
パターン(例:
./scripts/*.js
)に一致するファイルを検索
Grep
正規表現でファイル内を検索し、マッチとコンテキストを返す
Bash
スクリプトファイル(
./scripts/foo.js
など)またはインライン JS を実行
Ls
ディレクトリ内容を列挙
Screenshot
現在のビューポートをキャプチャ
Todo
マルチステップ作業用タスクリストを管理

インストール方法

Chrome

  1. 拡張機能をビルド(以下参照)またはリリース版をダウンロード。
  2. chrome://extensions
    を開く。
  3. 「デベロッパーモード」を有効にする。
  4. Load unpacked
    .output/chrome-mv3/
    を選択。
  5. 拡張機能の詳細へ進み、User scripts パーミッションをオン(CSP バイパスに必要)。

Firefox

  1. 拡張機能をビルド(以下参照)。
  2. about:debugging#/runtime/this-firefox
    を開く。
  3. Load Temporary Add‑on
    .output/firefox-mv2/
    内の任意ファイルを選択。

ビルド手順

bun install

# 開発モード
bun run dev          # Chrome 用
bun run dev:firefox  # Firefox 用

# 本番ビルド
bun run build        # 両ブラウザ共通
bun run zip          # 配布 ZIP を作成

注意点

  • CSP バイパスには「User scripts」権限が必要です。LinkedIn のように厳しい CSP があるサイトでは、拡張設定で許可を有効化してください。
  • Trusted Types:一部サイトは
    innerHTML
    をサニタイズします。その場合は DOM API(例:
    createElement
    )を使う必要があります。
  • Firefox ではファイル同期がエクスポートのみのため、双方向同期は利用できません。

技術詳細

  • ストレージ – VFS データは
    browser.storage.local
    vfs:{domain}
    キーで保存。各ドメインはパス → スクリプト/スタイルを保持。
  • スクリプト登録 – ストレージ変更時、バックグラウンドが
    chrome.userScripts.register()
    を呼び出し、VFS パスからマッチパターンを生成して再登録します。
  • CSP バイパス
    userScripts
    API はカスタムワールド(
    script-src 'self' 'unsafe-inline' 'unsafe-eval'
    )を設定し、制限を緩和します。
  • DOM シリアライズ
    page.html
    で読み取ると完全なドキュメントがシリアライズされます。書き込み時は現在の DOM と差分を計算し、最小限のミューテーションのみ適用します。

同じ日のほかのニュース

一覧に戻る →

2026/01/28 9:57

**トリニティ・ラージ** オープンな400 B スパースMoEモデル

## Japanese Translation: ``` (combining all key points with clarity):** --- ### Trinity‑Large: A Fast, Open, State‑of‑the‑Art Sparse MoE Language Model Trinity‑Large は、1 つのトークンで約 13 B パラメータ(256 エキスパート、1.56 % ルーティング分率)しか活性化しない 400 B パラメータを持つ sparse mixture‑of‑experts モデルです。10 T、4 T、3 T の三段階で **17 T** のキュレーション済みトークンを使用して訓練されました。プログラミング・STEM・推論・多言語コンテンツをカバーする合成データが用いられ、Momentum‑based エキスパートロードバランシング、1 シーケンスあたりのバランスロス、z‑loss 正則化で LM‑head ロジットを抑制し、効率的な注意機構(HSDP)と 8‑expert 並列処理が採用されました。 **リリースされたバリアント** | バリアント | 説明 | |---------|-------------| | **Trinity‑Large‑Preview** | 軽くポストトレーニングし、チャット対応。創造的執筆・物語作成・ロールプレイ・リアルタイム音声支援・エージェントタスク(OpenCode, Cline, Kilo Code)で優れた性能を発揮します。まだ推論モデルではありません。 | | **Trinity‑Large‑Base** | 完全な 17 T 事前訓練チェックポイント。ベンチマークと研究資源として使用されます。 | | **TrueBase** | 初期の 10 T チェックポイントで、指示データや LR アニーリングが含まれていません。大規模な高品質事前訓練効果を研究するのに最適です。 | 全体の作業―6か月間にわたる4つのモデル―は約 **2,000 万ドル** の費用で、**2048 台の Nvidia B300 GPU** を使用し、**33 日間** にわたって訓練されました。 **性能** - 数学・コーディング・科学的推論・原知識ベンチマークにおいて同等またはそれ以上の性能を示します。 - 推論速度は、同じハードウェア上で比較可能な重みクラスモデルより約 2–3 倍速です。 - ベンチマーク比較(Preview vs. Llama 4 Maverick): - MMLU: 87.2 vs. 85.5 - MMLU‑Pro: 75.2 vs. 80.5 - GPQA‑Diamond: 63.3 vs. 69.8 - AIME 2025: 24.0 vs. 19.3 **技術的詳細** - ネイティブコンテキスト長:**512k トークン**。Preview API はインフラ調整中に 128k と 8‑bit 量子化で動作します。 - モデルと API は Hugging Face、OpenRouter、および Arcee.ai を通じて公開されており、Kilo Code、Cline、OpenCode 用の統合がすぐに利用可能です。 **コミュニティへの関与** チームは Trinity‑Large が最先端レベルでありながら所有権と実際の使用を念頭に置いて設計されていることを強調し、ユーザーに失敗例を報告してもらうことでオープンモデルが継続的に改善できるよう奨励しています。 ```

2026/01/28 9:18

「有名な研究者が、赤ちゃんの中毒事件を隠したのでしょうか?」

2026/01/28 23:32

エアフォイル(2024)