SeenRelay について
SeenRelayは、開発者やエージェント型システム向けに、高コストな読み取り専用検証の反復を測定し、再検証の必要性を判断するための仕組みです。シャドー監査と範囲を限定した再利用を支援し、検証の判断権は呼び出し側に残します。
主な機能
- 01ローカル静的ワークロードスキャン
- 02シャドーモードでの測定
- 03CHECKとOBSERVE操作
- 04プロセス内の呼び出し集約
- 05任意の呼び出し側所有の再利用
- 06ソースネイティブな条件付き検証
活用シーン
- 01動作を変えずに反復検証を監査
- 02再利用を有効にする前の処理量測定
- 03同一の並行読み取り専用呼び出しの集約
- 04ETagまたはLast-Modifiedによる変更確認
MCP 対応
ホストされたMCPエンドポイントは、最近の証拠を報告するCHECKとOBSERVE操作を公開します。MCPクライアントは、シャドー測定や明示的に許可した呼び出しにクライアントアダプターを利用できます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://seenrelay.com/mcpclaude mcp add --transport http ovladon-seenrelay https://seenrelay.com/mcp{"mcpServers":{"ovladon-seenrelay":{"type":"http","url":"https://seenrelay.com/mcp"}}}Cursor で開く{"servers":{"ovladon-seenrelay":{"type":"http","url":"https://seenrelay.com/mcp"}}}VS Code で開く{"mcpServers":{"ovladon-seenrelay":{"type":"http","url":"https://seenrelay.com/mcp"}}}{"mcpServers":{"ovladon-seenrelay":{"serverUrl":"https://seenrelay.com/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
2| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| fact | object | はい | 最近の共有エビデンスを確認する、情報源に基づく事実の座標。 |
| fact.source | string | はい | 安定した、認証情報を含まない絶対 HTTP(S) ソース URL。トラッキングパラメーターは削除され、認証または署名のクエリパラメーターは拒否されます。 |
| fact.locator | object | いいえ | 安定したソースネイティブのロケーター。情報源が提供している場合は、こちらを優先してください。 |
| fact.locator.value | string | はい | ソースネイティブのロケーター値。json_pointer 値は / で始まる必要があります。それ以外のロケーターのバイト列はそのまま保持されます。 |
| fact.locator.scheme | enum | はい | ソースネイティブのロケータータイプ:RFC 6901 形式の JSON ポインター、安定した HTML 要素 id、または安定したソースネイティブキー。json_pointer | element_id | source_key |
| fact.subject | string | はい | 人が読めるラベル。正規化された事実の識別には含まれません。 |
| fact.predicate | string | はい | 安定した共有マシン識別子。ロケーターがない場合にのみ識別要素となります。 |
| fact.qualifiers | object | いいえ | 識別要素となる意味的修飾子。同じ情報源に基づく事実を区別するために必要なフィールドのみを含めてください。 |
| known_value | any | はい | 最近の観測値と比較する、呼び出し元が把握している値。変動する観測内容は事実の識別に含まれません。 |
| max_age_seconds | integer | いいえ | 呼び出し元が考慮する共有観測値の最大経過時間(秒)。省略するとサービスのデフォルト値が使用されます。 |
詳細
SeenRelay
本当にもう一度確認する必要があるかを判断します。
SeenRelay は、エージェントや分散ソフトウェアの周辺で繰り返される、高コストな読み取り専用処理を測定します。まずローカル/プライベートな制御と、ソース/プロバイダー固有の制御を優先し、測定中も権威ある処理を維持して、USE 判定を得た経路だけを残します。まずはローカルで npx seenrelay scan を実行してください。候補がない場合、またはより強力なネイティブ制御がすでに優位な場合は、そこで終了します。DO NOT USE と INSUFFICIENT EVIDENCE も妥当な結果です。
現在無料 · アカウント不要 · SeenRelay API キー不要
用語: Savings Report(機械可読ラベル: Verified Savings Record)は、回避した処理とコストの出所を示す測定証拠です。請求書、請求明細、料金請求、支払い領収書ではありません。一部の SDK/API 識別子に receipt という表記が残っているのは、後方互換性のためだけです。
SeenRelay 自体にはアカウントも API キーも必要ありません。サードパーティのクライアント、ディレクトリ、ゲートウェイ、アシスタントを利用するには、そのサードパーティサービス独自のアカウントが必要な場合があります。それは SeenRelay の利用要件ではありません。正式な直接 MCP エンドポイントは https://seenrelay.com/mcp です。
インストールする前に、測定済みの証拠を確認する
Proof Atlas では、固定された意味上の契約のもとで、SeenRelay が実際のプロバイダー処理をどこまで削減したかを確認できます。
- ファーストパーティの8エージェント運用ワークロード: 2つのテナント ID にまたがる8つの部門エージェントが、承認済みの最新エビデンスを共有しながら、それぞれ独立した役割分析を維持しました。有料のウェブ検索アクションは 13 → 4 に減少し、測定されたプロバイダーコストは $0.16499684 → $0.05560972 に低下しました(総回避額 $0.10938712、今回の実行で66.30%削減)。1つのテナントは SeenRelay の実運用で、もう1つは実際のプロバイダー処理を伴う、明示的に合成された外部クライアントのリハーサルでした。
- 実際のライブイベント監視: イベント状態に変化がない間、下流向けの有料ブリーフィングは3/3のペア実行すべてで4件から1件になりました(平均総削減率79.61%)。イベントのフィンガープリントが変化すると、新たな処理が強制されました。
- 64 GB のホスト型コンピューティング: 互換性のある4つのインテントで $1.9241253 → $0.4820025(回避額 $1.4421228、総削減率74.95%) — 正確な SHA-256 タスクでは、ローカル計算が Tool Necessity で優位となるため、メカニズムのみの結果です。
- 実際の小売監視: 有界の契約のもと、状態に変化のない試行3/3すべてで Firecrawl クレジットが 4 → 1 に減少しました(75%削減)。
8エージェントの結果はファーストパーティの運用エビデンスであり、外部顧客による採用、顧客 ROI、顧客の純節約額を示すものではありません。ローカルな調整/統合のオーバーヘッドは金額換算していません。Proof Atlas のその他の項目には、制御されたメカニズムの結果も含まれます。また、削減率が高くても、高コストのツールが最適なベースラインだったとは限りません。Proof Atlas では、ベースラインの品質を個別に示しています。たとえば、64 GB の SHA-256、固定ルールの天気、固定文字列の LiteLLM、PyPI バージョンのウェブ検索の各テストは、これらのベンチマークタスクではより安価なローカル/ソース固有のソリューションが存在するため、メカニズムのみの結果です。否定的なエビデンスも公開しています。
人間が読めるエビデンス: https://seenrelay.com/proof
機械可読なエビデンス: https://seenrelay.com/proof.json
SeenRelay が判断すること
SeenRelay は、次の1つの問いを中心に設計されています。「Xをすでに知っているとして、今またXを検証するために料金を支払う必要があるか?」
CHECK は、他者の生の結果を検索する機能ではありません。呼び出し元が、既知の値、決定論的でソースに裏付けられた事実の識別情報、および独自の鮮度ウィンドウを指定します。SeenRelay は互換性のある最近のエビデンスを報告し、再検証するかどうかの決定権は呼び出し元に残します。
ソースに裏付けられた少数の公開事実には、正式なスターター記述子を https://seenrelay.com/starter-facts.json から使用してください。これらが公開するのは識別メタデータのみで、観測値、推奨 TTL、再利用許可は含まれません。決定レイヤーの根拠の詳細: docs/DECISION_LAYER.md。
SeenRelay が適しているかどうかわからない場合:ワークロード監査を依頼する
高コストな読み取り専用処理が繰り返されているように見えるパブリックなワークロードがある場合は、何かをインストールする前に、ネイティブ優先の事前審査を依頼できます。
https://github.com/ovladon/seenrelay/issues/new?template=audit-my-workload.yml
最初の回答は 収集前に却下、シャドウモードで測定、または 証拠不十分 となる場合があります。ローカル、ソースネイティブ、またはプロバイダーネイティブの制御手段が優位となる結果も、成功とみなされます。
最速の開始方法:コーディングエージェントに SeenRelay を導入する
Claude Code は、このリポジトリの検証済みセルフホスト型マーケットプレイスから SeenRelay を継続的にインストールできます。
claude plugin marketplace add ovladon/seenrelay
claude plugin install --scope user seenrelay@seenrelay
この直接インストール経路はリポジトリでホストされており、Anthropic マーケットプレイスの承認を意味するものではありません。ホスト型 MCP エンドポイントが自動的に接続されたり、再利用が有効になったりすることはありません。
ほかの Agent Skills クライアントでは、正規ドメインを使用できます。
npx skills add https://seenrelay.com --skill seenrelay --yes
次に、以下のように依頼してください。
Run a SeenRelay shadow audit on this project. Find repeated expensive read-only validations, preserve every authoritative call, measure stronger local/source/provider-native controls first, do not enable reuse, and return USE / DO NOT USE / INSUFFICIENT EVIDENCE for each measured workload.
または、以下の開発者向け手順を利用してください。監査方法の詳細については、docs/SHADOW_AUDIT.md をご覧ください。
インストール: npm install seenrelay · pip install seenrelay · クライアント v0.2.30 · 現在無料 · アカウント/API キー不要。
コード不要のローカル事前審査
アプリケーションコードを変更する前に、リポジトリに、繰り返し発生する可能性のある高コストな読み取り専用の検証経路が実際に含まれているかどうかを確認してください。
npx seenrelay scan
スキャンはローカルでのみ実行されます。SeenRelay への接続、ソースコードのアップロード、プロジェクトの変更は行いません。CANDIDATE_FOR_SHADOW_MEASUREMENT、NATIVE_CONTROL_FIRST、NEEDS_RUNTIME_EVIDENCE、NO_ELIGIBLE_CANDIDATE_FOUND など、証拠が確立する前の状態のみを報告します。静的解析によって USE が返されたり、再利用が許可されたりすることはありません。
オプションの GitHub Actions コスト事前審査
チームは SeenRelay のアカウントや API キーを使わずに、同じローカル限定の静的事前審査を CI で実行できます。
- id: seenrelay
uses: ovladon/seenrelay-cost-prescreen@v1
このアクションは GitHub ランナー上で実行され、SeenRelay サービスには接続せず、ソースコードを SeenRelay にアップロードしません。また、再利用を有効にしたり、USE 判定を返したりすることもできません。チーム内で確認できるジョブサマリーに加え、静的ステータスと次の非変更型の判断に関する機械可読な出力を生成します。
無料のシャドウ監査:アプリケーションの動作を変えずに測定する
Ambient は、既存の MCP 形式のクライアントをローカルのシャドウモードでラップします。正規の呼び出しは引き続き実行され、SeenRelay は完全に一致する繰り返しを測定してローカルレポートを生成します。
JavaScript / TypeScript:
npm install seenrelay
import { ambientMcpClient } from 'seenrelay/ambient';
const client = ambientMcpClient(rawMcpClient);
// use client.callTool(...) normally
console.log(client.seenRelayAmbient.getReport());
Python:
pip install seenrelay
from seenrelay_ambient import ambient_mcp_client
client = ambient_mcp_client(raw_mcp_client)
# await client.call_tool(...) normally
print(client.get_report())
既存のワークロードを実行し、制限付きの再利用を有効にする前にレポートを確認してください。共有 CHECK は引き続きオプションであり、Zero-State ではデフォルトで無効です。
SeenRelay は、読み取り専用の検証を繰り返し実行するための、プロバイダーに依存しない再利用レイヤーです。ホスト型のドメイン操作は CHECK と OBSERVE の2つだけで、普遍的な真実ではなく、最近の観測結果を報告します。
現在の JavaScript/TypeScript および Python クライアントには、複数シグナルによる共有証拠の保証ヘルパー、決定論的な Fact Coordinate Kit v1、プロバイダーに依存しない Zero-State が含まれます。Python Zero-State は、明示的な読み取り専用の処理中/ローカル再利用、呼び出し元が所有するプライベート L1、正規のフォールバック前のソースネイティブな条件付き検証をサポートします。従来の Python API と Python Ambient アダプターは、デフォルトで引き続きシャドウ優先です。共有証拠は呼び出し元が明示的に定めるポリシーであり、真実や現実世界における独立したアクターの存在を証明するものではありません。また、安定したソースネイティブのロケーターが共有ファクト記述子をサポートしない限り、MCP/OpenAPI の座標はローカルの繰り返し判定キーとして扱われます。プロバイダー固有のアダプターはオプションです。
避けられること
観測情報が共有されていなくても、次のことが可能です。
- 条件を満たす同一の呼び出しが同時に行われた場合、プロセス内でまとめて処理できます。
- 完了した読み取り専用の結果は、呼び出し元が明示的に定義した鮮度ウィンドウ内でのみ再利用できます。
- オプションの暗号化された呼び出し元所有の L1 ストレージにより、ワーカー間や再起動後も値を再利用できます。
- ETag / Last-Modified により、共有 CHECK を使わずに、ソース標準の条件付き確認を行えます。
- Zero-State では共有 CHECK はオプションであり、SeenRelay をインストールしただけでホットパスに置かれることはありません。
- 真に新しい独立した検証の後、OBSERVE によって、後続の呼び出し元に役立つ可能性のある証拠を追加できます。
アクセスは現在無料で、アカウントや API キーは必要ありません。
まずはこちら
- 意思決定レイヤー:
docs/DECISION_LAYER.md - 正規のスターターファクト:
https://seenrelay.com/starter-facts.json - 無料のシャドー監査:
docs/SHADOW_AUDIT.md - Claude Code の永続インストール:
claude plugin marketplace add ovladon/seenrelayの後にclaude plugin install --scope user seenrelay@seenrelay - その他のコーディングエージェントへのインストール:
npx skills add https://seenrelay.com --skill seenrelay --yes - 公開インストール:
npm install seenrelayまたはpip install seenrelay - JavaScript / TypeScript Zero-State:
clients/typescript/README.md - フリートのコスト効率:
https://seenrelay.com/economics - クライアントの概要:
clients/README.md - 統合方法と MCP のセットアップ:
docs/CLIENTS.md - クイックスタート:
docs/QUICKSTART.md - プロトコル仕様:
docs/PROTOCOL.md - Web クイックスタート:
https://seenrelay.com/quickstart - Web クライアントの統合:
https://seenrelay.com/clients - MCP エンドポイント:
https://seenrelay.com/mcp - 公式 MCP レジストリ:
io.github.ovladon/seenrelay - OpenAPI:
https://seenrelay.com/openapi.json - マシン記述子:
https://seenrelay.com/service.json - マシン向けインデックス:
https://seenrelay.com/llms.txt
仕組み
対象となる JavaScript/TypeScript Zero-State の呼び出しでは、次の順序が推奨されます。
- 安全な場合は、プロセス内で完全一致する結果を再利用/呼び出しをまとめて処理します。
- オプションで、呼び出し元所有のプライベートな再利用を行います。
- 利用可能な場合は、ソース標準の条件付き確認を行います。
- 設定されていて有用な場合は、オプションで共有 SeenRelay CHECK を行います。
- フォールバックとして、アプリケーション本来の検証を行います。
- 貢献の対象となる、新しい独立した検証の後にのみ OBSERVE を行います。
直接 REST/MCP を使用する場合や従来型のラッパーでは、CHECK と OBSERVE はこれまでどおり利用できます。
CHECK のステータスには、SAME_OBSERVED、CHANGED_OBSERVED、CONTESTED、STALE、UNKNOWN があります。
SAME_OBSERVED は、同じ決定論的ファクト ID に対して、最近同じ値が観測されたことを意味します。これは真偽の判定ではありません。証拠が自身のポリシーに照らして十分かどうかは、利用するエージェントが判断します。
JavaScript / TypeScript Zero-State
import { SeenRelayZeroState } from 'seenrelay/zero-state';
const edge = new SeenRelayZeroState({
localMaxAgeMs: 30_000
});
const result = await edge.guard({
coordinate: {
tool: 'catalog.read',
arguments: { id: 42 }
},
validate: async () => expensiveRead()
});
console.log(result.value);
完了した結果のデフォルトの鮮度ウィンドウは 0 です。SeenRelay は任意の呼び出しに TTL を設定しません。ミューテーション/破壊的操作を抑制してはなりません。汎用コアは、ツール名、説明、信頼できない注釈から読み取り専用の安全性を推測しません。
MCP クライアントでは、seenrelay/mcp-auto を使い、明示的に許可リストに登録した callTool() 操作を一度のバインドで処理できます。リストにないツールは変更せずに通過します。
従来型のシャドー優先パス
従来の JavaScript/TypeScript および Python API も引き続き利用できます。明示的な再利用ポリシーがない場合、CHECK を行い、元の検証を維持して、独立して取得した結果をベストエフォートで OBSERVE します。
const relay = new SeenRelayClient();
const validatePrice = relay.protectValidation({
fact,
validate: ({ conditionalHeaders }) => existingValidation(conditionalHeaders)
});
const value = await validatePrice(knownValue);
Python では同等の protect_validation(...) パスを利用できます。従来型の上限付き再利用を有効にする前に、公開 CHECK の証拠を測定したい場合は、Shadow Proof を使用してください。
ソースネイティブな再検証
鮮度を推測するより、ソースネイティブなバリデーターを使うことが望ましいです。保持されたレスポンスに安全な ETag または Last-Modified バリデーターが含まれている場合、後続の適格な検証では If-None-Match または If-Modified-Since を試すことができます。304 Not Modified レスポンスは、SeenRelay ではなくソースからの確認です。
従来の CHECK/OBSERVE パスでは、オブザーバーが提供する ETag / Last-Modified メタデータを、未検証であることを明示した条件付きリクエストのヒントとして渡すこともできます。ソースによる確認を必要とするかどうかは、引き続き呼び出し元が決定します。
任意のプライベート L1
JavaScript/TypeScript Zero-State では、呼び出し元が提供するプライベートストアとコーデックを使って、ワーカー間や再起動後も再利用できます。SeenRelay は AES-256-GCM コーデックヘルパーを提供します。鍵、ストレージ、名前空間は呼び出し元が管理します。
プライベート L1 を有効にしただけで、プライベート値が公開 SeenRelay サービスに送信されることはありません。ストアまたはコーデックで障害が発生した場合は、フェイルオープンし、アプリケーションの通常の検証パスに移行します。
ファクトの識別情報
SeenRelay は、バージョン管理された seenrelay-fact-v3 識別情報コントラクトを使用します。識別情報の優先順位は次のとおりです。
- 安定したソースネイティブのロケーター(
json_pointer、element_id、source_key); - 安定したロケーターがない場合は、正規化された機械可読の述語。
人が読める subject テキストと変更されうる観測内容は、ファクトキーに含まれません。ソース URL はブラウジングせずに決定論的に正規化されます。認証情報または署名を含むソース URL は、状態を伴う受け入れ処理の前に拒否されます。
完全な仕様については、docs/PROTOCOL.md を参照してください。
オブザーバーの来歴
OBSERVE は、任意で、トランスポートに依存しない ed25519-v1 の秘密鍵所持証明に対応しています。有効な証明によって確認できるのは、鍵の所持、継続性、ペイロードの完全性です。法的な身元、現実世界における独立した行為者の身元、または真実性を証明するものではありません。
仲介プロバイダーのキャッシュヒットは、別の呼び出し元が受け取ったというだけで、新たな独立した OBSERVE として再分類されることはありません。
アクセスと貢献
SeenRelay は、アカウントを作成せずに利用できる、署名付きの一時的な運用リースを発行します。現在、CHECK と OBSERVE は無料で利用できます。貢献クレジットは、生の投稿量ではなく、その後の条件を満たした再利用に基づきます。
Hive クラスが示すのは運用上の貢献のみであり、身元や真実性のスコアではありません。
公開インターフェース
正規ドメインは seenrelay.com です。
/に対するブラウザーのAccept: text/htmlリクエストには、公開ランディングページを返します。/に対する汎用/API リクエストには、機械可読なディスクリプターを返します。/service.jsonでは、明示的な機械可読ディスクリプターを公開します。/public-stats.jsonでは、プライバシーに配慮した集計アクティビティを公開します。/openapi.jsonでは、REST コントラクトを公開します。/mcpでは、MCP2026-07-28を公開します。/quickstartと/clientsでは、統合手順を提供します。
製品の境界
SeenRelay 自体は、ファクトソースのブラウジングや検索、その場での外部検証、真偽を判断するための LLM 呼び出し、共有型の汎用エージェントメモリの公開を行いません。UNKNOWN は、十分に新しく再利用可能な共有観測がないことを意味するだけです。
クライアント側のアダプターは、ソースネイティブな検証を利用したり、既存のプロバイダーと統合したりできます。ただし、プロバイダーアダプターは任意であり、プロバイダーに依存しないコアの依存先にはなりません。
アーキテクチャ
- Vercel のマネージドデプロイ
- Neon Postgres の状態ストア
- Hono + TypeScript / Node 22
- REST/OpenAPI
- 公式 v2 サーバー SDK を通じた MCP
2026-07-28 - プロバイダーに依存しない JavaScript/TypeScript Zero-State クライアントと、従来型の JavaScript/TypeScript および Python ラッパー
- ランタイム運用とインシデント制御のための、認証済みユーザー専用 Control Room
A2A は監視対象ですが、実装済みの製品インターフェースとしては案内していません。
検証
npm run check では、TypeScript のチェック、製品のガードレール、本番依存関係の監査、構造テスト、ランタイムテストを実行します。Package Validation では、ビルド済みの npm/PyPI アーティファクトをクリーンインストールします。Preview Release Gate では、必須の Preview ランタイムコミットに対して REST、MCP、ファクトの同一性、セキュリティ境界、ランタイム制御、再利用の計上を追加で検証します。途中のすべてのコミットが Vercel ランタイムの範囲外である場合に限り、後続のサービング SHA を受け入れます。
ビルドには、コミット済みのロックファイルと npm ci を使用します。
メンテナンス
Dependabot と Standards Watch は、分離されたメンテナンス作業を準備します。本番環境への変更には、互換性、セキュリティ、CI、Preview の各検証ゲートが引き続き適用されます。
ブートストラップ
npm ci
npm run check
# DATABASE_ADMIN_URL must be set only for this migration command
npm run db:migrate
デプロイの詳細は docs/DEPLOYMENT.md をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。