mcpField
V
vercel-eve

vercel-eve

github.com/magnus919エージェントワークフロー15359 回インストール今日更新
リポジトリ

vercel-eve について

Vercel Eveは、ファイルシステムを中心に永続的なバックエンドエージェントを構築するフレームワークで、agentディレクトリをアプリケーションの境界とします。型付き機能、設定可能な実行レイヤー、ワークフローやセキュリティ、デプロイの検証を必要とする開発者向けです。

主な機能

  1. 01生成されたファイル構成でエージェント動作を整理
  2. 02型付きツールと外部接続の定義
  3. 03スキル、サブエージェント、チャネル、スケジュールの分離
  4. 04サンドボックスとランタイムレイヤーの設定
  5. 05VercelまたはセルフホストNodeへのデプロイ
  6. 06認証済みセッションと永続ワークフローの検証

活用シーン

  1. 01型付きアクションと連携を備えたバックエンドエージェントの構築
  2. 02エージェントの指示、機能、チャネルの構成
  3. 03エージェントをVercelまたはNodeサービスにデプロイ
  4. 04認証済みセッションとワークフロー復旧の検証

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/magnus919/agent-skills --skill vercel-eve

インストール後、Claude Code で/vercel-eveを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

README.md
evals/
evals.json
references/
deployment-and-self-hosting.md
development-and-architecture.md
source-index.md

詳細

Vercel Eve

Eve は、ファイルシステムを中心とした、永続性のあるバックエンドエージェント向けフレームワークです。agent/ ディレクトリをアプリケーションの境界として扱い、デプロイでは、個別に置き換え可能な HTTP、ワークフロー、サンドボックス、モデル、認証情報、可観測性の各レイヤーを組み合わせます。

運用上の契約

  1. 生成されたプロジェクト構造から始めます。エージェントの動作は agent/instructions.md に、ランタイムの選択は agent/agent.ts に記述し、型付きの機能は関連するディレクトリの下にファイルごとに 1 つずつ配置します。
  2. モデルのプロンプトの外側で権限を管理します。認証情報やポリシーを指示に記述するのではなく、型付きツール、コネクション、サンドボックス境界、ルート認証を使用します。
  3. 永続性のあるセッションは、メモリ内のチャットではなくワークフローとして扱います。長時間の処理や副作用を伴う処理に依存する前に、永続化、冪等性、コールバックの到達可能性、復旧方法を定義します。
  4. セルフホストのデプロイでは、Vercel の各サービスを意図的に置き換えます。Node プロセスが起動しただけでは、ワークフローのコールバック、永続化された状態、スケジュール、サンドボックスの分離、認証、テレメトリーが機能する証拠にはなりません。
  5. ヘルスリクエストと、ワークフロー経路を実際に実行する認証済みセッションで検証します。HTTP 200 だけを本番環境への準備完了の合図と見なしてはいけません。

使用すべきでない場合

別の ai パッケージの ToolLoopAgent、WorkflowAgent、または HarnessAgent API には、これを読み込まないでください。Eve エージェントを使用しない一般的な Next.js のデプロイにも使用しないでください。ベンダーに依存しないワークフローオーケストレーションには、該当するワークフローまたはエージェントフレームワークのスキルを使用してください。

このようなリクエストがあった場合は、Eve は該当しないことを伝え、最新の AI SDK ドキュメントまたは AI SDK 専用のスキルを案内してください。このスキルを使って AI SDK の API コード、モデル設定、デプロイ手順を作成しないでください。

プロジェクトモデル

必要なものデフォルトの配置先
常時実行する動作agent/instructions.md
モデルとランタイムのオプションagent/agent.ts
型付きアクションagent/tools/*.ts
必要に応じて実行する手順agent/skills/
より対象を絞った子エージェントagent/subagents/
HTTP、Slack、その他のエントリーポイントagent/channels/
型付き外部連携agent/connections/
隔離された計算環境agent/sandbox/
OpenTelemetry の設定agent/instrumentation.ts
定期実行する処理agent/schedules/

エージェントを作成または再構成する前に、開発とアーキテクチャを読んでください。

クイックスタート

npx eve@latest init my-agent
cd my-agent
npm run dev

生成された README とパッケージスクリプトを、ローカル環境における信頼できる情報源として使用します。最小限のランタイム設定では、モデルを選択します。

import { defineAgent } from "eve";

export default defineAgent({
  model: "anthropic/claude-opus-4.8",
});

Vercel では、文字列のモデル ID は AI Gateway 経由でルーティングされ、プロジェクトの OIDC を使用できます。Vercel 以外では、AI_GATEWAY_API_KEY を設定するか、プロバイダーの通常の認証情報を使って AI SDK プロバイダーオブジェクトを使用します。BYOK によって Gateway が迂回されるとは限りません。

機能を意図的に構築する

ツール

ツールは、モデルの推論と外部アクションの間にある型付きの境界です。スキーマを絞り込み、認可と副作用の境界が明確に伝わる説明を付けます。ツールでは、型付きの入力、出力、副作用を宣言します。認証情報を保持したり権限を付与したりするものではありません。連携の認証情報はコネクションに保持し、副作用が発生する前にサーバー側で認可を適用します。

import { defineTool } from "eve/tools";
import { z } from "zod";

export default defineTool({
  description: "Look up a city’s current weather.",
  inputSchema: z.object({ city: z.string().min(1) }),
  async execute({ city }) {
    return { city, condition: "Sunny" };
  },
});

関連する場合にのみ読み込む、より大きな手順にはスキルを使用します。新しい履歴、より限定されたツールセット、または分離された中間状態が必要な作業には、サブエージェントを使用します。

認証情報と実行

型付きサービス連携には agent/connections/ を使用します。生成コードやシェル作業には agent/sandbox/ を使用します。プロバイダーキー、OAuth トークン、ルート認証のシークレットを、指示、ツールのソースコード、生成されたアーティファクト、ログに記述しないでください。

サンドボックスの設計とライフサイクルの選択については、開発とアーキテクチャを読んでください。セルフホスト用バックエンドとルーティングについては、デプロイとセルフホスティングを読んでください。

デプロイ

Vercel

Git に接続されたプロジェクトを使用するか、vercel deploy を実行します。Eve は Vercel Build Output を出力し、永続的なセッションには Vercel Workflows を使用し、通常は Vercel Sandbox を選択します。ブラウザーからアクセス可能なルートを公開する前に、スキャフォールドされたプレースホルダー認証を置き換えてください。

セルフホスト Node サービス
eve build
PORT=3000 eve start --host 0.0.0.0

これは .output/ 配下の通常の Nitro Node 出力を使用します。本番トラフィックを受け付ける前に、デプロイとセルフホスティングを読み、永続的なワークフローのストレージ、サンドボックスバックエンド、モデル認証情報のパス、認証、/eve/ と /.well-known/workflow/ のプロキシプレフィックス、スケジュールの実行、テレメトリーを明示的に検証してください。

ホストのパス、リバースプロキシ製品の設定、ストレージ製品、スケジューラーの実装は、対象環境に固有の証拠として扱ってください。対象のトポロジーが提示されていない、または調査されていない場合は、必要な要件と不足している証拠を示し、設定を捏造しないでください。

セキュリティと可観測性

  • 本番環境でブラウザーからのリクエストを受け付ける前に、プレースホルダー認証を実際のポリシーに置き換えてください。Vercel 以外では、唯一の認証手段として vercelOidc() に依存しないでください。
  • サンドボックスに付与するネットワークアクセスと認証情報へのアクセスは、必要最小限にしてください。サンドボックスは、意図的に注入されたシークレットを保護するものではありません。
  • Vercel Agent Runs は便利ですが、移植可能な運用上の証拠を得る手段として OpenTelemetry を扱ってください。トレースに機密データが含まれる場合は、recordInputs または recordOutputs を false に設定してください。
  • 個人情報、機密データ、または規制対象データについては、モデル入力、ツール引数、出力、トレースが何を保持するかを評価し、必要に応じて収集について開示してください。

検証ゲート

  1. デプロイするアーティファクトをビルドします。
  2. ヘルスエンドポイントを確認します:GET /eve/v1/health。
  3. 認証済みセッションを1つ開始します:POST /eve/v1/session。
  4. そのストリームに接続し、実際のターンが完了することを確認します。
  5. セルフホスティングの場合は、ステートレスな応答だけでなく、永続的なワークフローのコールバックまたは再開パスを試します。
  6. トレースを調査し、シークレットや機密ペイロードが含まれていないこと、または意図的にマスキングされていることを確認します。

完了条件

要求されたエージェント機能が実装され、そのルートと認可境界が明確になり、関連するローカルまたはデプロイ済みのセッションパスが証拠を伴って実行された場合にのみ、タスクは完了です。バージョン依存の動作を検証する際は、ソースインデックスを参照してください。

コメント