parchi-relay
Parchi Relayを使用して、Parchi拡張機能エージェント(WebSocket)経由、またはCLI/ツールワークフローからJSON-RPC経由で、実際のブラウザを制御できます。
description の原文を見る
Use Parchi Relay to control a real browser via the Parchi extension agent (WebSocket) or directly via JSON-RPC from a CLI/tooling workflow.
SKILL.md 本文
Parchi Relay (使い方)
このスキルでは、Parchi リレーデーモンを実行し、ブラウザ拡張機能をエージェントとして接続し、CLI を使ってブラウザ自動化を制御する方法について説明します。
機能
- ローカルリレーデーモン(
/v1/rpc+/v1/extension)が呼び出しを仲介します。 - ブラウザ拡張機能エージェントが WebSocket でデーモンに接続し、ブラウザツールを実行します。
- CLI(
parchi-relay/npm run relay)で以下が可能です:- エージェントの一覧表示
- デフォルトエージェントの設定
- ツール一覧の表示 / ツールの呼び出し
- エージェントタスクの実行と完了の待機
クイックスタート(ローカル)
- すべてをビルドします:
npm install
npm run build
- リレーデーモンを起動します(ターミナル A):
npm run relay:daemon -- --token=<YOUR_TOKEN> --host=127.0.0.1 --port=17373
- 拡張機能を読み込みます(Chrome):
chrome://extensionsを開く- デベロッパーモードを有効にする
- 拡張機能を読み込む:
dist/ - 拡張機能のサイドパネルを開く
- 設定 -> Relay:
- 有効:
On - URL:
http://127.0.0.1:17373 - トークン:
<YOUR_TOKEN> Applyをクリック
- 有効:
- エージェントが接続されたことを確認します(ターミナル B):
npm run relay -- agents --token=<YOUR_TOKEN>
CLI 使用方法(実際のコマンド)
CLI は HTTP JSON-RPC でデーモンと通信します。
環境変数を設定します(推奨):
export PARCHI_RELAY_TOKEN="<YOUR_TOKEN>"
export PARCHI_RELAY_HOST="127.0.0.1"
export PARCHI_RELAY_PORT="17373"
エージェント一覧を表示:
npm run relay -- agents
ドクター(デーモン、認証、エージェント接続、ツール転送の確認):
npm run relay -- doctor
デフォルトエージェントの取得 / 設定:
npm run relay -- default-agent get
npm run relay -- default-agent set agent-123
ツール一覧を表示(デフォルトエージェント、または特定のエージェント):
npm run relay -- tools
npm run relay -- tools --agentId=agent-123
ツールを呼び出す:
npm run relay -- tool getTabs --args='{}'
npm run relay -- tool getContent --args='{\"mode\":\"text\"}'
フルエージェントタスクを実行して完了を待機:
npm run relay -- run "On the active tab, extract the main headline." --tabs=active --timeoutMs=600000
RPC サーフェス(リレーが公開するもの)
リレーデーモン(POST /v1/rpc、Authorization: Bearer <token>):
relay.pingagents.listagents.default.getagents.default.set{ agentId }tools.list{ agentId? }tool.call{ tool, args, agentId? }agent.run{ prompt, selectedTabIds?, agentId? }run.wait{ runId, timeoutMs? }run.events{ runId }
拡張機能エージェント(WebSocket /v1/extension?token=...):
- 送信:
agent.hello(エージェントを登録) - 受信:JSON-RPC リクエスト(デーモンが転送)
- 送信:JSON-RPC レスポンス
- 発行可能:
run.event/run.done通知(ストリーム化されたラン テレメトリ用)
トラブルシューティング
-
agentsが[]を返す:- デーモントークンと拡張機能トークンが一致していることを確認してください
dist/(ではなくpackages/extension/)を読み込んでいることを確認してください- 拡張機能の設定 -> Relay で接続状態(およびエラーメッセージ)が表示されることを確認してください
-
ツール呼び出しがポリシーのため失敗する:
- 拡張機能の設定 -> ツール権限とアクセス許可ドメインを確認してください
本番環境使用に関する注記
- リレートークンは秘密にしておいてください。ローカル管理者パスワードのように扱ってください。
- 明示的に公開する意図がない限り、
127.0.0.1にバインドしてください。 - localhost 以外に公開する場合は、追加の認証とトランスポートセキュリティを追加してください。
Electron エージェントモード
Parchi は専用のリレーネイティブ Electron エージェントをサポートしています:
# ターミナル A
PARCHI_RELAY_TOKEN=<TOKEN> npm run relay:daemon
# ターミナル B
PARCHI_RELAY_TOKEN=<TOKEN> npm run electron:agent
マネージドヘルパー(推奨):
npm run electron:secure -- start
npm run electron:secure -- status
npm run electron:secure -- stop
次に Electron エージェントを選択します:
npm run relay -- agents
npm run relay -- default-agent set <electron-agent-id>
便利なメソッド:
electron.launchでtool.callelectron.connectでtool.callelectron.snapshot、electron.click、electron.type、electron.pressでtool.call
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- 0xSero
- リポジトリ
- 0xSero/parchi
- ライセンス
- MIT
- 最終更新
- 2026/4/24
Source: https://github.com/0xSero/parchi / ライセンス: MIT
関連スキル
doubt-driven-development
重要な判断はすべて、本番環境への展開前に新しい視点から対抗的レビューを実施します。速度より正確性が重要な場合、不慣れなコードを扱う場合、本番環境・セキュリティに関わるロジック・取り消し不可の操作など影響度が高い場合、または後でバグを修正するよりも今検証する方が効率的な場合に活用してください。
apprun-skills
TypeScriptを使用したAppRunアプリケーションのMVU設計に関する総合的なガイダンスが得られます。コンポーネントパターン、イベントハンドリング、状態管理(非同期ジェネレータを含む)、パラメータと保護機能を備えたルーティング・ナビゲーション、vistestを使用したテストに対応しています。AppRunコンポーネントの設計・レビュー、ルートの配線、状態フローの管理、AppRunテストの作成時に活用してください。
desloppify
コードベースのヘルスチェックと技術負債の追跡ツールです。コード品質、技術負債、デッドコード、大規模ファイル、ゴッドクラス、重複関数、コードスメル、命名規則の問題、インポートサイクル、結合度の問題についてユーザーが質問した場合に使用してください。また、ヘルススコアの確認、次の改善項目の提案、クリーンアップ計画の作成をリクエストされた際にも対応します。29言語に対応しています。
debugging-and-error-recovery
テストが失敗したり、ビルドが壊れたり、動作が期待と異なったり、予期しないエラーが発生したりした場合に、体系的な根本原因デバッグをガイドします。推測ではなく、根本原因を見つけて修正するための体系的なアプローチが必要な場合に使用してください。
test-driven-development
テスト駆動開発により実装を進めます。ロジックの実装、バグの修正、動作の変更など、あらゆる場面で活用できます。コードが正常に動作することを証明する必要がある場合、バグ報告を受けた場合、既存機能を修正する予定がある場合に使用してください。
incremental-implementation
変更を段階的に実施します。複数のファイルに影響する機能や変更を実装する場合に使用してください。大量のコードを一度に書こうとしている場合や、タスクが一度では完結できないほど大きい場合に活用します。