mcpField
C
copilotkit-upgrade

copilotkit-upgrade

github.com/copilotkit開発38.3k2.6k 回インストール今日更新
リポジトリ

copilotkit-upgrade について

CopilotKit開発者向けに、v1からv2への移行を案内するスキルです。APIの調査や置き換え、依存関係とランタイム設定の変更を支援し、最新のドキュメントとソースを検索するMCPサーバーも含みます。

主な機能

  1. 01v1のインポートとAPIを調査
  2. 02v2での置き換え先を提示
  3. 03依存関係とランタイム設定を更新
  4. 04移行後のアプリを検証

活用シーン

  1. 01CopilotKitアプリをv1からv2へ移行
  2. 02旧フックやコンポーネントの置き換え先を確認
  3. 03現行のv2 APIの使い方を調査

MCP 対応

プラグインには、最新のCopilotKitドキュメントとソースコードを検索するsearch-docsおよびsearch-codeツールを備えたcopilotkit-docs MCPサーバーが含まれます。Claude Codeでは自動設定され、Codexでは手動設定が必要です。

インストール

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

$npx skills add https://github.com/copilotkit/copilotkit --skill copilotkit-upgrade

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

同梱ファイル

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

sources.md
references/
breaking-changes.md
deprecation-map.md
v1-to-v2-migration.md

詳細

CopilotKit v1 から v2 への移行スキル

ライブドキュメント(MCP)

このプラグインには、ライブの CopilotKit ドキュメントとソースコードを検索するための search-docs および search-code ツールを提供する MCP サーバー(copilotkit-docs)が含まれています。移行時に現在の v2 API シグネチャを調べるのに便利です。

  • Claude Code: プラグインの .mcp.json によって自動設定されるため、セットアップは不要です。
  • Codex: 手動での設定が必要です。セットアップ手順については、copilotkit-debug スキルを参照してください。

概要

CopilotKit v2 は、AG-UI プロトコル(@ag-ui/client / @ag-ui/core)を基盤として一から書き直されています。ユーザーは引き続き @copilotkit/* パッケージをインストールしてインポートします。v2 の変更は、更新された API(新しいフック名、コンポーネント名、ランタイム設定)とともに、同じパッケージ名(/v2 サブパス配下)を通じて公開されます。基盤となる @ag-ui/* パッケージは、@copilotkit/react-core/v2 を通じて再エクスポートされる内部実装の詳細であるため、ユーザーが直接インストールする必要はありません。

移行ワークフロー

1. 現在の使用状況を監査する

コードベース内のすべての v1 インポートと API の使用箇所を検索します。

@copilotkit/react-core    -> hooks, CopilotKit provider, types
@copilotkit/react-ui      -> CopilotChat, CopilotPopup, CopilotSidebar
@copilotkit/react-textarea -> CopilotTextarea (removed in v2)
@copilotkit/runtime       -> CopilotRuntime, service adapters, framework integrations
@copilotkit/runtime-client-gql -> GraphQL client, message types
@copilotkit/shared         -> utility types, constants
@copilotkit/sdk-js         -> LangGraph/LangChain SDK
2. 非推奨の API を特定する

置き換える主なフックとコンポーネントは次のとおりです。

v1 APIv2 の置き換え
useCopilotActionuseFrontendTool
useCopilotReadableuseAgentContext
useCopilotChatuseAgent
useCoAgentuseAgent
useCoAgentStateRenderuseRenderTool / useRenderActivityMessage
useCopilotContextuseCopilotKit(@copilotkit/react-core/v2/context から)
useLangGraphInterruptuseInterrupt
useCopilotChatSuggestionsuseConfigureSuggestions + useSuggestions
useCopilotAdditionalInstructionsuseAgentContext
useMakeCopilotDocumentReadableuseAgentContext
CopilotKit(ルートからのインポート)CopilotKit(@copilotkit/react-core/v2 から)
CopilotTextarea削除済み -- 標準のテキストエリアと useFrontendTool を使用
3. v2 の対応 API に置き換える

コードの変更前後の詳しい例については、references/v1-to-v2-migration.md を参照してください。

4. パッケージの依存関係を更新する

@copilotkit/* パッケージ名は変わりません。v2 で新しいパッケージ名が導入されることはありません。v2 API は既存パッケージの /v2 サブパス(@copilotkit/react-core/v2、@copilotkit/runtime/v2)から提供されます。@copilotkit/react や @copilotkit/agent パッケージはありません。最新の v2 バージョンに更新してください。

@copilotkit/react-core         -> @copilotkit/react-core (v2 symbols under the /v2 subpath)
@copilotkit/react-ui           -> chat components move to @copilotkit/react-core/v2; react-ui contributes only styles in v2
@copilotkit/react-textarea     -> removed (no v2 equivalent)
@copilotkit/runtime            -> @copilotkit/runtime (v2 symbols under the /v2 subpath)
@copilotkit/runtime-client-gql -> removed (replaced by AG-UI protocol; @ag-ui/client types are re-exported from @copilotkit/react-core/v2)
@copilotkit/shared             -> @copilotkit/shared (same package)
@copilotkit/sdk-js             -> removed (BuiltInAgent now ships from @copilotkit/runtime/v2)
5. ランタイム設定を更新する

v1 の CopilotRuntime は、サービスアダプター(OpenAI、Anthropic、LangChain など)とエンドポイント定義を受け付けていました。v2 の CopilotRuntime は、AG-UI の AbstractAgent インスタンスを直接受け付けます。

v1 のパターン(サービスアダプター + エンドポイント):

import { CopilotRuntime, OpenAIAdapter } from "@copilotkit/runtime";
const runtime = new CopilotRuntime({ actions: [...] });
// used with framework handlers like copilotRuntimeNextJSAppRouterEndpoint() (Next.js), etc.

v2 のパターン(エージェント + Hono エンドポイント):

import {
  CopilotRuntime,
  BuiltInAgent,
  createCopilotHonoHandler,
} from "@copilotkit/runtime/v2";
const runtime = new CopilotRuntime({
  agents: { myAgent: new BuiltInAgent({ model: "openai/gpt-4o" }) },
});
const app = createCopilotHonoHandler({ runtime, basePath: "/api/copilotkit" });

正式な Hono エンドポイントファクトリーとして、@copilotkit/runtime/v2 からの createCopilotHonoHandler を使用してください。createCopilotEndpoint はその非推奨のエイリアスです。新しいコードでは使用しないでください。Express の場合は、@copilotkit/runtime/v2/express から createCopilotExpressHandler を使用してください(createCopilotEndpointExpress はその非推奨のエイリアスです)。

6. プロバイダーの更新

プロバイダーコンポーネントの名前は CopilotKit のままです。変更されるのはインポートパスのみです。パッケージルート(@copilotkit/react-core)は従来の v1 プロバイダーであり、/v2 サブパスが移行先です。

v1(ルートからのインポート):

import { CopilotKit } from "@copilotkit/react-core";
<CopilotKit runtimeUrl="/api/copilotkit">{children}</CopilotKit>;

v2(/v2 からのインポート):

import { CopilotKit } from "@copilotkit/react-core/v2";
<CopilotKit runtimeUrl="/api/copilotkit">{children}</CopilotKit>;

注: @copilotkit/react-core/v2 は CopilotKitProvider コンポーネントもエクスポートします。これには移行しないでください。CopilotKit の機能の一部のみを備えており、CopilotKit は v1 と v2 間の互換性を保つブリッジとして、すべての CopilotKitProvider のプロパティを受け付けます。

7. 検証
  • アプリケーションを実行し、実行時エラーがないことを確認します
  • すべてのエージェントとのインタラクション(チャット、ツール呼び出し、中断)が動作することを確認します
  • ツールレンダラーが正しく表示されることを確認します
  • 提案が読み込まれ、表示されることを確認します

クイックリファレンス

概念v1v2
パッケージスコープ@copilotkit/*@copilotkit/*(同じスコープ、API を更新)
プロトコルGraphQLAG-UI(SSE)
プロバイダーコンポーネントCopilotKit(@copilotkit/react-core から)CopilotKit(@copilotkit/react-core/v2 から)
フロントエンドツールの定義useCopilotActionuseFrontendTool
アプリの状態の共有useCopilotReadableuseAgentContext
エージェントとのインタラクションuseCoAgentuseAgent
中断の処理useLangGraphInterruptuseInterrupt
ツール呼び出しのレンダリングuseCopilotAction({ render })useFrontendTool({ render }) または useRenderTool(レンダリング専用)
チャットの提案useCopilotChatSuggestionsuseConfigureSuggestions
ランタイムクラスCopilotRuntime(アダプター)CopilotRuntime(エージェント、@copilotkit/runtime/v2 から)
エンドポイントの設定copilotRuntimeNextJSAppRouterEndpoint()createCopilotHonoHandler()(createCopilotEndpoint は非推奨のエイリアスです)
エージェントの定義LangGraphAgent エンドポイントAbstractAgent / BuiltInAgent(@copilotkit/runtime/v2 から)
チャットコンポーネントCopilotChat、CopilotPopup、CopilotSidebarCopilotChat、CopilotPopup、CopilotSidebar(@copilotkit/react-core/v2 から)

コメント