> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cowagent.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# v2.2.0

> CowAgent 2.2.0：機能センターの追加、マルチ Agent 協調の最適化、Web コンソールの再構築、モデルキャッシュヒット率の向上、安定性とセキュリティの全面強化

🌐 [English](https://docs.cowagent.ai/releases/v2.2.0) | [中文](https://docs.cowagent.ai/zh/releases/v2.2.0)

## 🧩 機能センター

従来の「スキル」メニューを「機能」にアップグレードし、Web コンソールとデスクトップクライアントで組み込みツール・MCP ツール・スキルを一元管理できるようにしました：

* **スキルのインストール**：Cow Skill Hub、GitHub、ClawHub からのインストール、またはアーカイブ・`SKILL.md`・フォルダのアップロードに対応しました。スキルはまず内容をプレビューし、確認後に正式にインストールされます。
* **MCP の設定**：画面上で MCP サーバーの追加・編集・削除ができ、stdio、SSE、Streamable HTTP の 3 種類のトランスポートに対応します。フォームと JSON の 2 つの編集モードを備え、1 つまたは複数の `mcpServers` 設定をそのまま貼り付けられます。保存時に接続を自動確認してツール一覧を表示し、変更は再起動なしで次のメッセージから反映されます。Thanks @tsumon (#3155)
* **ツール検索の診断**：会話中に MCP ツール検索のランキング結果とフォールバックの理由を確認でき、ツールが選ばれなかった原因を調べやすくなりました。Thanks @zhongjunqi7657 (#3165)

<Frame>
  <img src="https://cdn.jsdelivr.net/gh/zhayujie/cowagent-assets@main/screenshots/en/capabilities-overview.png" alt="機能センター" width="800" />
</Frame>

関連ドキュメント：[MCP ツール](https://docs.cowagent.ai/ja/tools/mcp)、[スキルのインストール](https://docs.cowagent.ai/ja/skills/install)

## 🤝 マルチ Agent 協調の最適化

* **タスク協調の個別表示**：Agent がチームメンバーにタスクを委譲すると、メンバーの返信はそのメンバー自身の名前とアバターで独立したメッセージとしてストリーミング表示されます。Web コンソールとデスクトップクライアントの両方に対応しています。
* **チームセッションの管理**：コンテキストをクリアすると、チームセッションの全参加者のコンテキストも同時にクリアされます。グループチャットは最初のメッセージを送る前からセッション一覧にメンバーを表示し、`@` セレクターでセッションを所有する Agent を選べるようになりました。
* **データの分離**：スキル、アップロードファイルのプレビュー、Web サイトのディレクトリなどを Agent ごとに分離しました。
* **問題の修正**：
  * Agent がチームメンバーの代わりに回答してしまう問題、更新後に Agent 自身のツール呼び出し記録が消える問題を修正しました。
  * 削除済みの Agent がメンバー一覧に残り、個別チャットでツールを使えなくなる問題を修正しました（Thanks @Frank-zhu0404 #3234）。
  * チームメンバーの構築とチャネルチームの整理でデフォルト Agent が正しく解決されない問題を修正しました（Thanks @c020627 #3205）。
  * 一部のエンドポイントで、パラメータがリクエストボディのみにある場合に Agent を正しく特定できない問題を修正しました（Thanks @c020627 #3177）。

<Frame>
  <img src="https://cdn.jsdelivr.net/gh/zhayujie/cowagent-assets@main/screenshots/en/agent-task-handoff.png" alt="タスク協調の個別表示" width="800" />
</Frame>

## 🖥 コンソールのアップグレード

* **フロントエンドとバックエンドの再構築**：Web コンソールのフロントエンドページとバックエンドの API コントローラーを機能モジュールごとに分割し、単一のコードファイルが長大化して保守が難しくなっていた問題を解消しました。フロントエンドのリソースはモジュール単位で読み込まれキャッシュされるため、ページを更新してもすべてのリソースを再ダウンロードすることはありません。各ページに独立した URL（`/agents`、`/settings`、`/scheduler` など）を割り当て、ブラウザの戻る・進むや更新後の同一ページ維持に対応し、旧 `/chat` アドレスは自動的にリダイレクトされます。Thanks @zkjqd (#3167, #3172)
* **メッセージナビゲーション**：セッション内の過去の質問へすばやく移動できます。Web コンソールではヘッダーのボタンから質問一覧を開き、デスクトップクライアントでは右側にナビゲーションバーを表示します。
* **ワンクリック更新**：サイドバーのバージョンメニューからソースコードの更新を確認し、ワンクリックで更新できます。更新前にユーザーデータを自動バックアップし、更新に失敗しても稼働中のサービスには影響しません。Thanks @tsumon (#3154)
* **返信状態の表示**：停止・中断・生成中の返信にそれぞれの状態を表示します。サービスの再起動で返信が中断された場合は明確に通知し、ページを更新した後も生成中の返信を引き続き追えます。

## 🧠 メモリとナレッジベース

* **検索結果の再ランキング**：メモリ検索でオプションの再ランキング（Rerank）モデルに対応し、取得した結果を精査して精度を高めます。デフォルトは無効で、`rerank_provider` で有効にできます。Thanks @SummerCaptain (#3230)
* **ハイブリッド検索のスコアリング**：ベクトル検索とキーワード検索の統合を順位ベースの正規化に変更し、片方にヒットがない場合にスコアが薄まる問題や、両者のスコア尺度が一致しない問題を修正しました。Thanks @SummerCaptain (#3164)
* **ナレッジベースのインデックス**：ドキュメントの削除・移動時に `index.md` を同期更新します（Thanks @alanyz106 #3237）。インデックスが大きい場合はタイトル一覧のみを注入し、会話コンテキストの過度な消費を防ぎます。
* **共有ナレッジベース**：共有ナレッジベースのパスが Agent ワークスペースの外にある場合の読み込み・同期の問題を修正しました（Thanks @lorenzozanee #3182、@Jeremy-xuan #3183）。ツールやコンソールからナレッジベースを変更すると、インデックスを更新待ちとして自動でマークします（Thanks @NBSW002 #3184、@c020627 #3206）。
* **長期記憶**：`MEMORY.md` が長さの上限を超えた場合は最新のエントリを優先して保持します（Thanks @SEVEN-us #3244）。
* **ドキュメントの分割**：長い Markdown ドキュメントで最初の見出しより前の内容がインデックスされない問題、見出しレベルが飛んだ際に内容が重複してインデックスされる問題を修正しました。`/memory status` でインデックスの再構築を案内します（Thanks @Bdysj #3309）。
* **セッションの読み込み**：セッションを開いてもメモリのスキャンとインデックスの再構築が発生しなくなり、新しいセッションの最初の応答が速くなりました。

関連ドキュメント：[メモリ](https://docs.cowagent.ai/ja/memory/index)

## 📐 コンテキストとトークンコスト

* **モデルキャッシュヒット率の向上**：システムプロンプトには当日の日付のみを残し、正確な時刻は新たに追加した `time` ツールで取得するようにしました。システムプロンプトが 1 日を通して安定するため、モデルのキャッシュヒット率が大幅に向上し、トークン消費を抑えられます。Thanks @a1094174619 (#3250)
* **コンテキストの切り詰め**：ターン数による切り詰めとトークン予算による切り詰めを、予算に基づく 1 回の処理に統合しました。予算内であれば要約の呼び出しを行わず、不要なモデルリクエストを減らします。切り詰め時も直前のターンは常に保持します。Thanks @liuns-yang (#3188)、@Frank-zhu0404 (#3199)、@lorenzozanee (#3185)
* **追加メッセージ**：モデルのストリーミング出力中に送られた追加メッセージも速やかに処理します（Thanks @tsumon #3190）。

## 🤖 モデル機能

* **新モデルの追加**：`gpt-6.1-sol`、`gpt-6-luna`、`gpt-6-sol` を追加し、`gpt-6.1-sol` を OpenAI のデフォルト推奨モデルにしました（ツール呼び出しは Responses API 経由）。`claude-opus-5-5` を追加し、Claude のデフォルト推奨モデルにしました。
* **コンテキストウィンドウ**：Claude 5 シリーズ（`claude-opus-5-5`、`claude-opus-5`、`claude-sonnet-5`、`claude-fable-5` など）を、従来の一律 200K ではなく 1M コンテキスト・最大出力 128K として扱います。Claude 4 以前は変更ありません。
* **OpenAI Responses API**：`open_ai_api_type` 設定を追加しました。`responses` に設定すると Responses API で呼び出し、`/chat/completions` を提供しなくなったエンドポイントに対応します。デフォルトの `auto` では従来の動作を維持します。
* **MiniMax**：画像認識を M3 のネイティブなマルチモーダル機能に切り替えました（Thanks @octo-patch #3160）。
* **Qwen**：`qwen3.8-max` と `qwen3.8-flash` をハイブリッド思考モデルとして扱います。DashScope のセッションでロールプラグインが設定したシステムプロンプトが使われない問題を修正しました（Thanks @Bdysj #3310）。
* **音声認識**：`whisper-1` 固定ではなく、設定した ASR モデルを使用します。
* **AnySearch**：検索地域と言語を設定できるようになり、返却結果の検証を強化しました（Thanks @WangPan59 #3153, #3163）。

## 📡 チャネル機能

* **DingTalk**：
  * `dingtalk_card_enabled` を有効にすると AI カードによるストリーミング返信に対応します（Thanks @tsumon #3162）。カードが無効、またはカードの送信に失敗した場合は Markdown 形式で返信します。
  * ファイル添付の受信に対応しました（Thanks @tsumon #3161）。
  * エラーや通知の返信が破棄される問題、ホワイトリスト外のグループメッセージで例外が発生する問題、画像を含まないリッチテキストメッセージに応答しない問題を修正しました（Thanks @Lesereingrape #3282, #3284, #3293）。
* **QQ**：
  * 音声メッセージは公式の文字起こしをそのまま使い、すぐに Agent に渡します（Thanks @HnBigVolibear #3195）。
  * ファイルの受信と Markdown 返信の表示に対応し、ドキュメント送信時に元のファイル名を保持します（Thanks @c020627 #3209）。
  * グループチャットのセッションを他のチャネルと揃え、`group_shared_session` で制御するようにしました。デフォルトではメンバーごとに独立したセッションとなり、以前のバージョンではグループ全体で 1 つのセッションを共有していました。従来の動作を維持する場合は `"group_shared_session": true` を設定してください（Thanks @c020627 #3209）。
* **Feishu**：グループチャットで他のメンバーだけを @ したメッセージには応答しなくなり、リッチテキストのグループメッセージは @ リストで判定します（Thanks @c020627 #3173）。画像とファイルの返信はメモリから直接アップロードします（Thanks @c020627 #3226）。Webhook コールバックに token の検証を追加しました。
* **WeCom**：WeCom アプリでファイルと動画の返信に対応し（Thanks @c020627 #3249）、ローカルで生成した画像の返信に対応し（Thanks @Lesereingrape #3312）、コールバックで企業 ID を検証します（Thanks @c020627 #3159）。WeCom スマートボットのグループメッセージを @ メッセージとして正しく認識します（Thanks @c020627 #3193）。
* **WeChat カスタマーサービス**：ローカルのメディアファイルの送信に対応し、ファイル返信では添付のテキストも同時に送信します（Thanks @c020627 #3262）。メッセージ取得のカーソルが適時に進まない問題を修正しました（Thanks @rudycelekli #3258）。
* **WeChat**：マルチ Agent 環境で複数のチャネルインスタンスを管理する際の問題を修正し、チャネルインスタンスの変更後もログイン状態を保持します。
* **動画の返信**：Discord、Slack、Telegram、Feishu、DingTalk、WeChat カスタマーサービス、WeChat 公式アカウントで、ローカルで生成した動画を破棄したりファイルパスだけを送ったりせず、直接アップロードして送信します（Thanks @Lesereingrape #3289, #3299, #3321、@c020627 #3297）。
* **Slack / Telegram**：Telegram で `~~~` コードブロックを正しく表示します（Thanks @huiq777 #3287）。Slack で同名のファイルが互いに上書きされなくなりました（Thanks @rudycelekli #3265）。
* **WeChat 公式アカウント**：Python 3.13 に対応しました（Thanks @c020627 #3214）。

## 🛡 安定性とセキュリティ

本リリースではタスク実行の信頼性を高め、外部リソースへのアクセスとローカルファイルへの書き込みを体系的に強化しました：

* **実行過程の永続化**：Agent の各ステップのモデル返信、ツール呼び出し、結果は、ターンの終了を待たずステップ完了後すぐにセッションデータベースへ書き込まれます。サービスの再起動やプロセスの異常終了の後は、中断されたターンを完了済みのステップとともに復元し、次のメッセージからその続きを実行できます。Thanks @liuns-yang (#3191)
* **ダウンロードの制限**：チャネルのメディア送受信、ターミナルの画像、画像認識、キーワードファイルなど外部からのダウンロードに、ファイルサイズと合計時間の上限を一律に設け、巨大なファイルや低速な接続でサービスが停滞するのを防ぎます。画像認識では画像のダウンロード時にリダイレクトのたびにアドレスを再検証します。Thanks @rudycelekli (#3255, #3256, #3257, #3264, #3266, #3267, #3268, #3269, #3270, #3271, #3272)、@c020627 (#3219, #3225, #3252, #3300, #3322)
* **リクエストのタイムアウト**：モデル、音声、翻訳など外部へのリクエストすべてにタイムアウトを設定し、上流が応答しなくても会話が止まらないようにしました。Thanks @c020627 (#3217, #3220, #3240, #3254, #3275)
* **設定の安全な書き込み**：`config.json`、プラグイン設定、モデルリスト、定期タスク、スキル設定、認証情報ファイル、`MEMORY.md` などをアトミックに書き込むようにし、書き込みが途中で失敗しても元のファイルが壊れません。定期タスクのファイルが破損した場合はバックアップから自動で復元します。Thanks @c020627 (#3223, #3239, #3241, #3242, #3259, #3273, #3274, #3276, #3279, #3280, #3281)、@rudycelekli (#3260)
* **一時ファイルの管理**：チャネルで受信したファイル名を一時ディレクトリ内に制限し、長さも制限します（Thanks @Lesereingrape #3247, #3248、@c020627 #3212, #3301）。ダウンロードしたメディア、返信の添付ファイル、音声合成ファイルは対応する Agent の一時ディレクトリにまとめて保存します（Thanks @c020627 #3198, #3207, #3208, #3213）。スキルのアーカイブの展開に失敗した場合は一時ディレクトリを削除します（Thanks @Lesereingrape #3325）。
* **ログのマスキング**：チャネルの認証情報をデバッグログ上でマスクして表示します（Thanks @fuxicodex #3228）。

## 🛠 その他の最適化と修正

* **音声**：
  * silk と、拡張子が大文字の amr 音声の変換に対応しました（Thanks @c020627 #3152）。
  * Alibaba Cloud、Edge、ElevenLabs などの音声サービスが失敗した場合、返信を黙って破棄せずエラーメッセージを返します（Thanks @c020627 #3243, #3263, #3278）。
  * WAV のファイルハンドルが閉じられない問題を修正しました（Thanks @aniruddhaadak80 #3286）。
  * Google 音声認識で例外が発生した場合、元のエラーを隠さずエラーメッセージを返します（Thanks @aniruddhaadak80 #3326）。
* **定期タスク**：夏時間の切り替えをまたいでもローカルの実行時刻を維持します（Thanks @liuns-yang #3189, #3204）。定期実行したスキルが生成したファイルは、ファイルパスではなくファイルそのものを配信します（Thanks @c020627 #3253）。
* **バックアップ**：別のファイルシステムへのバックアップ出力に対応しました（Thanks @zyc2022 #3200、@chen1070109514 #3246）。マルチ Agent のバックアップを復元する際は、このマシンの既存の Agent ワークスペースパスを引き継ぎます（Thanks @Lesereingrape #3319）。
* **プラグイン**：設定が空または不完全でもプラグインが正常に起動します（Thanks @c020627 #3224）。Midjourney で画像番号の入力が誤っている場合に通知します（Thanks @Lesereingrape #3291）。ロールプラグインでカスタムロールに説明がない場合はヘルプを返します（Thanks @Lesereingrape #3296）。管理者コマンドでプラグインの優先度設定やモデル切り替えの引数が誤っている場合に通知します（Thanks @Lesereingrape #3303, #3305）。`plugins.json` の個別のプラグイン設定が欠けていたり形式が誤っていたりする場合はデフォルト値で補完し、すべてのプラグインの読み込みが失敗することはなくなりました（Thanks @Lesereingrape #3314）。要約プラグインのファイル命名とハンドルが閉じられない問題を修正しました（Thanks @c020627 #3215）。
* **Agent の管理**：Agent を削除するとそのプロジェクトデータも同時に削除します（Thanks @c020627 #3216）。
* **Agent Mail**：Docker Compose にオプションの Agent Mail 設定を追加しました。有効にすると Agent がメールの送受信・検索・管理を行えます。詳しくは [Agent Mail](https://docs.cowagent.ai/ja/extensions/agent-mail) を参照してください（Thanks @tsumon #3236）。
* **メッセージ処理**：メッセージのコンテキストパラメータが異なるセッション間で共有される問題を修正しました（Thanks @c020627 #3222）。ファイルキャッシュの有効期限を最新のファイルを基準に計算します（Thanks @c020627 #3218）。レートリミッターがプロセスの終了を妨げる問題と、レートが 0 の場合の例外を修正しました（Thanks @aniruddhaadak80 #3285）。未対応の返信タイプではエラーメッセージに元のタイプを表示し、プラグインが返信を破棄した後に音声セッションでエラーが出なくなりました（Thanks @Bdysj #3306, #3307）。デフォルト以外の Agent で `#reset`、Feishu のメッセージ取り消し、セッション削除によって待機中のメッセージをクリアできない問題を修正しました（Thanks @Lesereingrape #3316）。
* **ブラウザツール**：ブラウザドライバーの接続が切れても自動で復旧し、エラーが出続けることはなくなりました。
* **デスクトップクライアント**：macOS でマイクの権限リクエストが表示されない問題を修正しました（Thanks @cowagent #3181）。Windows のショートカットが原因で起動時にクラッシュする問題と、バックエンドのログが重複して書き込まれる問題を修正しました。
* **エンジニアリング品質**：完全なテストフローとコードチェックのゲートを追加しました（Thanks @fuxicodex #3166, #3203）。テストの分離を改善しました（Thanks @c020627 #3169, #3201、@rudycelekli #3261）。
* **ドキュメント**：
  * 静的 Bearer 認証を使う MCP 設定の説明を追加しました（Thanks @ct-jaryn #3227）。
  * README のリンク切れとログ文言の誤りを修正しました（Thanks @yetuge #3194, #3196, #3197）。

## 📦 アップグレード方法

* **ソースデプロイ**：`cow update` でワンクリック更新するか、Web コンソールのサイドバーのバージョンメニューから更新するか、最新コードを取得して再起動します。詳しくは[アップグレードガイド](https://docs.cowagent.ai/ja/guide/upgrade)を参照してください。
* **デスクトップクライアント**：クライアント内で更新を確認してワンクリックで更新するか、[ダウンロードページ](https://cowagent.ai/download/)から最新版を入手できます。

**リリース日**：2026.09.30 | [Full Changelog](https://github.com/zhayujie/CowAgent/compare/2.1.9...2.2.0)
