こんにちは!Hodaです。
今回は、Stream Deck向けのプラグインを初めて開発し、Elgato Marketplaceで公開するまでの流れをご紹介します。
今回作成したのは、ボタンを押すだけで現在の日付を入力できる「Date Inserter」というWindows向けプラグインです。

たとえば、Stream Deckのキーを1回押すだけで、以下のような日付を入力できます。
20260728
2026-07-28
2026/07/28
2026年7月28日
July 28th, 2026普段、ファイル名、スプレッドシート、作業記録、ブログ記事の更新日などを入力するときに、毎回日付を手打ちするのが少し面倒だと感じていました。
非常に小さな機能ではありますが、実際に使ってみると想像以上に便利です。

この記事では重要なソースコードそのものではなく、プラグインの企画、開発環境の準備、Marketplaceへの申請、公開後に感じたことなどを中心にまとめます。
Stream Deckプラグインを作ろうと思ったきっかけ
私は普段からStream Deckを使っています。
Stream Deckというと、配信ソフトの操作や音量調整などに使うイメージが強いかもしれません。しかし、実際にはアプリの起動、ショートカットキーの実行、定型文の入力など、日常業務の効率化にも活用できます。
私の場合、記事の更新日やファイル名を入力する際に、次のような日付を頻繁に使います。
20260728日付自体は短いですが、毎回カレンダーを確認して入力するのは地味に面倒です。
そこで、
Stream Deckのボタンを押すだけで、今日の日付を入力できたら便利なのでは?
と思ったのが、今回のプラグインを作ったきっかけです。
Marketplaceを確認したところ、日時やテキスト入力に関する多機能プラグインは存在しましたが、今回の用途に絞ったシンプルなプラグインは見当たりませんでした。
競合が少なく、機能も分かりやすかったため、最初のプラグインとして挑戦してみることにしました。
今回作成したDate Inserterとは?
Date Inserterは、現在フォーカスされているテキスト入力欄に、今日の日付を貼り付けるプラグインです。
使い方は非常にシンプルです。
- 日付を入力したいテキスト欄をクリックする
- Stream Deckのキーを押す
- 今日の日付が入力される
スプレッドシート、メモ帳、チャット、入力フォーム、ファイル名など、一般的なテキスト入力欄で使用できます。
また、キーごとに異なる日付形式を設定できます。
現在は、次のような形式に対応しています。
20260728
2026-07-28
2026/07/28
2026年7月28日
2026年07月28日
28-07-2026
28/07/2026
28.07.2026
07/28/2026
07-28-2026
2026 July 28th
July 28th, 2026
28th July 2026
Jul 28, 2026
2026년 7월 28일
28 juillet 2026
28 de julio de 2026
28 de julho de 2026日本だけでなく、アメリカ、ヨーロッパ、韓国、フランス、スペイン、ポルトガルなどで使われる形式も追加しました。
最初は5種類程度でしたが、公開後のアップデートで対応形式を増やしています。
Stream Deckプラグインの開発環境
Stream Deckプラグインは、Elgatoが提供しているSDKとCLIを使って開発できます。
開発時には、主に次のものを用意します。
- Node.js
- Stream Deckアプリ
- Stream Deck本体、またはStream Deck Mobile
- VS CodeやCursorなどのエディター
- ターミナル
- Stream Deck CLI
私は普段からCursorを使っているため、今回もCursorを中心に開発しました。
Stream Deck CLIは、次のようにインストールできます。
npm install -g @elgato/cliインストール後、次のコマンドを実行すると、プラグイン作成用のウィザードが開始されます。
streamdeck createプラグイン名、UUID、開発者情報などを入力すると、基本的なファイル構成が自動生成されます。
プラグインの基本的なファイル構成
CLIでプロジェクトを作成すると、次のような構成になります。
.
├── plugin-name.sdPlugin/
│ ├── bin/
│ ├── imgs/
│ ├── logs/
│ ├── ui/
│ └── manifest.json
├── src/
│ ├── actions/
│ └── plugin.ts
├── package.json
├── rollup.config.mjs
└── tsconfig.json大まかには、次のような役割です。
src
プラグインの処理を書く場所です。
今回であれば、Stream Deckのキーを押したときに現在の日付を取得し、選択された形式へ変換して入力する処理を作成しました。
manifest.json
プラグイン名、説明、アイコン、対応OS、アクション、バージョンなどを設定するファイルです。
Marketplaceへの申請時にも重要になるため、入力内容やファイルパスを正しく設定する必要があります。
ui
Stream Deckアプリの下部に表示される設定画面を配置します。
今回のプラグインでは、ユーザーが日付形式を選択できるドロップダウンを用意しました。
開発中はwatchコマンドが便利
開発中は、次のコマンドを実行します。
npm run watchこの状態でソースコードやmanifest.jsonを変更すると、自動的にビルドされ、Stream Deck側へ反映されます。
通常のWeb開発における開発サーバーに近い感覚です。
コードを修正するたびに、プラグインを手動で再インストールする必要はありません。
初めて実際のStream Deck上で自作プラグインが表示されたときは、かなり感動しました。
今回のプラグインの仕組み
Date Inserterでは、キーが押されたときに次のような処理を行っています。
Stream Deckのキーを押す
↓
現在の日付を取得する
↓
設定された形式へ変換する
↓
Windowsのクリップボードへ一時的に保存する
↓
現在フォーカスされている入力欄へ貼り付ける外部APIやデータベースは使用していません。
すべてユーザーのパソコン内で処理されるため、インターネット接続も不要です。
ただし、貼り付け時にWindowsのクリップボードを使用するため、直前にコピーしていた内容が上書きされる可能性があります。
この点はサポートページやプライバシー説明にも明記しました。
Windows限定にした理由
今回のプラグインはWindows専用として公開しました。
macOSにも対応すること自体は可能だと思いますが、WindowsとmacOSでは、テキスト入力やクリップボード操作の仕組みが異なります。
また、macOSではアクセシビリティ権限なども考慮する必要があります。
最初のプラグインから両方のOSへ対応すると、開発や動作確認の範囲が広くなります。
今回は自分自身がWindowsを使用していることもあり、まずはWindows版に絞りました。
最初からすべてに対応しようとせず、確実にテストできる環境から始めるのがよいと思います。
日付形式をキーごとに設定できるようにした
Date Inserterでは、Stream Deckのキーを選択すると、設定画面から日付形式を変更できます。
たとえば、次のように複数のキーを配置できます。
20260728
2026-07-28
2026年7月28日
July 28th, 2026設定内容はキーごとに保存されます。
そのため、ファイル名には20260728、ブログの更新日には2026年7月28日といった使い分けができます。
最初は固定形式ごとに別のアクションを作る案も考えました。
しかし、1つのアクションから形式を選択できる方が、Stream Deckのアクション一覧が増えすぎず、使いやすいと判断しました。
プラグインUUIDは慎重に決める
Stream Deckプラグインには、固有のUUIDが必要です。
形式は次のような逆ドメイン形式です。
com.hodapress.date-inserterこのUUIDは、他のプラグインと重複しないように設定する必要があります。
また、Marketplaceで公開した後は変更できないため、事前によく考えて決めた方がよいです。
私はOrganization nameとOrganization handleをHodaPressに統一したため、プラグインのUUIDにもHodaPressを使用しました。
今後プラグインを追加する場合も、次のような形で統一できます。
com.hodapress.date-inserter
com.hodapress.text-counter
com.hodapress.url-cleanerアイコンの作成
プラグインには複数のアイコンが必要です。
たとえば、次のような用途があります。
- Marketplaceで表示されるプラグインアイコン
- Stream Deckのアクション一覧に表示されるアイコン
- 実際のキー上に表示されるアイコン
- ギャラリー用画像
Stream Deckのキーは小さいため、細かいデザインや長い文字は見えにくくなります。
Date Inserterでは、カレンダーとマウスカーソルを組み合わせたデザインにしました。
「日付」と「入力」の2つが、できるだけ一目で伝わるようにしています。
Marketplace用ギャラリー画像
Marketplaceへの申請では、プラグインの機能を紹介するギャラリー画像も用意します。
今回の画像サイズは、申請仕様に合わせて1920×960で作成しました。
当初は、対応する日付形式を1枚の画像にすべて並べようとしました。
しかし、形式が18種類まで増えると、文字が小さくなり、かえって分かりにくくなります。
そのため、画像を複数枚に分けました。
メイン画像
メイン画像では、代表的な日付形式だけを表示しました。
20260728
2026-07-28
2026/07/28
2026年7月28日
Jul 28, 2026そして、
Insert today’s date instantly
18 formats supportedというキャッチコピーを加えました。
対応形式の紹介画像
次の画像では、形式を地域ごとに分けました。
- ISO
- EU
- US
- English
- Global
すべての形式を単純に並べるより、グループ分けした方が視認性が高くなります。
使い方の説明画像
さらに、
Tap. Paste. Done.というキャッチコピーで、次の3ステップを説明する画像も作りました。
- 日付形式を選択
- Stream Deckのキーを押す
- テキスト欄へ貼り付ける
利用シーンの紹介画像
最後に、次の利用例を紹介しました。
- スプレッドシート
- ファイル名
- メモ
- 開発ログ
単に機能だけを見せるのではなく、「どのような場面で使えるか」を見せることも重要だと感じました。
サポートページも必要
Marketplaceへ公開する際は、自分のWebサイトにサポートページを用意しました。
サポートページには、次の内容を掲載しています。
- プラグインの概要
- 動作環境
- インストール方法
- 基本的な使い方
- 日付形式の変更方法
- よくあるトラブル
- アンインストール方法
- プライバシーに関する説明
特に、次のような注意点は事前に説明しておくとよいと思います。
入力欄へフォーカスする必要がある
日付を入力したいテキスト欄をクリックし、カーソルが表示されている状態でキーを押す必要があります。
何も選択されていない状態では、貼り付け先がないため正常に動作しません。
管理者権限のアプリでは動かない場合がある
Stream Deckが通常権限で動いている場合、管理者権限で起動しているアプリへ入力できないことがあります。
パスワード欄では貼り付けが制限される場合がある
アプリ側のセキュリティ設定によっては、パスワード欄への貼り付けがブロックされます。
クリップボードを一時的に使用する
プラグインは日付の貼り付けにWindowsのクリップボードを使います。
そのため、ユーザーが直前にコピーした内容が置き換わる可能性があります。
プライバシーについて
Date Inserterでは、個人情報や入力内容を収集していません。
日付の生成から貼り付けまで、すべてユーザーのパソコン上で処理されます。
外部サーバーへの送信や、アクセス解析も行っていません。
日付形式の設定は、Stream Deckによってローカルに保存されます。
シンプルなプラグインでも、ユーザーが安心して使えるように、データの扱いは明確に説明しておくことが大切です。
Organization設定で困ったこと
MarketplaceのMakerプロフィールを作成する際、Organization nameとOrganization handleを設定します。
私はOrganization nameをHodaPressにしました。
Organization handleも同じくhodapressに統一しています。
珍しいハンドルを取得したくなる気持ちもありましたが、将来的なブランドの統一を考えると、既存の活動名と揃える方がよいと判断しました。
また、Location/Regionの設定では、日本が選択肢に表示されない問題もありました。
国・地域はStripeの設定にも使用され、後から変更できないと表示されていたため、別の国を選択せず、Elgatoのコミュニティとサポートへ確認しました。
このように、申請フォームで不明な項目があった場合は、推測で進めない方が安全です。
Marketplaceへの申請
プラグインの動作確認、アイコン、ギャラリー画像、説明文、サポートページなどを用意したら、Maker Consoleから申請します。

申請時には、主に次のような情報を登録しました。
- プラグイン名
- 短い説明文
- 詳細説明
- 対応OS
- バージョン
- カテゴリー
- アイコン
- ギャラリー画像
- サポートページ
- プライバシー情報
- プラグインファイル
英語圏のユーザーが中心になるため、Marketplaceの説明文やサポートページは、基本的に英語で用意しました。
審査前に確認したこと
申請前には、できるだけ複数の環境やアプリで動作確認をしました。
たとえば、次のような場所です。
- メモ帳
- ブラウザの入力欄
- スプレッドシート
- チャット
- ファイル名入力欄
- コードエディター
また、次の点も確認しました。
- Stream Deckアプリを再起動しても設定が残るか
- 複数のキーで異なる日付形式を使えるか
- 日付が変わった後に正しい日付が入力されるか
- 貼り付けに失敗した場合に警告を表示できるか
- アンインストール後に問題が残らないか
自分の環境だけで一度動いた状態ではなく、できるだけ通常のユーザー操作を想定して確認することが重要です。
無事にMarketplaceで公開
申請後、無事にDate InserterがMarketplaceで公開されました。
初めて自分のプラグインがStream Deck Marketplaceに掲載されたときは、かなり嬉しかったです。
しかも、公開から数日間で、1日あたり約8ダウンロードされています。
非常にニッチなプラグインなので、最初はほとんど使われない可能性もあると思っていました。
しかし、毎日一定数のダウンロードがあることから、私と同じように、
今日の日付をワンタップで入力したい
と考える人が世界中にいることが分かりました。
小さな不便でも、明確な用途があれば、十分に需要があるのだと思います。
Marketplaceからの被リンクもメリット
プラグインページには、開発者のサポートページへ移動するリンクを設定できます。
このリンクは、自分のドメインへ向けた通常のリンクとして設置されます。
そのため、プラグインの公開には次のようなメリットもあります。
- 自分のWebサイトへの流入
- 開発者としての信頼性
- サポートページへの被リンク
- YouTubeや記事への誘導
- 他のプラグインの紹介
- 海外ユーザーとの接点
単純なプラグイン販売やダウンロード数だけでなく、開発実績やサイトへの導線としても価値があります。
今後複数のプラグインを公開する場合は、自分のサイトにStream Deck用の一覧ページを用意してもよさそうです。
初めて開発して感じたこと
今回、初めてStream Deckプラグインを作成しましたが、思っていたよりも開発環境は整っていました。
CLIで基本構成を作成でき、TypeScriptやHTMLを使って開発できます。
普段Web制作やJavaScriptに触れている人であれば、比較的入りやすいと思います。
一方で、コードを書くこと以外にも、次のような作業が必要です。
- アイコン制作
- ギャラリー画像制作
- 英語の説明文
- サポートページ
- プライバシー説明
- 動作確認
- Marketplace申請
- 公開後のアップデート
プラグイン本体がシンプルでも、公開まで含めると意外とやることがあります。
特にMarketplaceの商品ページでは、画像や説明文の見せ方によって、ダウンロード数も変わると思います。
最初は小さな機能で十分
最初のプラグインとしては、今回のような小さなユーティリティが向いていると感じました。
いきなり複雑な外部サービス連携や、大規模な設定画面を作る必要はありません。
たとえば、次のような小さな機能でも、Stream Deckと相性がよいと思います。
- 選択した文字の文字数を表示する
- URLからトラッキング文字列を削除する
- タイトルをURLスラッグへ変換する
- ファイルパスを別形式へ変換する
- 連番を入力する
- 選択した文章から余分な改行を削除する
- UUIDを生成する
- 最新のスクリーンショットをリネームする
重要なのは、たくさんの機能を詰め込むことではなく、
ボタンを押したときに、何が便利になるのか
が一瞬で理解できることだと思います。
まとめ

今回は、Stream Deck向けの「Date Inserter」を初めて開発し、Marketplaceで公開するまでの流れをご紹介しました。
今回の経験を通して、Stream Deckプラグインは個人開発との相性がよいと感じました。
特に、
- 日常の小さな不便を解決できる
- JavaScriptやTypeScriptの知識を活用できる
- 世界中のStream Deckユーザーへ公開できる
- Marketplaceから自サイトへ誘導できる
- 無料版から有料版へ展開できる
- ブログやYouTubeのコンテンツにもできる
といったメリットがあります。
公開から数日間でも継続的にダウンロードされており、ニッチな単機能プラグインでも需要があることが分かりました。
普段Stream Deckを使っていて、「この操作をワンタップにできたら便利なのに」と感じることがあれば、それが新しいプラグインのアイディアになるかもしれません。


