kkamegawa's weblog

Visual Studio,TFS,ALM,VSTS,DevOps関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

WorkIQを使う拡張機能ContextRelay for Microsoft 365

長年(でもない)アイディアを温めていて、ようやく公開にこぎつけることができました。新しいVisual Studio Code用拡張機能です。

marketplace.visualstudio.com

Microsoft 365リソースにアクセスするという拡張機能という性格上、ソースコードも公開しています。

github.com

MicrosoftもWork IQのMCPサーバーを公開しているので、通常そちらを使えば大丈夫です。ただ、あちらはGitHub CopilotのPremium Request使っちゃうんですよね。Microsoft 365 CopilotのライセンスがあるんだからWork IQのAPIを呼び出したいと思っていたのですが、5/1からパブリックプレビューになったので、拡張機能に追加しました。

techcommunity.microsoft.com

Work IQ追加前のもともとの想定としてはGraphで対象リソースを探し、それをコンテキストにしてCopilotにハンドオフ資料を作ってもらうという想定です。

拡張機能初期セットアップ

EntraにAPIを使用するための登録が必要です。ドキュメントにも書いていますが、これだけ使います。

不要なコネクターはオプションで無効化できます。

テナントIDとアプリケーションIDを登録してください。

使い方(Graph API編)

拡張機能のウィンドウはGitHub CopilotのUI準拠にしています。コマンドパレットでcontextrelayから呼び出してください。

Microsoft 365 CopilotのライセンスがあるEntraアカウントでログインしてください。

スラッシュコマンドに/allを指定したらすべてのリソース(Exchange, Teams, OneDrive, SharePoint, To Do, Planner, OneNote, Connector)から探します。組み合わせもできます。

例えば、勤怠アプリの仕様書をOneDriveから探す場合、/onedriveを指定して「勤怠管理」と検索すると、このように出てきます。そして、pinをクリックします。

pinを立てると、そのファイルをコンテキストとしてCopilotに渡して処理されます。

もちろん複数のファイルにpinを指定してもいいです。結果はコンテキストとプロンプトに依存します。

使い方(Work IQ編)

/workiqを指定するとWorkIQを使って検索します。/workiqはほかのコマンドと排他で、優先されます。

単にチャットする

/ask を指定すると、コンテキストなしでCopilotとチャットできます。Web検索を有効にしているので、Microsoft 365 CopilotのWebでのチャットと変わらない、はずです。

後始末

/clearでチャットをクリアして新しいチャットの開始ができます。

仕様・制限事項

現在Copilot 拡張APIにモデル指定機能がないので、自動のみです。

今後の予定

APIの追従にはついていこうと思っています。/onedriveとか指定した時のレンダリングがちょっと不満なので、改良したいと思っています。

Visual Studio版も内部でテスト中です。アプリケーション IDは別になります。