Skip to content

v0.4.0: Linuxの開発者操作を、Chrome Opsが持つ開発用Chromeで行う - #2

Merged
quolu merged 5 commits into
mainfrom
feat/linux-dev-chrome
Sep 27, 2026
Merged

quolu merged 5 commits into
mainfrom
feat/linux-dev-chrome

Conversation

@quolu

@quolu quolu commented Sep 27, 2026

Copy link
Copy Markdown
Contributor

概要

Linuxでも拡張の読み込み・再読み込み・エラー取得・削除を自動化します。

Waylandでは他のプログラムがChromeのボタンを押せません。Chromeが中身をAT-SPIへ出すのも --force-renderer-accessibility 付きで起動したときだけです。そこでLinuxでは、利用者の普段のChromeを操作しません。代わりにChrome Opsが専用プロファイルの開発用Chromeを起動し、DevToolsパイプから操作します。

  • src/os/linux-chrome.ts: chrome-ops-chrome systemdユーザーサービス。専用プロファイルのChromeを --remote-debugging-pipe --enable-unsafe-extension-debugging で起動し、デベロッパーモードをオンにして、Bridgeをこのチェックアウトから読み込みます。ポートは開けません。
  • src/os/linux-helper.ts: ヘルパー。本人専用のUnixソケットへ1操作を渡し、他OSのヘルパーと同じ形の結果JSONを返します。必要ならサービスを起動します。
  • 読み込みは Extensions.loadUnpacked、削除は Extensions.uninstall(開発版のみ)を使います。再読み込みとエラー取得は、裏のタブで開いたchrome://extensionsの developerPrivate を使います。エラーの取得元は「エラー」表示と同じです。
  • セットアップは開発用Chromeのサービスとランチャー(Chrome Ops Chrome)を入れます。ログイン時には起動せず、setup・開発者操作・ランチャーから起動します。
  • OSアダプタに usesManagementTab と startBrowser を加えました。macOSとWindowsの動作は変えていません。
  • MCPクライアントが環境変数を絞っても、ソケットとsystemdを見つけられるようにしました。

確認

  • Ubuntu 26.04(GNOME Wayland)の実機で、npm run setup による開発用Chromeの起動とBridge接続を確かめました。MCPからの4操作も通りました。
  • 同じ4操作を、Claude Code・Codex・Cursor・Grok Buildの各ハーネスから、読み込み→削除の形で確かめました。
  • 開発用Chromeを閉じた状態からの自動起動と、アンインストール→再セットアップの流れも確かめました。
  • CIのLinuxで、画面を出さないChromeを相手にヘルパーの4操作を回すテスト(test/linux-chrome.test.mjs)を加えました。

🤖 Generated with Claude Code

@quolu
quolu merged commit 53e8696 into main Sep 27, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant