拡張をつくる
NoteDeck は入れた機能を使うだけでなく、自分で機能を足せます。足せるものは 5 種類あり、それぞれ役割と書く言語が違います。
| 種類 | 何をするもの | 書くもの |
|---|---|---|
| プラグイン | ノートやユーザーへの操作を足す。投稿の書き換え、コマンドの追加 | AiScript |
| ウィジェット | 小さな UI を置く。時計、集計、外部データの表示 | AiScript |
| テーマ | 配色を変える | JSON5 |
| カラムクエリ | カラムに流れるノートを絞り込む | AiScript のサブセット |
| スキル | AI の振る舞いを決める | Markdown |
迷ったときは「何を変えたいか」で選びます。見た目ならテーマ、流れてくるものならカラムクエリ、操作ならプラグイン、画面に置くものならウィジェット、AI の応答ならスキルです。
作成と編集は開発者モード
5 種類とも、ストアから入れる・ON/OFF する・消すのは誰でもできますが、新しく作る・中身を編集する入口は開発者モードで開放されます。新規インストールでは既定でオフです。
3 つの作り方
AI に作らせる — 一番早い方法です。先に MisStore から作者スキル(プラグイン / ウィジェット / テーマ / クエリ / スキルの各 author スキル。AiScript の文法リファレンスなど組になるスキルも一緒に)を入れておき、AI カラムで「〇〇するプラグインを作って」と頼むと、AI が書いて検証してから保存します。書き方を知らなくても動くものが手に入ります。テーマを作らせるには、権限でテーマの書き込みを許可しておきます(既定ではオフ)。
手で書く — 「ファイル → 設定フォルダを開く」で設定フォルダを開き、テキストエディタで直接書けます。開発者モードならアプリ内のエディタからも編集できます。
ストアから入れて改造する — ストアから入れたものをそのまま編集できます。動いているものを起点にするのが、ゼロから書くより確実です。編集したものには履歴が残り、前の版に戻せます。
どこに置かれるか
拡張はすべて設定フォルダの中のファイルです。アカウント情報とは別に保存され、バックアップの対象になります。ファイルの場所と役割は設定ファイルを参照してください。プラグインとウィジェットが Mk:save で残す値だけは、ファイルではなくアプリ内の保存領域にあり、バックアップには入りません。
5 種類とも、入れたものは全アカウント用とアカウントごとのプールに分けて管理します(ライブラリに置いただけで、どこでも使っていない状態もあります)。特定のサーバーでだけ使うプラグインを、他のアカウントに影響させずに有効化できます。
配る
作ったものは MisStore で配布できます。提出の手順とキュレーションの基準は MisStore 側のドキュメント(提出のしかた / 書式リファレンス)を参照してください。テーマは NoteDeck 固有の形式ではないため、素の Misskey にもそのまま配れます。