Stream DeckでObsidianやChatGPTの自動切替が効かない原因と解決策|Auto Profile Switcherで完全自動化

PC

みなさんこんにちは。KOMUSO WORKSのきょむ僧です。

今回は久しぶりにStream Deckのお話。

先日、Elgato Marketplaceを眺めていたら「ChatGPT & Codex」というPluginを見つけました。

これがなかなか便利そうで、ChatGPTやCodexの操作をStream Deckからできるだけでなく、Weeklyの利用残量を確認したり、モデルやチャットを切り替えたり、Stream Deck +のダイヤルから操作したりできるんですよ。

普段からCodexを使っている私としては、

「これは使いたい!」

となったわけです。

で、Pluginをインストールして「ChatGPT & Codex」のプロファイルも準備完了。

あとはCodexを開いたら自動的にこのプロファイルへ切り替わるようにすれば完璧!

……だったんですが。

アプリケーションの選択肢にChatGPTがいない。

またこれか……。

実は私、Stream Deckのプロファイル自動切替には以前から結構困っていたんです。

今回は「ChatGPT & Codex」をきっかけに、この問題をちゃんと調べてみることにしました。

結論から書くと、Auto Profile SwitcherというPluginを使うことで、ChatGPTだけでなく、これまで自動切替できなかったObsidianでもプロファイルの自動切替に成功しました。

同じところで困っている方の参考になればと思います。

Stream Deckでプロファイルの自動切替(Smart Profile)が必要な理由

私のPCでは、普段からかなりの数のアプリケーションが動いています。
Chrome、Codex、Claude Code、Adobe製品、Obsidian、配信関連などなど。

これらを仕事や作業内容に合わせて行ったり来たりしています。

Stream Deckにはアプリケーションごとに専用のプロファイルを作っているので、理想は単純です。
使っているアプリケーションに合わせて、Stream Deckのプロファイルも勝手に切り替わってほしい。
単なるショートカットボタンとして使うだけなら、以前使っていたLoupedeckでも良かったんですよね(笑)

せっかくStream Deckを使っているんだから、
「Chromeを開いたらChrome用」
「Premiere Proを開いたら編集用」
「Codexを開いたらChatGPT & Codex用」
という感じで、Stream Deck側がこちらの作業についてきてほしいわけです。

いちいち手動でプロファイルを切り替えるのって、地味に面倒なんですよ。
1回の操作は大したことなくても、1日に何度も繰り返す操作なら、できれば無くしたい。

ObsidianやChatGPT(PWA)で自動切替が反応しない原因とは?

Stream Deckには、アプリケーションにプロファイルを関連付けておくことで、対象のアプリケーションがアクティブになったときに自動でプロファイルを切り替える「Smart Profile」という機能があります。

便利な機能なんですが、私の環境では以前からうまく切り替わらないアプリケーションがありました。

たとえばPowerShellやObsidian。
ほかにもCodexやClaudeなどでは「Open Application」に一度アプリケーションを設定しても、しばらくするとリンクが外れてしまうことがあります。

CodexとClaudeなんて、私の環境ではほぼ毎回と言っていいくらい。
音声切替系のPluginでも似たようなことがありました。

仕方がないので「Multi Action」を使って、

アプリケーションを起動 → 指定したプロファイルへ移動

という処理を作ったこともあります。

ただ、これにも問題があります。
たとえばCodexを起動してCodex用のプロファイルに切り替えたあと、Chromeへ移動したとします。アプリケーションはChromeになったのに、Stream DeckはCodex用プロファイルのまま……。
今度は元のプロファイルへ戻るためのボタンまで必要になります。

自動化したかったはずなのに、なぜか操作が増えている。

なんとも本末転倒です(笑)
このあたりは、もしかすると以前使っていたLoupedeckの方が上手だったかもしれません。

ChatGPT.exeを直接指定すればいいんじゃない?

今回「ChatGPT & Codex」を導入したときも、Smart Profileのアプリケーション一覧にはChatGPTが出てきませんでした。

でも「Open Application」ではChatGPTが選べるんですよ。

だったら、

ChatGPT.exeを探して直接指定すればいいんじゃない?

と考えました。

私はWindowsどころかMS-DOSの頃からPCをいじっている人間なので、「とりあえず.exeを見つければなんとかなるだろう」という古い思考回路がまだ残っています(笑)

そこでタスクマネージャーからChatGPTを確認して「ファイルの場所を開く」を選ぼうとしたところ……。

選べない。
グレーアウトしています。

なんでやねん。

Microsoft Storeのアプリは、昔ながらのWindowsソフトとはちょっと違う

Microsoft Storeからインストールしたアプリケーションと、Webサイトからインストーラーをダウンロードして入れるソフトウェア。

経験的に、「なんか違う扱いになっているよね?」という感覚は以前からありました。

Windows 10あたりからでしょうか。WindowsAppsのように、ユーザーが簡単に触れない場所でアプリケーションを管理する仕組みも増えてきました。

ただ私自身、「Microsoft Store/MSIX系のアプリケーションは、従来のWindowsアプリとは管理方法が違う」と仕組みや名称まで含めて明確に理解していたわけではありません。

今回調べてみて、「ああ、なるほど。だから今までと勝手が違うのね」と。

ElgatoのSmart Profileについて調べてみると、公式ドキュメントにもUWPアプリではSmart Profileが動作しない旨が記載されています。

一方、Open ApplicationについてはWindows Storeアプリへの対応が追加されています。

つまり、

「起動することはできる。でもSmart Profileではうまく扱えないケースがある」

という、なんとも惜しい状態です。

【解決策】プラグイン「Auto Profile Switcher」の導入手順

手順1:Elgato Marketplaceからプラグインをインストール

調べている途中で見つけたのが、Auto Profile SwitcherというStream Deck用Pluginでした。

Elgato Marketplace
Auto Profile Switcher(GitHub)

これが今回の救世主。

Auto Profile Switcherは、Windowsで現在前面に表示されているウィンドウを監視して、Process Name(プロセス名)やWindow TitleをもとにStream Deckのプロファイルを切り替えるPluginです。

MSIXやWindowsApps系のアプリケーションでは、アップデートなどによって実体のパスが変わることがあります。

固定されたファイルパスではなくプロセス名を使って判定することで、こうしたアプリケーションでもプロファイルを切り替えやすくするわけです。

ここで思いました。

「あ!これ、ChatGPTだけじゃなくて今まで困っていたアプリにも使えるんじゃない?」

PowerShellやObsidianなど、うまく自動切替できていないプロファイルはほかにもあります。これで直れば「めんどくさい」がひとつ減ります。

ダメでも元々。

とりあえず使ってみることにしました。

手順2:対象アプリ(ChatGPT / Obsidian)の条件設定方法

Pluginをインストールしたら、Stream DeckにAuto Profile Switcherのアクションをひとつ配置します。

設定画面には「Test Detection」(画像の黄色枠)という機能があります。

ChatGPT Desktopを前面にした状態で確認してみると、(画像の赤枠内)

Process: chatgpt
Title:   ChatGPT
Profile: (no match)

おお。
ちゃんとChatGPTを認識してる!

(no match) はChatGPTを認識できていないという意味ではなく、まだ対応するプロファイルを登録していないということ。

きょむ僧
きょむ僧

※初めての場合は(no match) となりますが、今回の画像では私が既に設定してしまった為Profileに「Codex Supervision」と入っています。

「Add this to App List(画像の黄枠)」からChatGPTを追加して、切り替え先のプロファイルを指定します。

今回の設定はこんな感じ。

PROCESS NAME : chatgpt
TITLE MATCH  :
PROFILE      : ChatGPT & Codex

TITLE MATCHは任意です。

今回はChatGPTというプロセス自体を対象にしたいので空欄にしました。あとは設定を保存して、Profile Statusを確認します。

必要なプロファイルがreadyになっていれば準備完了です。

きょむ僧
きょむ僧

画像の赤枠がプロファイルステータス画面
緑枠がプロファイルの一覧
黄枠がステータス状況となります。

……のはずでした。

設定したのにプロファイルが切り替わらない!

ChatGPTを開く。

変わらない。

設定を見直す。

合ってる。

Stream Deckを終了して再起動。

やっぱり変わらない。

「ProfileのPatchが必要?」

「Forceってなんだ?」

「プロファイル名が違うから?」

などなど、いろいろ疑いました。

ちなみに最初、Elgato公式Pluginで作られたプロファイル名が「ChatGPT & Codex」ではなく「Codex Supervision」になっていたんですよ。

公式なのになんでやねん!

と思いつつ、

「Process NameがchatgptなのにProfileがCodex Supervisionだから反応しない?」

なんてことまで疑いました。

結論から言えば、関係ありませんでした。

あとから実際に、

chatgpt → Codex Supervision

という組み合わせでも試しましたが、問題なく自動切替できました。

Process NameとProfile名が一致している必要はありません。

では、なぜ切り替わらなかったのか?

原因はものすごく単純でした。

Stream Deckの設定画面を開いたままでは自動切替しない

Auto Profile Switcherの説明を改めて確認すると、ちゃんと書いてありました。

Stream Deckの設定画面を開いたままだと自動切替しません。

英語メインの説明だったこともあり、ちゃんと一次情報を読まずに設定を進めていた私が悪い(笑)

Stream Deckの設定画面を閉じて、別のアプリケーションからChatGPTへ切り替えてみます。

すると……

切り替わった!

やった!できたー!

しばらく悩んでいたので、喜びと安堵です。

ただ、冷静になって考えてみると、

「あ~、そりゃそうだよね」

とも思いました。

Stream Deckの設定をしている最中に、前面のアプリケーションに合わせて物理Stream Deckのプロファイルが勝手に切り替わったら、それはそれで設定しづらい。

言われてみれば当たり前なんですよね。

同じところで「設定は合っているのに切り替わらない!」となっている方は、Stream Deckの設定画面を閉じてからテストしてみてください。

ここ、結構ハマりポイントだと思います。

Obsidianでも試してみた

ChatGPTで成功したところで、最初に思ったことを試してみます。

「これ、ほかの自動切替できなかったアプリにも使えるんじゃない?」

ということでObsidianを登録。

結果は……

ちゃんと切り替わりました!

これは嬉しい。

今回の方法はChatGPT専用の裏技ではなく、これまでSmart Profileでうまく扱えなかったアプリケーションにも使えそうです。

現時点ではChatGPT DesktopとObsidianで正常に動作することを確認しています。

PowerShellやCodex、Claude Codeなど、ほかにも自動切替で困っているものがあるので、順次Auto Profile Switcherへ登録して試していこうと思います。

きょむ僧
きょむ僧
Obsidianみたいに「開いている内容でタイトルが変わる」アプリはどうする?

ここでもうひとつ注意点。
Obsidianは、開いているノートによってウィンドウタイトルが変わります。

たとえば、

今日のメモ - Obsidian

みたいな感じですね。

なのでタイトルを完全一致で指定してしまうと、別のノートを開いた途端に条件から外れてしまいます。そんなときは、Auto Profile Switcherのタイトル条件を「Contains(部分一致)」にして、

Obsidian

だけを指定しておけばOK。

これならノート名が変わっても「Obsidian」という文字は残るので、ちゃんとObsidian用のプロファイルへ切り替えてくれます。

正規表現を使うなら、

.* - Obsidian

のような指定もできます。

個人的には、単純にアプリを判別したいだけならContainsで十分かなと思います。設定はシンプルな方が、あとで自分が見返したときにも分かりやすいですからね(笑)

ChatGPTをPWAで使っている場合はちょっと工夫が必要

今回私はChatGPT Desktopを使っているので、Auto Profile Switcherからは、

Process: chatgpt
Title:   ChatGPT

と、そのままChatGPTとして認識されました。

ただし、ChromeからChatGPTをPWA(アプリ化)して使っている場合は少し事情が違います。見た目は独立したChatGPTアプリでも、中身はChromeなのでProcessは、

chrome.exe

として認識されます。

これだけだと普通にWebを見ているChromeと区別できません。

そこで、

Process : chrome.exe
Title   : Contains → ChatGPT

のように、Processとウィンドウタイトルを組み合わせて判定させます。

これなら同じchrome.exeでも、
「普通のChromeはいつものプロファイル」
「ChatGPTのPWAを使っているときだけChatGPT用プロファイル」

という使い分けができます。

こういう設定ができるのも、ProcessだけでなくTitleまで条件にできるAuto Profile Switcherの便利なところですね。

Auto Profile Switcherを使ってみた評価は80点

まだ使い始めたばかりですが、現時点での評価を付けるなら80点くらい。かなり満足しています。特に良いのは、Elgato側の対応を待たなくても、自分でプロセスとプロファイルを紐付けられるところ。

Windows側のアプリケーション管理方法は今後も変わるかもしれませんし、MicrosoftやElgato側の仕様変更によって状況が変わる可能性もあります。そう考えると、こうした問題に対してサードパーティーのPluginが素早く対応してくれる選択肢があるのはありがたい。

では、残り20点は何なのか?

まだ私自身が使いこなせていないので、どこまでできるのか分からないからです。

たとえば今回解決できたのは「プロファイルの自動切替」。

一方、以前から困っている「Open Applicationに登録したアプリケーションのリンクがいつの間にか外れる」という問題までAuto Profile Switcherが解決してくれるわけではなさそうです。

まだまだ試してみたいことがあります。

また、WindowsやStream Deck側の仕様に依存する以上、今後のアップデートで挙動が変わる可能性もあります。

その意味でも、Pluginが今後も継続してメンテナンスされることには期待したいところです。

まとめ:Auto Profile SwitcherでStream Deckの作業効率化を完成させよう

今回はElgato公式の「ChatGPT & Codex」Pluginを使おうとしたことがきっかけでした。

「Codexを開いたら自動で専用プロファイルに切り替えたい」

ただそれだけだったんですが、調べていくうちに、以前から困っていたStream DeckのSmart Profile問題までひとつ解決することができました。

Auto Profile Switcherを使えば、少なくとも私の環境ではChatGPT DesktopとObsidianでプロファイルの自動切替ができています。

これからPowerShellやCodex、Claude Codeなどにも設定していけば、長いこと積み重なっていた小さな「めんどくさい」を結構減らせそうです。

PCを使っていると、1回数秒程度の操作なんて大したことがないように感じます。

でも毎日何度も繰り返す操作なら、その数秒を無くす価値は十分あると思うんですよね。

こういう、

「別に手動でもできる。でも自動でやってくれたら嬉しい」

をひとつずつ消していくのが、PC環境をいじる楽しさなのかもしれません。

……まあ、その数秒を削減するために今回は何時間か使っているんですが(笑)

元を取れる日はいつになるのやら。

ということで今回はここまで。

KOMUSO WORKSのきょむ僧でした。

コメント

タイトルとURLをコピーしました