UStackUStack
Linchpin icon

Linchpin

Linchpinは、AIエージェント向けの自己ホスト型ランタイム。OpenRouter(クラウド)やOllama(ローカル)対応でロックイン回避、サンドボックスとツール管理。

Linchpin

Linchpinとは?

Linchpinは、AIエージェント向けの自己ホスト型ランタイムで、多様なモデルプロバイダーやローカルモデルに対応。リクエストを異なるLLMにルーティングし、各エージェントセッションを分離環境で実行し、ビルトインおよび外部ツールの制御されたセットを提供するよう設計されています。

主な目的は、モデル/プロバイダーロックインを減らしつつ、エージェントにサンドボックス実行コンテキストとツール、認証情報、イベントストリームへの管理アクセスを提供することです。

主な機能

  • 任意のモデル、1つのアダプター: LinchpinはOpenRouter経由で約200のクラウドモデル(Claude、GPT、Gemini、Llama、DeepSeek、Mistral、Qwenを含む)にルーティング可能で、Ollamaでローカルにプルしたモデルを実行可能。エージェントごとにプロバイダーを切り替えられます。
  • セッションごとのDockerコンテナによるサンドボックスセッション: 各セッションはPython、Node、git、ripgrepがプリインストールされた専用Dockerコンテナで実行され、一貫したツール環境を提供。
  • 環境ごとのネットワーク設定: ネットワークをnone(厳格制限)またはopen egress(緩和設定)に構成可能。
  • 8つのビルトインコンテナツール: エージェントはbashreadwriteeditglobgrepweb_fetchweb_searchなどのツールを使用可能で、実行はコンテナ内に制限。
  • MCPおよびHTTPツール統合: Linchpinはstdio経由でModel Context Protocol (MCP)サーバーを接続、または任意のHTTPエンドポイントに接続。コネクターがプロセスライフサイクルと認証情報注入を管理。
  • 暗号化認証情報保管庫: 認証情報はFernet暗号化で保存。エージェントは設定で名前を参照し、セッション開始時に復号(平文ディスク書き込みなし)。
  • セッションごとの追記専用イベントストリーミング: セッションごとに追記専用イベントログを記録し、カーソルペイジネーション対応。クライアントはSSE経由でカーソル以降のイベントをリプレイしライブ更新を受信可能。

Linchpinの使い方

  1. モデル経路を選択: OpenRouter(プロバイダー選択用)経由のクラウドモデルと/またはOllama経由のローカルモデルでエージェントを設定。
  2. サンドボックスでエージェントセッションを実行: 各セッションがプリインストールツール付き専用Dockerコンテナを使用することを知って開始。環境ニーズに合わせネットワークを設定(none vs open egress)。
  3. エージェント用ツールを選択: Linchpinのビルトインツール(bash、ファイル操作、検索/フェッチ)を使用し、オプションでstdio経由のMCPサーバーやHTTPエンドポイントを外部ツールとして追加。
  4. 認証情報を安全に提供: LinchpinのFernet暗号化保管庫に認証情報を保存し、エージェント設定で名前を参照。
  5. UIやサービスにイベントをストリーム: SSE経由で購読し、カーソルペイジネーションで過去イベントをリプレイし更新を受信。

ユースケース

  • マルチプロバイダーエージェントデプロイ: 同一エージェントワークフローを異なるLLMで実行(例:Claudeで1タスク、GPTで別タスク)しつつ、ツールとサンドボックス設定を一貫。
  • ローカルモデルエージェント実行: ローカルプルモデルをOllamaで実行し、モデル場所に関わらず同一コンテナツールとセッション分離を使用。
  • サンドボックスコード/ファイルワークフロー: プロジェクトファイル編集/検索やシェルコマンド実行が必要なエージェントが専用Dockerコンテナ内で動作、必要時ネットワーク制限。
  • MCPサーバー経由ツール: 既存MCPサーバーの機能をエージェントに公開。Linchpinがstdio経由で接続し、コネクターライフサイクルと認証情報注入を管理。
  • ライブUIイベントフィード: 履歴とライブ更新が必要なインターフェース構築。カーソルからイベントログをリプレイし、SSE経由でリアルタイムストリーム継続。

FAQ

  • Linchpinは特定のモデルプロバイダーを要求しますか? いいえ。LinchpinはOpenRouter経由で多数のクラウドモデルにルーティングし、Ollama経由でローカルモデルも実行可能。エージェントごとにプロバイダー選択を構成できます。

  • エージェントセッションはどのように分離されますか? 各セッションはPythonやNodeがプリインストールされた独自のDockerコンテナで実行。ネットワークは環境に応じて制限(なし)または許可(オープンイグレス)可能。

  • エージェントが使用できるツールは何ですか? Linchpinは8つのビルトインツール(bashreadwriteeditglobgrepweb_fetchweb_search)を備え、MCPサーバー(stdio)またはHTTPエンドポイント経由で外部ツールを統合可能。

  • Linchpinは認証情報をどのように扱いますか? 認証情報はFernet暗号化されたボールトに保存され、エージェント設定で名前で参照。セッション開始時に復号され、平文でディスクに書き込まれません。

  • エージェントのアクティビティをフロントエンドにストリーミングできますか? はい。Linchpinはセッションごとに追記専用イベントログを維持し、カーソル以降のイベントを再生後、新規イベントをリアルタイムストリーミングするSSEサブスクリプションをサポート。

代替案

  • サンドボックス付き自己ホスト型エージェントランタイム: エージェントを分離コンテナで実行する代替プラットフォームは制御されたツール実行を提供;違いはモデル・ツール統合(プロバイダールーティング、MCP/HTTPサポート、イベントストリーミングモデル)にあることが多い。
  • ローカル専用エージェントフレームワーク: ローカルモデル(ローカル推論中心)に特化したフレームワークは外部プロバイダールーティングを回避するが、プロバイダー切り替えやツール/認証情報管理のレベルが異なる場合あり。
  • MCP中心のツールコネクタ: 主なニーズがMCP接続なら、MCPツール統合を重視した代替が見つかる可能性;Linchpin比でセッション分離、認証情報保存、ストリーミングの扱いを評価する必要。
  • カスタムSSE/イベントログ実装: 一部のチームはエージェントシステム周囲に独自のイベントログとSSEストリーミングを構築;トレードオフはカーソルベース再生、追記専用セッションログ、一貫したエージェントツール動作の再現に必要なエンジニアリング労力。