Skip to content

v0.3.0: 全OS(macOS・Windows・Linux)と全ハーネス(Claude Code・Codex・Cursor・Grok)に対応する - #1

Merged
quolu merged 7 commits into
mainfrom
feat/os-harness
Sep 27, 2026
Merged

quolu merged 7 commits into
mainfrom
feat/os-harness

Conversation

@quolu

@quolu quolu commented Sep 27, 2026

Copy link
Copy Markdown
Contributor

概要

  • 共通コード、OS適合(src/os/・scripts/os/・helper/<os>/)、ハーネス適合(scripts/harness/)をファイル単位で分けた。
  • npm run setup / register / doctor / uninstall をOSに関係なく同じ名前で使えるようにした(旧 setup:macos などは互換の別名として残す)。
  • LinuxのHostをsystemdユーザーサービスで常駐させる。Linuxの開発者操作(Load unpackedなど)はまだ自動化していない。
  • WindowsもmacOSと同じく管理タブを自動で準備し、setup時に接続中のBridgeを更新して再接続を待つ。
  • Claude Codeの登録を加え、4ハーネスを同じ手順で登録する。
  • macOS 27のLoad unpackedと、Bridge更新の判定を直した。
  • CIでOSごとの単体試験を回す。

確認

  • macOS 27・Windows 11・Ubuntu 26.04の実機で npm run setup、npm run register、npm run doctor が通り、12通り(3OS×4ハーネス)すべてでハーネス自身のコマンドからchrome-opsへの接続を確認した。
  • macOSとWindowsで、使い捨ての拡張を使ってload/reload/errors/removeが通った。

🤖 Generated with Claude Code

quolu and others added 7 commits September 26, 2026 13:50
- Windowsでもmacと同じくBridgeが管理タブを開いてから開発者操作を行い、Load後はchrome.managementで新しい拡張を確かめる
- setup:windowsがHostを再起動し、接続中の古いBridgeをbootstrapで最新に更新する
- Hostが止まっている間に眠ったBridgeがchrome.alarmsで起きて再接続する
- 削除確認ダイアログを前面に出してから確定し、表示を待つ
- エラーが無い拡張のerrorsはmacと同じく空の結果を返す

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- macOS 27.0ではGo to Folderの入力欄がGoToWindowシートに入らないため、フォーカス中のPathTextFieldも受け付ける
- フォルダ選択パネルを調べる時にファイル一覧の中へ入らない(Load unpackedが92秒から3秒に)
- Bridgeのcapabilitiesは実行中のmanifest版も返し、setupはディスクの版と比べる。getURLはディスクの新しいファイルを読むため、ファイルを置き換えただけで最新と判定していた

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- setup:linux / uninstall:linux: systemdのユーザーサービスでHostを常駐させる。doctorはLinuxにも対応
- register:claude: macOS・Linux・WindowsでClaude Codeのユーザー設定へ登録し、~/.claude.jsonを読み直して確かめる
- 登録処理をscripts/clients.mjsへまとめ、macOSとLinuxで共有する(register-macos.mjs → register-posix.mjs)
- Host呼び出しをscripts/host-client.mjsへまとめる
- Bridge 0.2.3: extensions.reloadSelfで自分を再読み込みできる。setupは対応Bridgeなら画面操作なしで更新する
- Linuxの開発者操作は未自動化であることをエラーで伝える

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- MCPサーバーのOS依存を src/os/ の適合層へ移す
- 導入・診断・登録を scripts/chrome-ops.mjs に一本化し、scripts/lib/(共通)、scripts/os/(OS)、scripts/harness/(ハーネス)へ分ける
- Windowsのハーネス登録も他OSと同じ手順にし、PowerShellの個別登録スクリプトを廃止する
- 拡張テストのchromeモックにalarmsを足す

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@quolu
quolu merged commit 11a3854 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