nomos-browser
NOMOS Browser
あなたのエージェントのブラウザ、あなたも同席で。
AIエージェントのための統制されたナビゲーション基盤。ブラウザはモデルに取り付けられたおもちゃではなく、プラットフォームのリソースになる——そして所有者はエージェントの行動を見て、承認し、中断できる。
0.3.0-rc.2 · MIT · Node ≥ 22.6 · Chromium via Playwright · ビルドステップなし
問題
エージェントにブラウザを使う力を与えることは、誰かの代わりに購入・送信・削除・漏洩する力を与えることだ。これは通常、2つの悪い方法で解決される:
盲目的な信頼 — エージェントが行動し、所有者は後で知る;
麻痺 — エージェントがすべてを尋ね、所有者が自動的に「はい」をクリックし、承認が反射になるまで続く。
NOMOS Browserは所有者がすでに承認したことと今まさに同意が必要なことを分離し、その違いを可視化・監査可能・元に戻せるものにする。
Related MCP server: Cloudflare Playwright MCP
どのようになるか
NOMOS · Claude · Gemini · Qwen · Ollama · agente próprio
│
MCP · REST v1 · WebSocket · SDK · CLI · Live Agent Console
│
NOMOS BROWSER RUNTIME
política → autonomia → aprovação → auditoria
│
Playwright · CDP
│
Chromiumナビゲーションの状態はRuntimeに属し、モデルには属さない。エージェントが切断・停止・別のベンダーの別のエージェントに交換されても、セッションは同じタブ・クッキー・タスクを保持したまま生き続ける。
機能
Live Agent Console | ページのミラー、エージェントのカーソル、ステータスバー、アクティビティフィード、承認センター、読み取り専用の履歴 |
2つの自律モード |
|
| 自動モードは必須の承認を決して取り除かない。これはコードのトポロジーであり、約束ではない |
紐付けられた承認 | 単回使用、アクション・セッション・正確な引数に紐付けられる。「キャンセル」を承認しても「購入を確認」は承認されない |
マスクされた機密情報 | 入力するテキストは |
監査とリプレイ | ハッシュで連結されたトレイル、セッション終了時の封印、3層の読み取り専用リプレイ |
人間による制御 | ハンドルを握るとエージェントが凍結する;返すと行動前に再観察が必須になる |
23の動詞、16のMCPツール | 単一の契約、MCP・REST・WebSocket・SDK・CLIで提供 |
デモ
Live Agent Consoleはランタイム自身によって同じオリジンで提供され、CSP connect-src 'self'を使用する——悪用できる寛容なCORSは存在しない。
node packages/api/src/daemon.ts
# abra a URL com o token que o daemon imprime期待される結果付きの再現可能なスクリプトはdocs/demos.mdにある。
インストール
npm ci --include=dev
npx playwright install chromium--include=devは飾りではない:NODE_ENV=productionまたはnpm config omit=devの場合、npm ciはdevDependenciesをスキップし、typecheckは後で*"This is not the tsc command you are looking for"*で失敗する。詳細はdocs/INSTALLATION.mdに。
ランタイムにはビルドステップがない:NodeがTypeScriptをネイティブに実行する。インターフェースには独自のステップ(node packages/ui/build.ts)があり、生成のたびにブランドトークンを金庫から読み取るためだ。
クイックスタート
# 1. subir o runtime
node packages/api/src/daemon.ts &
# 2. estado
node packages/cli/src/main.ts health
# 3. abrir uma página (a sessão nasce com a política padrão)
node packages/cli/src/main.ts open https://example.com
# 4. ver o que ficou gravado
node packages/cli/src/main.ts sessions
node packages/cli/src/main.ts replay <SESSION_ID>CLIは機密性の高いcapabilityを決して付与しない:CLIが作成したセッションは、download・upload・send・purchase・payment・deleteが拒否された状態で生まれる。
例
# capturar a tela de uma sessão
node packages/cli/src/main.ts screenshot <SESSION_ID> --out /tmp/tela.png
# entregar um objetivo ao agente
node packages/cli/src/main.ts task --session <SESSION_ID> "encontre o preço do plano anual"
# acompanhar os eventos ao vivo
node packages/cli/src/main.ts events --session <SESSION_ID>
# verificar a integridade do replay gravado
node packages/cli/src/main.ts replay verify <SESSION_ID>ASKとAUTO
階層、そして順序こそが保証である:
POLÍTICA DO DONO → MODO DE AUTONOMIA → CAPABILITY DO NOMOS → GATES DE APROVAÇÃO → AÇÃOASK — 尋ねる
読み取りはそのまま通る。ページを変更するすべてのアクションは停止して尋ねる。結果とリソースがポルトガル語で書かれ、決定が意識的であり反射的なクリックではないことを保証する。
browser.taskを承認することは白紙の小切手ではない:プランが実行すると決めた各ステップは再びゲートに入る。
AUTO — 尋ねずに行動する
エージェントはポリシーで承認済みのすべてを自動で実行する。変わらないもの:
金銭的影響・外部送信・高い不可逆性を持つアクションは引き続き承認を求める——
browser.uploadはAUTOでも尋ねる。なぜならあなたのデータを外部に送信し、それは取り消せないからだ;リスクプロファイルが宣言されていないルートは「常に承認」に落ちる(fail-closed);
自律状態が証明できない場合(ランタイムダウン、再接続)、インターフェースは
AUTOを決して表示しない:不明に落ち、ASKとして扱う。
AUTO != BYPASSはドキュメントの約束ではない。自律ゲートはcapabilityと人間の制御の後に実行される:実行時、ポリシーが拒否するものはすべてすでに403を返している。denyをallowに変えるコードの分岐は存在しない。
詳細はdocs/ask-mode.mdとdocs/auto-mode.mdに。
セキュリティ
スコープ付きトークン認証(
OBSERVE、NAVIGATE、INPUT、DOWNLOAD、UPLOAD、SECRET、CONTROL、ADMIN)。すべてのルートには宣言されたスコープがある;デフォルトに依存するものはない。行動する者は承認できない。 エージェントプロファイルは承認・モード委任・再開に到達できない。停止はできる:
pauseとemergency-stopは行動よりも決して難しくできない。capabilityごとのfail-closedポリシー、
A6_DESTRUCTIVEは拒否。Anti-SSRF:内部ホストへのナビゲーションは明示的な行為であり、決して推測されない。
実行パスにおける注入防止の来歴:
observeとextractはprovenanceを返す。制御リース必須(
allow_unleased: false)。機密情報はインターフェース・監査・リプレイに表示されない。
脅威モデルT1–T10、宣言された残存リスク付きはdocs/SECURITY.mdにある。
ここで「100%安全」と主張するものはない。いかなる対策もそれを支えず、今後も決して支えないだろう。
監査とリプレイ
アクションごとに19フィールドのトレイル、ハッシュで連結、機密情報は発生源で編集される。終了時、セッションは封印される。
リプレイは3つの独立した層で読み取り専用である:ルートに書き込み動詞は存在しない(405 + Allow: GET);履歴を読んでもセッションは復活しない;モードは画面が推測するのではなくランタイムが宣言する。
また、自身の読み取りについても正直である:完全であると見せかける短いタイムラインを返す代わりに、破損した行と欠落したソースを報告する。存在しなかったセッションは404であり、空の200リプレイではない。
MCP
16のツール、モデルへの結合なし:
browser_navigate · browser_observe · browser_find · browser_extract · browser_screenshot · browser_click · browser_type · browser_press · browser_scroll · browser_tabs · browser_tab_open · browser_tab_switch · browser_tab_close · browser_download · browser_upload · browser_task
NOMOSエコシステムでは、ブラウザは所有者のポリシーによって統制されるcapabilityであり、署名付きカタログと正規化されたマニフェストのフィンガープリントによる信頼を持つ。docs/mcp.mdとdocs/NOMOS-INTEGRATION.mdを参照。
設定
51のキー、ランタイム自身で照会可能:
curl -s localhost:7777/api/v1/config/schema # a FORMA (pública)
curl -s localhost:7777/api/v1/config # os VALORES efetivos (ADMIN)分離は意図的である:*「何が存在するか?」はどの保持者にも答えられる;「ここで何が有効か?」*は答えられない。docs/CONFIGURATION.mdを参照。
トラブルシューティング
症状 → 原因 → 検証 → 修正はdocs/TROUBLESHOOTING.mdに。
開発
npx tsc --noEmit # tipos
bash scripts/run-suite.sh # suíte inteira, um arquivo por vez
bash scripts/run-suite.sh --fast # pula browser/bench
bash scripts/regressao-completa.sh # 15 etapas, um veredito
bash scripts/limpar-orfaos.sh # higiene por prova de posse実行ツールを使い、node --test tests/を直接使わないこと。NodeのランナーはCPUごとに並列化する;メモリ圧力下ではプロセスが途中で死に、サマリー行なしの切り詰められた出力を残し、成功に見える。run-suite.shは一度に1ファイルを実行し、死んだファイルはMORTOとして表示される。
テスト
HEAD 6964cf0で測定:
suíte TypeScript 789 passes · 0 falhas · 37/37 arquivos
E2E do Live Agent 106 casos · 9 baterias
sala limpa 14/14 passos, a partir de clone do HEAD
regressão completa 15 etapas · 0 falha · 0 não-executadaプロジェクトは観測されていないものをPASSと呼ぶことを拒否する。2つの例:
ブラウザの制御は本物である。 JavaScriptで合成されたクリックはisTrusted=falseでページに届く;CDPでディスパッチされたものはtrueで届く。スパイクは両方をテストする——後者は制御を証明し、前者はテストが真空ではないことを証明する。
承認カウンターは盲目的ではない。 プロダクトのミューテーション下で、UNEXPECTED_APPROVAL_PROMPTSは注入された欠陥に応じて0から3、5へと変化する。ミューテーション下でゼロのままのカウンターは何も測定していないことになる。
既知の制限
p99は報告されない:どのレイテンシーパスでも、30サンプルではp99を支えるために100が必要である。観測された最大値はp99と呼ばれない。スコープ付きトークンを発行するHTTPルートはない——内部APIには存在する。
pr.page.isClosed()の分岐は通常運用では到達不能である;レース防御であり、カバレッジではない。インターフェースのステータスバーは700msのポーリングで更新される。 イベントは~1msで届く;バーは届かない。
macOS/Apple Siliconで検証済み。他のプラットフォームは測定されていない。
数字付きの完全なリストはdocs/LIMITATIONS.mdにあり、PROVENとMEASUREDまたはNOT PROVENの対比はPRODUCT_TRUTH_MATRIX.mdにある。
ロードマップ
ROADMAP.mdにある。そこにあるのは正当な負債であり、日付の約束ではない。
ドキュメント
ここから始める
ゼロから最初のbrowser taskまで | |
コンソール、その状態とコントロール | |
2つのモード、そしてそれらの間で変わらないもの | |
再現可能なスクリプト |
リファレンス
インストール、設定、トラブルシューティング | |
レイヤーとルート | |
動詞、ターゲット、タスクエンジン | |
製品のセキュリティと脅威モデル | |
トレイル、シール、リプレイ | |
統合 | |
何が何に耐えるか;ビジョン | |
制限、証拠、トレーサビリティ | |
バージョンの作り方;変更点 |
ブランド
NOMOSブランドはv1.0で凍結されており、公式リゾルバはrc=0で応答します。
トークンはビルドのたびにボールトから読み取られ、このリポジトリではバージョン管理されません — ブランドトークンを中間ファイルにコピーすることは、ガバナンス契約により禁止されています。docs/BRAND.mdを参照。
ライセンス
MIT。 LICENSEを参照。権利者:Voltolini-SPACE。
ライセンスはコードを対象としています。「NOMOS」および「NOMOS Browser」の商標、ならびにビジュアルアイデンティティのトークンに対する権利は付与されません。これらは別途管理され、ここではバージョン管理されません。詳細はNOTICE.mdを参照。
2026-08-25まで、このリポジトリはプレースホルダーの権利者で「全著作権所有」を宣言していました。どちらも所有者の決定であり、決定済みです。
NOMOSエコシステムの一部 · voltolini.space
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceEnables AI assistants to control a browser through a set of tools, allowing them to perform web automation tasks like navigation, typing, clicking, and taking screenshots.
- FlicenseNot gradedqualityCmaintenanceEnables AI assistants to control a browser through a set of tools, allowing them to perform web automation tasks like navigation, typing, clicking, and taking screenshots.
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to perform intelligent browser automation with session-based context analysis, including navigation, form filling, and content extraction through natural language.MIT
- FlicenseNot gradedqualityCmaintenanceEnables AI assistants to control a browser through a set of tools, allowing them to perform web automation tasks like navigation, typing, clicking, and taking screenshots.
Related MCP Connectors
AI-powered browser automation — navigate, click, fill forms, and extract data from any website.
Runtime permission, approval, and audit layer for AI agent tool execution.
A paid remote MCP for AI agent browser approval MCP, built to return verdicts, receipts, usage logs,
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Voltolini-SPACE/nomos-browser'
If you have feedback or need assistance with the MCP directory API, please join our Discord server