メインコンテンツまでスキップ

アーキテクチャ

GenKaKu が本番で動かしているものは、静的サイトかピアプロセスのいずれかです。リクエスト経路に GenKaKu のサーバーはありません。

パッケージ​

パッケージ役割
@genkaku/protocolチェーンバインディング、エスクロー課金、libp2p サイドカー、Ollama ブリッジ
@genkaku/dsh-runtime両プラグインが共有するアダプター
@genkaku/dsh-worker-pluginローカルモデルを提供する
@genkaku/dsh-user-pluginネットワークのモデルを消費する
@genkaku/seedlibp2p リレーとピア発見サービス
@genkaku/adminシードホスト用の運営コンソール

プロトコルコアは DeepSeek Harness に依存しません。これは意図的で、別のアダプターがコアに手を入れる必要はないはずです。

オンチェーン​

Base Sepolia、chain ID 84532:

コントラクトアドレス
WorkerRegistry0xFbE9FF497dC24bD69d13E4201418938Df7435Ff6
JobEscrow0x8175df796A659681009BeDa4609a3cFe9d281D82
MockUSDC(テストのみ)0xEb33DFC0424810039337a38510ef522e9E7F9727

WorkerRegistry はウォレットごとに、peer ID ダイジェスト、bytes32 のポリシーハッシュ、任意のロケーター、アクティブフラグを保存します。JobEscrow はセッションごとの USDC を保持し、ワーカーのレシート署名を検証して 99/1 に分割し、ワーカーの引き出し可能残高に加算します。1% の手数料はコントラクトの定数です。

書き込みはテストネットのみです。メインネットの経路は例外を投げます。正規の USDC とマルチシグ財務は別のローンチであり、設定フラグではありません。

データプレーン​

ワーカーは次の libp2p プロトコルを提供します。

/genkaku/open/0 session open
/genkaku/token/0 auth token
/genkaku/receipt/0 signed ledger increments
/genkaku/settle/0 co-sign a settlement
/genkaku/offers/0 offer board
/genkaku/policy/0 policy document
/genkaku/hello/0 identity, wallet proof, quote

すべてのハンドラーはリレー経由の接続(runOnLimitedConnection)を受け入れます。したがってセッションは直接かリレー経由のどちらかで、どちらも第一級です。libp2p がストリームを暗号化するため、リレーは暗号文を転送し、メタデータだけを見ます。

このビルドには DCUtR / ホールパンチングはありません。対称 NAT の背後にあるピアは、リレーを使うか到達不能かのどちらかです。

発見​

独立した 2 つの経路があります。

  1. オンチェーンディレクトリ — WorkerRegistry のイベントがウォレット、peer ID ダイジェスト、任意のロケーターを与えます。プラグインは公開 RPC 経由でログを読み、fallback リストを使います(base-sepolia.gateway.tenderly.co が最初、sepolia.base.org は eth_getLogs を 200 ブロックに制限するため最後)。
  2. シードリレー — https://staging.genkaku.app/seed は GET /peers に現在真である multiaddr を返し、直接接続できないピアにサーキットリレーを提供します。

シードアドレスはプロトコルパッケージに埋め込まれていますが、GENKAKU_BOOTSTRAP_SEEDS(カンマ区切りの multiaddr)で上書きできます。

課金モデル​

pricePerHour : 6-decimal USDC, set by the worker
unit : 1 minute (60 units per hour)
billed : ceil(elapsed / 1min) × ceil(pricePerHour / 60)

丸めは 1 時間に 1 回だけ行われ、ティックごとではありません。そのため利用者が提示された時間単価を超えて支払うことはなく、ワーカーの未請求のエクスポージャーは最大 1 分です。

有料セッションは 2 つの取引です。

  1. openEscrow(worker, pricePerHour) — 利用者 → JobEscrow、
  2. settle(...) — JobEscrow → ワーカー(99%)+財務(1%)、残りは返金。

0 の提示はエスクローなしで提供され、だからこそ無料のワーカーは ETH がまったくないマシンでも動かせます。

運営者向けの画面​

  • パネル — DeepSeek Harness 内のプラグイン自身の UI。モデル、価格、ウォレット、引き出し、支払い、手動ワーカー。
  • ステータスサーバー — 127.0.0.1 上のローカル HTTP。47821〜47826 の最初の空きポートを使い、パネルとクライアントアダプターが利用します。
  • シード管理 — シード VM 上の別コンソールで、Caddy の背後 /admin にあり、シード統計とチェーンログを読みます。ウォレット鍵は保持せず、資金も動かしません。

意図的に存在しないもの​

  • トークン、ステーキング、信用スコアトークン。
  • オーケストレーションサーバー、プロンプトのデータベース。
  • 自動のコンテンツフィルター — プロトコルには、ワーカーが見る前にプロンプトを検査するフックがありません。
  • メインネットへの書き込み経路。