Repository navigation
sharepoint embedded retrieval_ja
Kazushi Kamegawa edited this page Oct 24, 2026
·
1 revision
自然言語の検索文と名前による検索先選択で、SharePoint Embeddedの本文取得をContextRelayに追加する。利用導線はContextRelay内で完結し、Microsoft APIを直接呼び出す。2026-10-24のユーザーとの会話で承認済み。
| 種類 | Issue |
|---|---|
| 親 | Issue #287 |
| 子 | Issue #288 |
| 子 | Issue #289 |
| 子 | Issue #290 |
現在のSharePointとOneDrive検索はGraph Searchを使い、ConnectorsだけがCopilot Retrievalを使う。Embedded検索にはコンテナータイプを指定したRetrieval要求、アプリ権限、ユーザーのアクセス権が必要。ユーザー所有のLoopコンテナーも所有アプリはLoopであり、Microsoft所有の任意のLoopへのアクセスは確認できていない。
- 既定で無効の
contextRelay.embedded.enabledと、name、containerTypeId、enabledを持つcontextRelay.embedded.sourcesを追加する。 -
/embedded <query>は自然言語の検索文を受け取る。有効な検索先が複数なら名前で1つ選択し、1つなら直接利用し、キャンセル時は通信しない。GUIDは初期設定でのみ指定する。 - Copilot Retrievalに
sharePointEmbeddedと選択したコンテナータイプを指定する。有効時だけ委任FileStorageContainer.Selectedを要求する。コンテナータイプの登録、所有アプリによるアプリ権限付与、ユーザーの権限、従量課金、セマンティックインデックスを前提とする。 - コンテナータイプのアプリ権限を登録できるのは所有アプリだけであり、設定へのID記入では権限は付与されない。Microsoft所有のLoopのワークスペース横断アクセスを保証せず、この制約を記載する。
-
sharepoint-embeddedの結果を追加する。取得した全extractをプレビュー、Pin、HANDOFF、チャットのadditionalContextに渡し、Embedded URLを通常のファイル参照として扱わない。結果上限は既存設定を1~25に制限する。空文と1,500文字超の検索文は通信前に拒否する。 - Embeddedキャッシュはメモリー内に限定し、認証セッション、検索先、検索文、結果上限で分離する。認証や設定の変更で破棄する。検索先名とPreview/従量課金の案内を表示し、権限エラーを他ソース検索で補わない。
- 公式SPE MCPのバージョンを固定し、VS Code、Claude Code、Copilot CLI、Codexに読み取り専用で設定する。リポジトリ外の保存先を分離し、開発設定をVSIXから除外する。
- Work IQはREST/A2Aの直接APIだけを評価する。既存A2Aは生成文を返し、RESTは生成回答と引用を返すが、原文extractを返すretrieveエンドポイントは公開仕様で確認できていない。Work IQ MCPと外部エージェントの要求は対象外。OneDrive Copilot Search Previewは見送る。
- 英日仕様、セットアップ、権限設定例、API評価を整備する。権限登録例は既存アプリ許可を保持し、製品実装、サービス前提条件、未確認の実テナント動作を区別する。
- 検索、認証、設定、コマンド選択、プレビュー、Pin、グラウンディング、キャッシュ、回帰テストを実装する(#288)。
- 開発用MCPを読み取り専用で設定し、作成操作なしで起動・設定・VSIX除外を検証する(#289)。
- 英日設計とセットアップを更新し、Work IQ直接APIを評価し、実際の検証結果を記録する(#290)。
compile、lint、全ユニットテスト、依存関係のセキュリティ検証、差分チェックを行う。ビルドしたVSIXと実際のUIで検索先選択、結果・プレビュー、Pin、エラーを確認する。不正設定、キャンセル、空文・長文、スコア欠落、ゼロ件、403/404/429、認証・検索先変更を検証する。MCPハンドシェイクと読み取り専用ツール列挙は、実クライアント連携と区別する。実コンテナー・Loop、課金、権限による結果除外は許可されたテナントが必要であり、利用できない場合は未実施として記録する。ローカルテストを実テナント成功の証拠にしない。