AI Connect/How to create/作成方法
作成方法
他のプラットフォームでは実現できない5つのエンドツーエンド構成:消費者向けチャットボット、部門別コパイロット、エージェントフリート、無人の自動化、マルチテナント SaaS。いずれも単一の Application key から始まり、異なる種類のアクターを、独自のコネクタ・認証情報・ケイパビリティを持つ分離されたユーザーへと変えます。
クイックスタートは 1 つのコールを示しました。この一文をゆっくり読んでください。それが未来のすべてだからです。単一の Application key で、プロダクトのすべてのユーザーが初日から数千の AI 接続を手に入れ、各ユーザーは独自のコネクタ・認証情報・ケイパビリティで分離され、その誰一人として Vinkius に露出しない。市場のどのプラットフォームもこの一文を提供していません。このセクションの5つの完全なビルドは、それが本番でどう見えるかを示します。消費者向けチャットボット、部門別コパイロット、エージェントフリート、無人の自動化、マルチテナント SaaS。いずれも開発者が最上部から始めて、現実世界で動作する AI を完成させられるように書かれています。
その5つの下にあるプリミティブは、業界の他が提供しないものです。すなわち 行動する必要のあるあらゆるエンティティがユーザーになる ということです。業界のコスト分析によれば、このアーキテクチャを自社で構築すると3年間で6桁のコストがかかり、それでも完成し続けることはありません。AI Connect SDK では、それはゴールラインではなくスタートラインです。
すべてを解き放つ考え方
すべてのチュートリアルで同じ一行が登場します:
const user = vinkius.user(externalId);この externalId は あなたが自由に定めるもの です。Vinkius のアカウントでもなく、メールアドレスでもなく、人間でもありません。あなたのバックエンドがすでに制御している、不透明な URL セーフな文字列であり、SDK はこれをコネクタ・認証情報・ケイパビリティを隔離する境界として扱います。不透明であるため、行動を必要とするものなら何でも 命名できます:
あなたの externalId が命名するのは… | それは… | 重要な理由 |
|---|---|---|
alice_123 | 人間のエンドユーザー | あらゆる顧客が自分自身の GitHub、Slack、Gmail を持ち込む |
dept-finance | 部門 | 財務のコパイロットは財務自身のアカウント上で動作する |
triage-agent | 自律的な AI エージェント | 各エージェントが独自のコネクタと支出上限を持つ |
svc-nightly-sync | サービスアカウント | cron ジョブが人間の介入なしにデータベースを接続する |
cus_acme_u_9f2 | あなたの顧客の中のユーザー | あなたの SaaS 全体がコネクタをテナントごとに隔離して提供する |
AI Connect SDK における「ユーザー」とは、隔離された接続とケイパビリティのセットを所有すべきエンティティなら何でもよいということです。人間である必要はありません。この一つの視点の転換こそが、SDK が週末のチャットボットからエージェントフリート、そしてホワイトレーベルのエンタープライズプラットフォームまで、単一のコールを変えることなく拡張できる理由です。
これがどれほど革新的か、よく味わってください。これまで業界がリリースしたすべてのコネクティビティプラットフォームは、アプリケーション を サービス に接続するものでした。どれ一つとして、あなたのプロダクトに対して、エンティティごとの独自のユーザーモデルを、しかもコードが決して読み戻せない認証情報とともに渡したものはありません。上の一行はそれを渡します。それは、自分のアプリのためにコネクティビティをレンタルすることと、自分のユーザーのためにコネクティビティプラットフォームを所有することの、そのすべての違いです。
ビルドを選ぶ
| ビルド | 「ユーザー」は誰か | あなたが提供するのは |
|---|---|---|
| マルチユーザー消費者向けチャットボット | アカウントにつき人間1人 | あらゆるユーザーの AI がその人自身のツールを参照するプロダクトアシスタント |
| 物流企業の部門別コパイロット | 1つの部門 | 単一のアプリキーで、チームごとに1つずつの社内アシスタント |
| AI エージェントのフリート、各々を独自ユーザーとして扱う | 1つの自律エージェント | 各エージェントが範囲を限定したコネクタと独自のメータリングを持つスイーム |
| 無人の自動化とサービスアカウント | 人ではなくプロセス | ブラウザなしでシステムを接続する、スケジュールジョブ・Webhook・CI |
| マルチテナントの AI SaaS | あなたの顧客の中のユーザー | プラットフォームのあらゆる顧客のためのホワイトレーベル AI |
すべてのビルドが共有するフロー
どのエンティティをモデル化しても、ランタイムループは同一です。一度学べば、5つすべてを記憶から構築できます:
- 単一のクライアントを作成する:サーバー上で単一の Application key から作成します。
- アクターを特定する:操作の所有者である id を
vinkius.user(externalId)に渡します。 - コネクタを接続する:
user.connector('github').connect()を呼び、認証情報を一度保存したら、二度と読み戻しません。 - ケイパビリティを発見する:
user.capabilities()は、この アクターが準備できているものだけを返します。 - モデルに渡す:1つのアダプターがセットを OpenAI、Anthropic、Gemini、Vercel AI SDK、LangChain、または素の JSON Schema に変換します。
- 実行してフィードバックする:モデルのツールコールを実行します。
isErrorにより、エージェントはクラッシュする代わりに回復できます。
すでに持っているものに最も近いビルドから始めてください。サポートボットを運用しているならチャットボットから始めてください。社内プラットフォームチームなら部門別コパイロットから始めてください。次の AI ネイティブのプロダクトを提供しようとしているならマルチテナント SaaS から始めてください。各ページはプロトタイプではなくリリースできるように、本番向けチェックリストで終わります。
強みの基盤、その内部
以下のすべてのビルドは同じアーキテクチャに依存しており、それを理解することが、「統合基盤はあなたが所有しない」という約束を、マーケティングではなく信頼できるものにする要因です。
- 2つのプレーン、1つのシークレット。 REST 上の制御プレーン(
users、connectors、credentials、catalog)と、各接続のランタイムへ JSON-RPC で直接通信する実行プレーン(ケイパビリティのリストと実行)。vk_app_sk_*鍵1つで全てに到達します。ランタイムは内部で MCP プロトコルを使用しますが、それがあなたの用語に使われることは決してありません。 - 接続ごとのメータリングと失効。 各接続は独自のデータプレーントークン
vk_live_*を持ちます。支出と即時失効は接続単位であり、これにより部門・エージェント・サービスアカウントを論理的な隔離だけでなく、金銭的 かつ 運用的 にも隔離できます。 - 書き込み専用の認証情報。 あなたのサーバーはユーザーのコネクタの秘密情報を保存し、どの フィールドが設定されているかは確認できますが、あなたのコードもモデルもダッシュボードも、値を読み戻すことは決してできません。
- デフォルトでのマスキング。 Observability の
hooksには洗浄済みのデータが渡されます。Authorization、認証情報風のフィールド、vk_live_*の URL セグメントは、コールバックが実行される前にマスクされます。 - どこでもランタイム依存ゼロ。 ネイティブ
fetch、ESM/CJS デュアル、型付き、Node 18+、Bun、Deno、エッジで動作するため、同一のビルドターゲットが cron コンテナと Worker の両方をカバーします。 - 熟考されたリトライとべき等性。 一時的な障害はフルジッターバックオフで自動的に再試行され、
idempotencyKeyを宣言することが、べき等でない書き込みさえ安全に再試行できるようにする要因です。
上記のいずれもビルドごとに設定する機能ではなく、あなたが作成するすべての external_id に継承されます。この継承こそが強みです。隔離・メータリング・セキュリティの保証は、人間・部門・エージェント・プロセス・テナントのすべてに対して自動的に提供されます。
始める前に
すべてのビルドは同じ3つの前提を想定しており、インストール と 認証とスコープ で詳しく扱われています:
- Node.js 18+、または
fetchを備えた任意のサーバーランタイム(Bun、Deno、エッジ、Cloudflare Workers) @vinkius/connectのインストール済み環境- サーバーの環境変数に設定された Vinkius の App ID(
vk_app_…)と Application Key(vk_app_sk_…)
このセクションのすべてのスニペットはあなたの サーバー 上で実行されます。Application Key とユーザーのコネクタ認証情報は、ブラウザバンドル、モバイルバイナリ、モデルプロンプトに決して現れてはなりません。SDK の前に薄いバックエンドルートを配置してください。ブラウザはあなたのルートと通信し、あなたのルートが Vinkius と通信します。
準備はいいですか? 市場の他のどのプラットフォームもこのセクションをホストできません。その前提、つまりユーザーとは行動する必要のあるあらゆるエンティティである、という考えを提供しているところがないからです。ビルドをひとつ選び、あなたが定義するあらゆるユーザーのために行動する AI を完成させてください。
What you just got
Not a pitch: the properties this build inherits automatically.
Connections and capabilities resolve only inside one external_id. No cross-actor leakage is possible, and you wrote none of that enforcement.
Your server stores secrets and can read back which fields are configured, never the values. Not your code, the model, or a dashboard can exfiltrate them.
Every connection owns a vk_live_* token, so cost and revocation are per connection. One call to disconnect() is a complete, auditable stop.
One CapabilitySet converts to OpenAI, Anthropic, Gemini, Vercel AI SDK, LangChain, LlamaIndex, Workers AI or neutral JSON Schema. Only the last line changes.
idempotencyKey, timeoutMs and AbortSignal per call; automatic full-jitter retries on transient failures; typed VinkiusError branches. No bespoke harness.
Give it to your AI agent
An Agent Skill (SKILL.md) for this build. Preview the first lines below, then copy or download it into your repo under .claude/skills/: Claude Code, Cursor or any Agent-Skills-compatible agent follows it to implement this pattern correctly.
