お知らせ:0.37.6以降、テンプレート機能が導入され、公式サイトにあるusercommand.jsのサンプルを直接利用する方法は非推奨となりました。
ユーザーが自分でSikiに好きなコマンドを追加できる「ユーザーコマンド」の使い方と設定サンプル集。
0.37.6以降であればSiki内部の設定から簡単に追加/編集できる。
デフォルトで提供されているテンプレのコマンドをいくつか追加するだけでもぐっと便利になるので、一通り眺めておくと良いだろう。
- 基本的な使い方は公式サイトの「ユーザーコマンド」も参照。
- ユーザーコマンドの追加ではなく、既にあるコンテキストメニューを編集したい場合はこちらを参照。
- 実証実験中のコマンド連続実行機能については「シーケンス」を参照。
- ユーザーコマンドの編集方法
- 特定掲示板サイトのスレタイ検索を追加する方法
- その他の各種掲示板検索を追加
- 掲示板検索以外の機能を追加
- レスのメニュー系
- 選択文字列系
- 選択文字列のメニューに「Googleで画像検索」を追加
- 選択文字列のメニューに「Google翻訳」を追加
- 選択文字列のメニューに「Deepl翻訳(EN→JA)」を追加
- 選択文字列のメニューに「Amazon補完」を追加
- 選択文字列のメニューに「Twitterで検索」を追加
- 選択文字列のメニューに「Yahoo!リアルタイム検索で検索」を追加
- 選択文字列のメニューに「Wikipediaで検索」を追加
- 選択文字列のメニューに「Weblio辞書で検索」を追加
- 選択文字列のメニューに「ニコニコ大百科で検索」を追加
- 選択文字列のメニューに「ピクシブ百科事典で検索」を追加
- 選択文字列のメニューに「ChatGPTで検索」を追加
- 画像URL系
- URLメニュー系
- デフォルトの検索設定を使った検索を追加する方法
- Siki内蔵のコマンドをユーザーコマンドとして割り当てる
- 板タブのメニューに「タブをまとめて閉じる」系のコマンドを追加
- スレタブのメニューに「全てのタブをお気に入りに追加」を追加
- レスのメニューに「報告形式でコピー」を追加
- レスのメニューに「フィルター入力欄を表示」を追加
- URLのメニューに「URLをミュート」を追加
- 画像URLやサムネイルのメニューに「画像URLをミュート」を追加
- スレタイ+URLコピー(スレのキーボードショートカット用)
- スレタブとレスのメニューに「外部ブラウザで最新10レスを開く」を追加
- 板タブとスレタブのメニューに「ブラウザビューで表示」を追加
- レスとスレ一覧のメニューに「SETTING.TXT表示」を追加
- IDのメニューに『IDを「ID:」部分なしでコピー』を追加
- 選択文字列のメニューに「定型文へ追加」を追加
- フィルターの項目を複数同時に選択
- 設定画面を直接開く
ユーザーコマンドの編集方法
『設定 > ユーザーコマンド』からユーザーコマンドをGUIで編集できる。
- 白紙状態から作成したい場合は「新規作成」ボタン
- 既存のテンプレートから追加したい場合は「テンプレ」ボタン
- 追加済のコマンドを編集したい場合は鉛筆アイコン✏️
をクリック。
追加済のテンプレートをそのまま再度追加することはできないが、コマンドIDを変更すると追加可能になる。コマンドを自作する時のベースとして利用すると良いだろう。具体的な編集例は後述を参照。

編集画面、および後述のusercommand.jsの各項目の意味は以下の通り。
| GUI項目名 | usercommand.jsでのキー | 解説 |
| コマンドID | (ff5ch.search.asboard など) | コマンド名。新しくコマンドを作成する際は、自由に決めて良いが他と被らないように注意。 |
| ラベル | label | コンテキストメニューに表示されるラベル名を指定。このラベル名の末尾に「(&○)」と書いてアクセスキーの指定も可能(通常はacceleratorで指定)。 |
| 実行モード | (command, sequence) | 連続実行(シーケンス)の指定。連続実行にするとコマンドを複数指定できる。 |
| コマンド | command | 実行コマンドを指定。コマンド名はコマンドパレットで調べられる。 |
| パラメータ | params | 実行コマンドに渡すパラメータ(引数)を指定。パラメータに使えるOBJECTの詳細はこちらを参照。 ※一部パラメータはGUI未対応。 |
| メニューに表示する条件 | cond | 特定のURLでのみ出現するようにできる。複数URLの指定は不可能。「カスタム」選択時の例1:"sitename=reddit.com"でRedditを開いている時だけ出現 例2:"url"でurlが選択されている時だけ出現。 |
| メニューに表示する位置 | attach | どこのコンテキストメニューに表示するかを指定。指定しなければコンテキストメニューには表示されないコマンドになる。 "res"はレス、"selected"は選択文字列、"id"はID、"image"は画像、"url"はリンク、"board"は板タブ内のスレ一覧、"tab.thread"はスレタブ、"tab.board"は板タブに表示。 |
| メニューのアクセスキー | accelerator | メニュー表示時に押して実行するアクセスキーを指定。 |
| アイコン設定 | icon_set | アイコンを指定。CUIの場合は『…\profile\components\』内の「menu-icon-dark」「menu-icon-light」にあるものを指定。中身はFont Awesome。 |
| 〓 | order | GUI上での並び順。 |
| ---- | "emit"固定だったが、0.37.6で廃止。以前の設定は自動削除される。 |

ユーザーコマンドを追加すると、ショートカットキー/マウスジェスチャ/パネルアクション/スーパードラッグでもコマンドの1つとして指定可能になる。
※選択範囲系のコマンドはショートカットキー/パネルアクションに入れても対象を認識できず使えない。また、マウスジェスチャでも使えないため、マウスに割り当てる場合はスーパードラッグに割り当てる。
usercommand.jsの直接編集
ユーザーコマンドは『…\profile\components\usercommand.js』というファイルに格納されており、Sikiを終了させてこのファイルを直接編集することもできる。このページに掲載されているユーザーコマンド例などを追加したい場合や、まだパラメータ編集に対応していないコマンドを含むユーザーコマンドを作りたい場合などにはこの方法を用いると良いだろう。
コマンドを新規追加する場合には、画像の要領で他のコマンドに並ぶよう挿入する。カンマ抜けに注意。ファイル最後の閉括弧「}」の前が良いだろう。(後ろはダメ。)
コメントや無効なキーを記載しても、次回起動時に自動で削除される。

Siki起動中に編集しても反映されず、Siki終了時などに上書き消去されてしまうので注意。(GUIで編集した場合は即時反映される。)
また、Siki起動時に、usercommand.js(に限らず設定ファイル全般)が「破損」していると、そのファイルは破棄されデフォルトのもので上書きされてしまう。
括弧の対応ミスなどのような些細なシンタックスエラーでも簡単に消えてしまうので、編集した後は必ずバックアップを残しておこう。
usercommand.jsのサンプルファイルについて
公式サイトでusercommand.jsのサンプルが配布されているが、先述のテンプレとしてSiki内に組み込まれたため、このファイルで上書きして直接使用することは推奨されなくなった。
どうしても古いバージョンのSikiを使い続けなければならない場合を除き、設定集として眺めたり、自作コマンドの叩き台として切り出して使ったりするだけにしておこう。
既にサンプルを利用していた人は、
- 一度削除(リネーム)してデフォルトのものを再作成させた上で
- 自作したコマンドがあれば末尾に再追加し
- サンプル由来のコマンドは必要なものだけをテンプレから追加し直す
と良いだろう。
古いサンプル由来のユーザーコマンドはコマンドIDに「res:」のようにコロンが含まれている場合があり、そのままでも動作はするが、GUIで編集する場合は改名しないと保存ボタンが押せなくなる。
パラメータの渡し方
ユーザーコマンドのパラメータ(params)ではいくつかの変数を参照できる。これにより、呼び出すコマンドに必要な情報を(加工して)渡すことができる。
代表的なものは以下。フルの変数名も1文字の省略名も機能は同じである。
| 変数名 | 説明 |
| ${TEXT} ${T} | ユーザーコマンドに渡された選択文字列などのパラメータ。 |
| ${OBJECT} ${O} | ユーザーコマンドが呼び出された時のスレやレスなどの文脈情報。後述のプロパティを呼び出すために使う。 |
パネルアクションやマウスジェスチャなどからの呼び出しでは上記を渡せないため、一部のユーザーコマンドが期待通りに動作しない場合がある。
OBJECTの主なプロパティ
${OBJECT}はデータの集合体なので、通常は以下の形式で個別のプロパティを呼び出して使用する。
${OBJECT.プロパティ名}
判明しているプロパティの詳細は以下の通り。
https://egg.5ch.io/test/read.cgi/software/1675213433/925-960
960: RomTenma sage 2023/03/30(木) 22:08:46.20 ID:9nEas6zh0
>>934
スレッドとレスのオブジェクトを混ぜたものが入っているのでそこから引っ張って来れます
使えそうなのはこの辺ですかねbody レス本文 mail レスのメール欄 mname レスの名前欄 nickname レスのニックネーム id レスのID id2 レスのSLIP num レスの番号 an レスの最初を0として数えた順番(最初のレス番号が1なら レス番号- 1) title スレッドのタイトル location スレッドのurl server スレッドのサーバー board スレッドの板 threadkey スレッドのキー chars レス本文の文字数 timestamp レスの投稿日時(ミリ秒)
「location」はスレッドのURLだけでなく、実際にはコンテキストメニューを呼び出した対象が持っているURLが入っている模様。そのため、板から呼び出せば当然板のURLが返ってくる。タブも同様。
OBJECTのプロパティはcontextmenu.jsでも使用できるようだが、コンテキストメニューを呼び出した対象によって使用できるものとできないものがあるようなので注意。
文字列の変換
TEXT(T)やOBJECT(O)には(知られている限りで)以下のような変換メソッドが利用できる。
| メソッド名 | 説明 | 記述例 |
| urlencode urldecode | URLに適した文字列に%エンコード/デコードする。 | ${TEXT:urlencode} |
| numref denumref | 数値参照(#&***;)へ変換する/から戻す。 | |
| base64 | base64でエンコードする(btoa)。 | |
| astext | タグを除去する。 | |
| replace([正規表現<>置換後の文字]) | 文字列を全て置換する(gフラグ相当)。 | ${T:replace([(\d)(\d)<>$2$1])} ※連続する数字を入れ替えるサンプル |
| timeformat | 時刻を任意の書式に変換する。 | ${OBJECT.timestamp:timeformat.YYYYMMDD} |
| break | 未詳。『ツール > spurでIPを調べる』に使用されている。 | ${O.ip:break} |
複数のメソッドを「|」で連結することもできる。
${T:replace([https?://<>])|urldecode} // httpを削除して%エンコードを読める形にする
JavaScriptのメソッドをなんでも使えるわけではなく、利用できるものはSiki側で厳選されており、書式も独自のものとなっているようだ。
ユーザーコマンド用のコマンド
特に「ユーザーコマンド用」とされている(Sikiの)コマンドがあり、GUIでコマンド編集すると上部に出て来る。
| 項目名 | コマンド名 | 主な用途 |
| 渡された時間(ミリ秒)だけ待機する | sequence:wait | シーケンスの実行で間隔を開けるのに用いる。 |
| クリップボードの内容を置き換えて貼り付ける | clipboard:paste.replace | クリップボードから書き込み欄へのペースト。ユーザーコマンドによりペースト内容を加工できる。 |
| 選択中のテキストを置き換えて貼り付ける | text:paste.replace | 書き込み欄内の選択文字列の読み取りと上書きペースト。 |
| プロンプトを表示 | ui:prompt | ユーザーに対話的にTEXTを入力させる。第1パラメータは入力後に実行させるコマンド、第2/第3はそのコマンドに渡すパラメータ。 |
| メッセージウィンドウを表示 | message:alert | ポップアップを出す。パラメータはタイトル、(主要)メッセージ、詳細。 |
| 通知を表示 | notification:push | OS経由で通知を送る。 |
クリップボード関係では、これらの他に単純に任意の文字列をクリップボードへ渡す「コピー」(clipboard:copy)もよく使われる。クリップボードからのコマンドによる貼り付け先はほぼ書き込み欄に限られるが、使い方によっては短期記憶的に使えないこともないかもしれない。

特定掲示板サイトのスレタイ検索を追加する方法
5chのスレタイ検索は0.28.0以降は標準で搭載されるようになっている。ただし、アドレスバーから検索したい場合などには以下の方法でテンプレから改めてff5chなどを登録することで他の検索サイトと同様に扱えるようになる。
Reddit検索をコンテキストメニューに追加してみよう
Redditを例に解説する。
登録したいサイトをブラウザで開き、実際に何か(英数文字推奨)検索してみる。ここでは「test」で検索した。
検索結果のURLを観察し、検索した文字列が含まれていれば対応可能。
※現在のRedditのURLはもっと複雑であるが、ここでは必要な部分だけを切り出している。
https://www.reddit.com/search/?q=test
検索文字列の部分を「${TEXT:urlencode}」に置き換えたものをパラメータとして指定する。
// 文字列を選択して検索するコマンド
"reddit.search": { // コマンド名をつける
"label": "Redditで検索", // メニューに表示されるラベル
"attach": [
"selected"
],
// 検索結果をブラウザビューで表示。ここをuri:open-externalに変更すれば外部ブラウザで開かれる。また極一部のサイトはuri:requestを指定すると板として開ける
"command": "uri:open-browserview",
"params": [
// ここに先述のURLの文字列を書く
"https://www.reddit.com/search/?q=${TEXT:urlencode}"
],
"accelerator": "r" // ショートカットキー
},
// 文字列を打ち込んで検索するコマンド
"reddit.search.prompt": { // こちらにもコマンド名をつける
"label": "Redditで検索", // ラベルもつける
"attach": [
"res"
],
"command": "ui:prompt",
"params": [
// ここには「user:」のあとに上で作った文字列選択コマンドの名前を入れる
"user:reddit.search"
]
},
以上のものをusercommand.jsに「他のコマンドと並ぶよう」追記してSikiを再起動すればコンテキストメニューに追加されている。(「usercommand.jsの直接編集」を参照)
GUIで作成する場合は、『テンプレ > 検索 > ff5chで検索』や『テンプレ > 検索 > ff5chで検索(プロンプト)』を追加して必要部分だけを変更すると良いだろう。「文字列を選択して検索するコマンド」をGUIで設定すると(あるいはファイル編集したものをGUIで見ると)下の画像のようになる。(ff5chのものも使いたい場合は、編集後に改めてff5chのテンプレを追加し直す。)

検索結果のURLに検索キーワードが含まれていない場合は、現段階ではSikiからキーワードを渡すのは難しいので、単に検索画面を呼び出すだけのコマンドを作ると良い。
良く使うコマンドはパネルアクションなどに追加するとさらに便利。自分でつけたコマンド名を指定できる。
「文字列を選択して検索するコマンド」は3つまでアドレスバーにも登録できる。
Siki対応掲示板のスレタイ検索用パラメータ
検索用のパラメータ(params)の例をいくつか紹介するので、使いたいものがあれば先述の例を参考に追加してみてほしい。具体的な差し替え例はこちらを参照。
この検索用paramsは、0.28.0以降のアプリヘッダーに標準で搭載されるようになった「スレッド検索」ボタンにも『設定 > ネットワーク > 検索 > デフォルトのスレッド検索設定』から設定できる。ただし、「${TEXT:urlencode}」を「<text>」に置き換える必要がある点には注意。
- ff5ch
"https://ff5ch.syoboi.jp/?q=${TEXT:urlencode}""https://www.reddit.com/search/?q=${TEXT:urlencode}"- Reddit(日本語版のみ)
"https://www.reddit.com/r/ja/search/?q=${TEXT:urlencode}"- Talk
"https://talk.jp/search/thread?query=${TEXT:urlencode}"- したらば
"https://rentalbbs.shitaraba.com/jbbs/search/?word=${TEXT:urlencode}"- open2ch
"https://find.open2ch.net/?q=${TEXT:urlencode}"- ガールズちゃんねる
"https://girlschannel.net/topics/search/?q=${TEXT:urlencode}"- 爆サイ
- 爆サイ(北海道版)
"https://bakusai.com/sch_thr_thread/acode=1/word=${TEXT:urlencode}"- 爆サイ(北東北版)
"https://bakusai.com/sch_thr_thread/acode=14/word=${TEXT:urlencode}"- 爆サイ(南東北版版)
"https://bakusai.com/sch_thr_thread/acode=2/word=${TEXT:urlencode}"- 爆サイ(北関東版)
"https://bakusai.com/sch_thr_thread/acode=15/word=${TEXT:urlencode}"- 爆サイ(南関東版)
"https://bakusai.com/sch_thr_thread/acode=3/word=${TEXT:urlencode}"- 爆サイ(甲信越版)
"https://bakusai.com/sch_thr_thread/acode=4/word=${TEXT:urlencode}"- 爆サイ(北陸版)
"https://bakusai.com/sch_thr_thread/acode=6/word=${TEXT:urlencode}"- 爆サイ(東海版)
"https://bakusai.com/sch_thr_thread/acode=5/word=${TEXT:urlencode}"- 爆サイ(関西版)
"https://bakusai.com/sch_thr_thread/acode=7/word=${TEXT:urlencode}"- 爆サイ(山陽版)
"https://bakusai.com/sch_thr_thread/acode=8/word=${TEXT:urlencode}"- 爆サイ(山陰版)
"https://bakusai.com/sch_thr_thread/acode=12/word=${TEXT:urlencode}"- 爆サイ(四国版)
"https://bakusai.com/sch_thr_thread/acode=9/word=${TEXT:urlencode}"- 爆サイ(北部九州版)
"https://bakusai.com/sch_thr_thread/acode=10/word=${TEXT:urlencode}"- 爆サイ(南部九州版)
"https://bakusai.com/sch_thr_thread/acode=16/word=${TEXT:urlencode}"- 爆サイ(沖縄版)
"https://bakusai.com/sch_thr_thread/acode=11/word=${TEXT:urlencode}"
- 爆サイ 本文検索
- 爆サイ(北海道版)本文検索
"https://bakusai.com/sch_thr_res/acode=1/word=${TEXT:urlencode}"- 爆サイ(北東北版)本文検索
"https://bakusai.com/sch_thr_res/acode=14/word=${TEXT:urlencode}"- 爆サイ(南東北版版)本文検索
"https://bakusai.com/sch_thr_res/acode=2/word=${TEXT:urlencode}"- 爆サイ(北関東版)本文検索
"https://bakusai.com/sch_thr_res/acode=15/word=${TEXT:urlencode}"- 爆サイ(南関東版)本文検索
"https://bakusai.com/sch_thr_res/acode=3/word=${TEXT:urlencode}"- 爆サイ(甲信越版)本文検索
"https://bakusai.com/sch_thr_res/acode=4/word=${TEXT:urlencode}"- 爆サイ(北陸版)本文検索
"https://bakusai.com/sch_thr_res/acode=6/word=${TEXT:urlencode}"- 爆サイ(東海版)本文検索
"https://bakusai.com/sch_thr_res/acode=5/word=${TEXT:urlencode}"- 爆サイ(関西版)本文検索
"https://bakusai.com/sch_thr_res/acode=7/word=${TEXT:urlencode}"- 爆サイ(山陽版)本文検索
"https://bakusai.com/sch_thr_res/acode=8/word=${TEXT:urlencode}"- 爆サイ(山陰版)本文検索
"https://bakusai.com/sch_thr_res/acode=12/word=${TEXT:urlencode}"- 爆サイ(四国版)本文検索
"https://bakusai.com/sch_thr_res/acode=9/word=${TEXT:urlencode}"- 爆サイ(北部九州版)本文検索
"https://bakusai.com/sch_thr_res/acode=10/word=${TEXT:urlencode}"- 爆サイ(南部九州版)本文検索
"https://bakusai.com/sch_thr_res/acode=16/word=${TEXT:urlencode}"- 爆サイ(沖縄版)本文検索
"https://bakusai.com/sch_thr_res/acode=11/word=${TEXT:urlencode}"
- スラド
"https://srad.jp/index2.pl?fhfilter=${TEXT:urlencode}"- あにまん掲示板
"https://bbs.animanch.com/search/${TEXT:urlencode}"- おっちゃんねる
"https://occhan-nel.com/thread/search?word=${TEXT:urlencode}"- 雑談たぬき
"https://b.2ch2.net/test/search.cgi?bbs=zatsudan&w=${TEXT:urlencode}"(本文検索)"https://b.2ch2.net/test/search.cgi?t=b&bbs=zatsudan&guid=on&w=${TEXT:urlencode}"- ニコニコ大百科
"https://dic.nicovideo.jp/s/al/t/${TEXT:urlencode}"
Siki標準搭載のスレタイ検索でエッヂも検索できるが、エッヂ側に検索機能があるわけではなくSiki側でsubject.txtから独自に検索しているようで、ユーザーコマンド化するのは難しいようだ。
選択文字列とレスのメニューに「Talkで検索」を追加
先述のRedditの例をTalkのURLに変えただけ。どこの検索でも同様に対応可能。GUIで作成する場合も同様である。
"talk.search": {
"label": "Talkで検索(&T)",
"attach": [
"selected"
],
"command": "uri:open-browserview",
"params": [
"https://talk.jp/search/thread?query=${TEXT:urlencode}"
]
},
"talk.search.prompt": {
"label": "Talkで検索",
"attach": [
"res"
],
"command": "ui:prompt",
"params": [
"user:talk.search"
]
},
その他の各種掲示板検索を追加
選択文字列のメニューに「2ch全文検索」を追加
"search2ch.info": {
"label": "2ch全文検索",
"attach": [
"selected"
],
"command": "uri:open-browserview",
"params": [
"https://search2ch.info/#gsc.tab=0&gsc.q=${TEXT:urlencode}"
]
},
レスのメニューに「5ch全文検索」を追加
"5ch.search2ch.info": {
"label": "5ch全文検索",
"attach": [
"res"
],
"command": "uri:open-browserview",
"params": [
"https://5ch.search2ch.info/"
]
},
選択文字列のメニューに「掲示板横断検索」を追加
※左上や下部のサービス(2ch、おーぷん、ふたばさーち)では検索してもSikiに開けないので注意。
※検索サイトから対応サイト指定は有効。
"zzzsearch.search": {
"label": "掲示板横断検索",
"attach": [
"selected"
],
"command": "uri:open-browserview",
"params": [
"https://zzzsearch.com/bbs/#gsc.q=${TEXT:urlencode}"
]
},
レスのメニューに「掲示板横断検索TOP」を追加
※左上や下部のサービス(2ch、おーぷん、ふたばさーち)では検索してもSikiに開けないので注意。
※検索サイトから対応サイト指定は有効。
"zzzsearch.search.browser": {
"label": "掲示板横断検索TOP",
"attach": [
"res"
],
"command": "uri:open-browserview",
"params": [
"https://zzzsearch.com/bbs"
]
},
選択文字列のメニューに「かころぐβ」を追加
"kakolog.search.bv": {
"label": "かころぐβ",
"attach": [
"selected"
],
"command": "uri:open-browserview",
"params": [
"https://kakolog.jp/q/${TEXT:urlencode}"
]
},
レスのメニューに「かころぐβTOP」を追加
"kakolog.search.top": {
"label": "かころぐβTOP",
"attach": [
"res"
],
"command": "uri:open-browserview",
"params": [
"https://kakolog.jp/"
]
},
選択文字列のメニューに「かころぐβ検索(板表示)」を追加
※事前にかころぐβ表示用プラグインを導入しておく必要がある。
※サイト側が度々仕様変更をするため機能しなくなる場合がある。プラグイン側もひっそりと更新されてたりする。エラーが出続けるときはブラウザビュー版の検討を。
"kakolog.search.asboard": {
"label": "かころぐβ検索(板表示)",
"attach": [
"selected"
],
"command": "uri:request",
"params": [
"https://kakolog.jp/q/${TEXT:urlencode}"
]
},
レスのメニューに「かころぐβ検索(板表示)」を追加
入力欄を表示し、その入力された文字列を使って検索する。上記の「kakolog.search.asboard」を実行するため、あわせて追加する必要がある。
"kakolog.search.asboard.prompt": {
"label": "かころぐβ検索(板表示)",
"attach": [
"res"
],
"command": "ui:prompt",
"params": [
"user:kakolog.search.asboard"
]
},
レスのメニューに「エッヂの過去ログ(3代目)TOP」を追加
当面の間は使えるようです。※SikiにリンクURLを貼り付けて開いてください。
サイト内に
ブラウザでは見れません。
スレタイをタッチするとそのスレのURLをコピーできます。
そのURLを専ブラで開いてください。
とあるが、Sikiのブラウザビュー機能からならスレタイをクリックするだけでそのまま開くことができる。
"eddiarchive3rd.search.top": {
"label": "エッヂの過去ログ(3代目)TOP",
"attach": [
"res"
],
"command": "uri:open-browserview",
"params": [
"https://eddiarchive3rd.boy.jp"
]
},
(BBSPINK)レスとIDのメニューに「必死チェカーもどき」を追加
※5ch用は『テンプレ > ツール > 必死チェッカー』(hiss.checkid)。condには1つのサイトしか設定できないため、複数のサイトで利用したい場合には別のユーザーコマンドを作成する必要がある。
"hissi.checkid.pink": {
"label": "必死チェッカー",
"cond": "sitename=bbspink.com",
"attach": [
"res",
"id"
],
"command": "uri:open-browserview",
"params": [
"http://hissi.org/read.php/${OBJECT.board}/${OBJECT.timestamp:timeformat.YYYYMMDD}/${OBJECT.id_verbose:base64}.html"
]
},
(エッヂ)IDのメニューに「必死チェカー」を追加
"hissi.checkid.eddibb": {
"label": "必死チェッカー",
"cond": "sitename=eddibb.cc",
"attach": [
"id"
],
"command": "uri:open-browserview",
"params": [
"https://www.kyodemo.net/sdemo/b/e_e_${OBJECT.board}/?hi=${OBJECT.id}&key=${OBJECT.threadkey}&date=${OBJECT.timestamp:timeformat.YYYYMMDD}"
]
},
掲示板検索以外の機能を追加
以下のサンプル、もしくはGUIにある(「検索」カテゴリなどの)テンプレのparamsを希望する外部サイトのURLに置き換え、コマンド名やlabelを書き換えてやるだけで簡単に任意のサイトをユーザーコマンドとして追加できる。
レスのメニュー系
紹介しているコマンドはcondで特定のサイトを開いている時だけメニューに出るよう指定しているものが多いため、コピーしてコマンドを自作する場合は書き換えてやる必要がある。condを省略すればどこのサイトを開いていてもメニューに出るようになるのでコマンドに応じて使い分けると良いだろう。
(5ちゃんねる)レスのメニューに「5ちゃんねる鯖監視所(氷)」を追加
サーバー側の状態の確認が可能。
読み込みの調子が突然悪くなったなどの症状が発生したときに確認すると良いかも。
"check.5ch.serversstate": {
"label": "5ちゃんねる鯖監視所(氷)",
"cond": "sitename=5ch.net",
"attach": [
"res"
],
"command": "uri:open-browserview",
"params": [
"https://ss1.xrea.com/z4s85ttt.s1007.xrea.com/5chkanshi/disp_status.php"
]
},
(BBSPINK)レスのメニューに「BBSPINK鯖監視所(柿)」を追加
"check.bbspink.serversstate": {
"label": "BBSPINK鯖監視所(柿)",
"cond": "sitename=bbspink.com",
"attach": [
"res"
],
"command": "uri:open-browserview",
"params": [
"https://ss1.xrea.com/z4s85ttt.s1007.xrea.com/bbspink_kanshi/disp_status.php"
]
},
(したらば掲示板)レスのメニューに「したらば鯖監視所(梅)」を追加
"check.sitaraba.serversstate": {
"label": "したらば鯖監視所(梅)",
"cond": "sitename=shitaraba.net",
"attach": [
"res"
],
"command": "uri:open-browserview",
"params": [
"https://ss1.xrea.com/z4s85ttt.s1007.xrea.com/shitaraba_kanshi/disp_status.php"
]
},
(BBS.JPNKN.COM)レスのメニューに「BBS.JPNKN.COM System Status」を追加
Siki公式掲示板が利用しているBBS.JPNKN.COMのサーバー側の状態の確認が可能。
"check.bbsjpnkncom.serversstate": {
"label": "BBS.JPNKN.COM System Status",
"cond": "sitename=jpnkn.com",
"attach": [
"res"
],
"command": "uri:open-browserview",
"params": [
"https://jo.jpnkn.com/"
]
},
選択文字列系
選択した文字列をparamsのURLに${TEXT:urlencode}として渡すことに留意。
選択文字列のメニューに「Googleで画像検索」を追加
選択した文字列を使って画像検索を行い、外部ブラウザで開く。
"google.search.browser.image": {
"label": "Googleで画像検索",
"attach": [
"selected"
],
"command": "uri:open-external",
"params": [
"https://www.google.co.jp/search?q=${TEXT:urlencode}&tbm=isch"
]
},
選択文字列のメニューに「Google翻訳」を追加
※0.11.5以降はコンテキストメニューにデフォルトで翻訳機能が用意されている。
選択文中に「/」を含んでも全文入力される。
"google.translation": {
"label": "Google翻訳",
"attach": [
"selected"
],
"command": "uri:open-browserview",
"params": [
"https://translate.google.co.jp/?hl=ja&tab=TT&sl=auto&tl=ja&text=${TEXT:urlencode}&op=translate"
]
},
選択文字列のメニューに「Deepl翻訳(EN→JA)」を追加
選択文中に「/」を含んでいるとそこまでしか翻訳欄に入力されない。
この場合は先に翻訳したい文字列ををコピーし、ブラウザビューで開いて入力欄にCtrl+Vで貼り付けるとよい。
"deepl.translation": {
"label": "Deepl翻訳(EN→JA)",
"attach": [
"selected"
],
"command": "uri:open-browserview",
"params": [
"https://www.deepl.com/ja/translator#en/ja/${TEXT:urlencode}"
]
},
選択文字列のメニューに「Amazon補完」を追加
ASIN(B0で始まるAmazonの商品コード)を選択して実行すると商品ページを外部ブラウザで開く。
"amazon.search.word": {
"label": "Amazon補完",
"attach": [
"selected"
],
"command": "uri:open-external",
"params": [
"https://amazon.co.jp/dp/${TEXT:urlencode}"
]
},
ReplaceStr.txtを使って自動リンクする別解あり。
選択文字列のメニューに「Twitterで検索」を追加
※2023年4月下旬以降ログインなしでの検索ができなくなっている模様。(2023年5月6日追記)
"twitter.search.word": {
"label": "Twitterで検索",
"attach": [
"selected"
],
"command": "uri:open-external",
"params": [
"https://twitter.com/search?q=${TEXT:urlencode}"
]
},
選択文字列のメニューに「Yahoo!リアルタイム検索で検索」を追加
"yahoorealtime.search.word": {
"label": "Yahoo!リアルタイム検索で検索",
"attach": [
"selected"
],
"command": "uri:open-browserview",
"params": [
"https://search.yahoo.co.jp/realtime/search?p=${TEXT:urlencode}",
],
},
選択文字列のメニューに「Wikipediaで検索」を追加
"wikipedia.search.word": {
"label": "Wikipediaで検索",
"attach": [
"selected"
],
"command": "uri:open-browserview",
"params": [
"https://jp.wikipedia.org/wiki/Special:Search?search=${TEXT:urlencode}"
]
},
選択文字列のメニューに「Weblio辞書で検索」を追加
"weblio.search.word": {
"label": "Weblio辞書で検索",
"attach": [
"selected"
],
"command": "uri:open-browserview",
"params": [
"https://www.weblio.jp/content/${TEXT:urlencode}"
]
},
選択文字列のメニューに「ニコニコ大百科で検索」を追加
"nicopedia.search.word": {
"label": "ニコニコ大百科で検索",
"attach": [
"selected"
],
"command": "uri:open-browserview",
"params": [
"https://dic.nicovideo.jp/s/a/t/${TEXT:urlencode}"
]
},
選択文字列のメニューに「ピクシブ百科事典で検索」を追加
"pixiv.search.word": {
"label": "ピクシブ百科事典で検索",
"attach": [
"selected"
],
"command": "uri:open-browserview",
"params": [
"https://dic.pixiv.net/search?query=${TEXT:urlencode}"
]
},
選択文字列のメニューに「ChatGPTで検索」を追加
"chatgpt.search.word": {
"label": "ChatGPTで検索",
"icon_set": "search",
"attach": [
"selected",
],
"command": "uri:open-browserview",
"params": [
"https://chatgpt.com/?q=${TEXT:urlencode}&hints=search",
],
},
画像URL系
画像URLのメニューに「Googleレンズで検索」を追加
"google.lenssearch": {
"label": "Googleレンズで検索",
"cond": "url",
"attach": [
"image"
],
"command": "uri:open-browserview",
"params": [
"https://lens.google.com/uploadbyurl?url=${OBJECT.url:urlencode}"
]
},
画像URLのメニューに「SauceNAOで検索」を追加
"saucenao.search": {
"label": "SauceNAOで検索",
"cond": "url",
"attach": [
"image"
],
"command": "uri:open-browserview",
"params": [
"https://saucenao.com/search.php?url=${OBJECT.url:urlencode}"
]
},
URLメニュー系
URLのメニューに「Web Archiveで開く」を追加
"webarchive": {
"label": "Web Archiveで開く",
"attach": [
"url"
],
"command": "uri:open-external",
"params": [
"https://web.archive.org/web/${TEXT}"
]
},
URLのメニューに「aguse.でURLの安全性を検証」を追加
"check.url.aguse": {
"label": "aguse.でURLの安全性を検証",
"attach": [
"url"
],
"command": "uri:open-external",
"params": [
"https://www.aguse.jp/?m=w&url=${TEXT}"
]
},
デフォルトの検索設定を使った検索を追加する方法
デフォルトの検索エンジン
使用される検索エンジンの変更方法はこちらを参照。
レスのメニューに「外部ブラウザで検索」を追加
※「user:search.browserview」を呼び出しているため、事前にテンプレもしくは公式サンプルから導入、または0.36.2以降を用いてusercommand.jsを再生成させる必要がある点に注意。
※「user:search.browser」は選択文字列で検索するコマンドとしても使用可能
"search.browser.prompt": {
"label": "外部ブラウザで検索",
"attach": [
"res"
],
"command": "ui:prompt",
"params": [
"user:search.browser"
]
},
レスのメニューに「ブラウザビューで検索」を追加
※「user:search.browserview」を呼び出しているため、事前にテンプレもしくは公式サンプルから導入、または0.36.2以降を用いてusercommand.jsを再生成させる必要がある点に注意。
※「user:search.browserview」は選択文字列で検索するコマンドとしても使用可能だが、"attach": [ "selected" ]が設定されていないことに注意。
"search.browserview.prompt": {
"label": "ブラウザビューで検索",
"attach": [
"res"
],
"command": "ui:prompt",
"params": [
"user:search.browserview"
]
},
デフォルトのスレッド検索
使用されるスレタイ検索サイトの変更方法はこちらを参照。
選択文字列で検索するコマンドは『テキストを選択右クリック > 選択箇所を… > スレッドタイトル検索(外部)』から実行可能。
レスのメニューに「スレタイ検索(外部)」を追加
"searchthread.browserview": {
"label": "スレタイ検索(外部)",
"command": "uri:open-browserview.searchthread",
"params": [
"${TEXT}",
],
},
"searchthread.browserview.prompt": {
"label": "スレタイ検索(外部)",
"attach": [
"res",
],
"command": "ui:prompt",
"params": [
"user:searchthread.browserview",
],
},
Siki内蔵のコマンドをユーザーコマンドとして割り当てる
パラメータも加工せず内蔵コマンド1つをそのまま実行するだけのユーザーコマンドは無意味に思えるかもしれないが、コンテキストメニューを直接編集するよりも遥かに簡単かつ融通も利くのでよく利用される。
板タブのメニューに「タブをまとめて閉じる」系のコマンドを追加
"tab.close.board.right": {
"label": "以降の板タブをすべて閉じる",
"attach": [
"tab.board"
],
"command": "tab:close.right",
"params": [
"${OBJECT.tabid}",
"board"
]
},
1つのコマンドで板とスレ両方をカバーすることもできなくはないが、タブ上でなくコマンドパレットなど文脈が不明確な状況で呼ばれた時に想定外のタブを閉じてしまうおそれがあるので別のコマンドを用意した方が安全。
スレタブのメニューに「全てのタブをお気に入りに追加」を追加
"tab.fav.alltabs": {
"label": "全てのタブをお気に入りに追加",
"attach": [
"tab.thread"
],
"command": "favorites:add.alltabs",
"params": [
"${OBJECT.tabid}",
"thread"
]
},
レスのメニューに「報告形式でコピー」を追加
「レスURL 日時 ID」の形式でコピーする。日時は24時間表示に変更済み。
※2ch互換サイト用のため、他サイトでの誤作動に注意。
"report": {
"label": "報告形式でコピー",
"attach": [
"res"
],
"command": "clipboard:copy",
"params": [
"${OBJECT.location}${OBJECT.num} ${OBJECT.timestamp:timeformat.YYYY/MM/DD(dd) HH:mm:ss.SS} ID:${OBJECT.id}"
]
},
レスのメニューに「フィルター入力欄を表示」を追加
『テンプレ > タブ > 選択箇所でフィルタ』(filter.word)と併用する必要あり。(今はフィルター入力で欄にフォーカスするのであまり必要ない)
"filter.word.prompt": {
"label": "フィルター入力欄を表示",
"attach": [
"res"
],
"command": "ui:prompt",
"params": [
"user:filter.word"
]
},
URLのメニューに「URLをミュート」を追加
"mute.word.url": {
"label": "URLをミュート",
"attach": [
"url"
],
"command": "thread:cursor.mute.word",
"params": [
null,
"${TEXT}"
]
},
画像URLやサムネイルのメニューに「画像URLをミュート」を追加
※画像ビューア内のコンテキストメニューからの使用はできない。
"mute.image.url": {
"label": "画像URLをミュート",
"cond": "url",
"attach": [
"image"
],
"command": "thread:cursor.mute.word",
"params": [
null,
"${OBJECT.url}"
]
},
スレタイ+URLコピー(スレのキーボードショートカット用)
"thread:title_url.copy": {
"label": "スレッドのタイトル+URLコピー",
"command": "clipboard:copy",
"params": [
"${OBJECT.title}\r\n${OBJECT.location}"
]
},
※標準で搭載されている「board:copy.title_url」は板用のためスレッドでは機能しない。
※残念ながらどちらもジェスチャからは機能しない。
※0.15.11にて、板用コマンドがスレッドにフォーカスがある時そのスレッドに対してコピーするよう対応された。(ジェスチャからでも機能する模様)
スレタブとレスのメニューに「外部ブラウザで最新10レスを開く」を追加
※2ch互換掲示板以外でも呼び出せてしまうが、誤動作する場合が多いため注意。
"tab.open.l10": {
"label": "外部ブラウザで最新10レスを開く",
"attach": [
"tab.thread",
"res"
],
"command": "uri:open-external",
"params": [
"${OBJECT.location}l10"
]
},
スレ上に貼られたURLのコンテキストメニューにも追加
// スレ上のURL(/で終わる2ch互換URLでないと誤動作する)
"open.l10": {
"label": "外部ブラウザで最新10レスを開く",
"attach": [
"url",
],
"command": "uri:open-external",
"params": [
"${TEXT}l10"
]
},
板タブとスレタブのメニューに「ブラウザビューで表示」を追加
"browserview.current": {
"label": "ブラウザビューで表示",
"attach": [
"tab.thread",
"tab.board",
],
"command": "uri:open-browserview",
"accelerator": "v",
"params": [
"${OBJECT.location}",
]
},
レスとスレ一覧のメニューに「SETTING.TXT表示」を追加
2ch互換サイト全般で機能するが、それ以外ではエラーが出る。コメントアウトしてある"cond"の行を戻すと5ch.netでのみメニューに出るようになる。
"board.settings": {
"label": "SETTING.TXT表示",
"attach": [
"res",
"board",
],
// "cond": "sitename=5ch.net",
"command": "uri:open-browserview",
"accelerator": "s",
"params": [
"https://${OBJECT.server}/${OBJECT.board}/SETTING.TXT"
]
},
IDのメニューに『IDを「ID:」部分なしでコピー』を追加
"id.copy2": {
"label": "IDを「ID:」部分なしでコピー",
"attach": [
"id"
],
"command": "clipboard:copy",
"params": [
"${OBJECT.id}"
]
},
選択文字列のメニューに「定型文へ追加」を追加
"phrase.add.selected": {
"label": "選択文字列を定型文へ追加",
"attach": [
"selected"
],
"command": "phrase:add",
"params": [
"${TEXT}"
]
},
フィルターの項目を複数同時に選択
※0.37.6で実装されたGUIから編集不能なコマンド。
https://egg.5ch.io/test/read.cgi/software/1749431376/616
以下は画像と動画フィルターへ同時に切り替えるコマンド例。
attachは設定していないので、自分で設定するかパネルアクションなどに追加して利用する。
"filter_media": {
"label": "画像+動画フィルター",
"command": "filter:switch",
"params": [
null,
3
]
},
paramsの2つ目に切り替えたいフィルター用の数値を足したものを指定することで、複数同時に切り替えられるコマンドを作成できる。
指定に使用できるフィルターと数値は以下の通り。
| フィルター名 | 数値 |
| 画像 | 1 |
| 動画 | 2 |
| 内部リンク | 4 |
| 外部リンク | 8 |
| 人気 | 16 |
| 自分 | 32 |
| ★ | 256 |
| 返信 | 512 |
数値の例:
- 画像と動画と外部リンク:11
- 内部リンクと外部リンク:12
- 人気と返信:528
- 自分と★:288
設定画面を直接開く
※0.37.6で実装されたGUIから編集不能なコマンド。
https://egg.5ch.io/test/read.cgi/software/1692834209/940
「NG/強調」を例にして任意の設定画面を直接開く方法。
attachは設定していないので、自分で設定するかパネルアクションなどに追加して利用する。
"open_ng_setting": {
"label": "NG/強調設定を開く",
"command": "core:window.open.setting",
"params": [
"resstate"
]
},
項目を直接開くために使用できるparamsは以下の通り。
| paramsnに指定する値 | 開かれる場所 |
| common | システム |
| layout | レイアウト |
| network | ネットワーク |
| mouse | マウス |
| keyboard | キーボード |
| tab | タブ |
| board | 板 |
| thread | スレッド |
| post | 書き込み |
| bbsmenu | BBSMenu |
| usercommand | ユーザーコマンド |
| plugins | プラグイン |
| notify | 通知 |
| image | 画像/映像 |
| translate | 翻訳 |
| resstate | NG/強調 |
| siteedit | サイト編集 |
| edittheme | テーマ編集 |
| resskin | スキン編集 |
| workspace | ワークスペース |