OpenCode、
ノッチの中に。

OpenCodeの通知、承認、返信をMacで

GnistaはOpenCodeのすべてのセッションをMacBookのノッチに表示します。リクエストの承認も返信も、そこから。どのモデルで動いていても、ローカルモデルでも。

7日間無料で試す アカウント・カード不要 · その後€19の買い切り
01概要

OpenCodeとGnista、ひと目で。

動く場所
どのターミナルでもOpenCodeが。VS Codeのターミナルも、SSH越しのLinuxサーバ上でも。
セットアップ
プラグインファイルひとつ、~/.config/opencode/plugins/gnista.js。ほかは何も変わりません。
対応待ち
権限のリクエスト(コマンド、ファイル、diffつき)、質問、そして完了したプラン。
ノッチから応答
「許可」「常に許可」「拒否」、質問への回答、「承認」か「プランを練り直す」。OpenCodeの中で動くGnistaのプラグインを通して。
ノッチから返信
できます。OpenCodeがどこで動いていても。自分で入力したメッセージとして届き、セッションのエージェントとモデルもそのままです。
行に表示されるもの
タイトル、エージェント(buildまたはplan)、プロンプト、返信、実行中のツール、ToDo。
サブエージェント
呼び出し元のセッションの行にまとめられ、そこにサブエージェントの質問も表示されます。
コストと上限
OpenCode自身が数えたコストとトークン、使用中のコンテキスト。OpenCodeは記録しないので、プランの上限はなし。

応答は、OpenCodeの中へ直接。

GnistaのプラグインはOpenCodeの中で動くので、「許可」「常に許可」「拒否」も、質問への回答も、完了したプランの「承認」も、ターミナルへのキー入力ではなく、OpenCode自身のクライアントを通って届きます。OpenCode自身の確認画面も表示されたままで、先に応答したほうが採用されます。

返信は、自分で打ったように。

セッションが待機中なら、ノッチからの返信は本物のプロンプトとして、セッションが使っていたのと同じエージェントとモデルで届き、OpenCodeには自分で入力したメッセージとして表示されます。どのターミナルでも、VS Codeのターミナルでも。

サブエージェントも、1行に。

OpenCodeがサブエージェントに仕事を任せると、そのセッションは呼び出し元のセッションにまとめられます。サブエージェントのリクエストは親の行に表示されるので、同じ場所で応答できます。

どのモデルでも。手元のモデルでも。

OpenCodeは、ClaudeからGLM、手元のMacで動くモデルまで、なんでも動かせます。行にはモデルのバッジと、OpenCode自身が出したコストが表示されます。Gnistaの知らないモデルには、小さなモデルファイルでコンテキストサイズとアイコンを与えられます。

OpenCodeでできないこと、とその理由。

  • 完了したプランに返せるのは「承認」か「プランを練り直す」だけ。変えてほしいことは、セッションが止まってから次のプロンプトとして入力します。
  • プランの上限:OpenCodeは何も記録しません。代わりに行にはコストが表示されます。
  • Gnistaの知らないモデルは、モデルファイルで説明するまでコンテキストのバーが表示されません。
02セットアップ

接続は1分で。

  1. Gnistaを開き、OpenCodeにチェックを入れます。
  2. Gnistaは新しいファイルをひとつ、~/.config/opencode/plugins/gnista.jsに書き込みます。OpenCodeの設定には触れないので、バックアップするものはありません。同じ名前のプラグインがすでにあれば、Gnistaは止まってそう伝えます。
  3. ノッチから応答するには、設定 ▸ 一般で「Gnistaでリクエストに応答」をオンにします。
  4. OpenCodeを起動します。すでに開いているものは、再起動するとプラグインを読み込みます。
03FAQ

OpenCode、聞かれたことに答えます。

ノッチからOpenCodeを承認できますか?

はい。「Gnistaでリクエストに応答」をオンにすれば、「許可」「常に許可」「拒否」、質問、完了したプランに応答できます。OpenCodeが確認を求めるのは、自分の権限設定で指定されたものだけで、標準ではわずかなので、リクエストはあまり出ないかもしれません。

OpenCodeのリクエストがまったく表示されないのはなぜ?

OpenCodeは標準でほとんどのことを許可しています。OpenCodeの設定で権限をaskにすれば、そのリクエストがノッチに表示されます。

ノッチからOpenCodeに返信できますか?

はい、ターンが終わったら。返信は本物のプロンプトとして、セッションのエージェントとモデルで届き、自分で入力したメッセージとして表示されます。

ローカルモデルでも使えますか?

はい。OpenCodeはOllamaやLM Studioを含むどのプロバイダでも動き、Gnistaはそのセッションもほかと同じように表示します。Gnistaの知らないモデルは、モデルファイルで説明してください。

Gnistaは何を変更しますか? 削除するには?

変更するのはプラグインファイル、~/.config/opencode/plugins/gnista.jsだけです。設定 ▸ エージェント ▸ OpenCode ▸ 接続解除で削除されます。OpenCodeの設定には一切触れません。

SSH越しに、サーバ上のOpenCodeでも使えますか?

はい、Linuxサーバなら。設定 ▸ リモートで、ssh設定にあるホストを指定してサーバを接続します。Gnistaはそこにヘルパーを置き、サーバ上のOpenCodeのプラグインフォルダに自分のプラグインを置きます。セッションはマシン名つきで表示され、ノッチからの応答はそこのOpenCodeに届き、クリックすればsshで入ったターミナルのタブ(tmuxのペインも)か、エディタのRemote-SSHウインドウが開きます。サーバ上のOpenCodeの記録はまだ読めないので、その行にはタイトルもコストも表示されません。手順はSSH越しのエージェントへ。

Gnistaが見守るほかのエージェント

エージェントを自作しましたか? 1行のJSONでGnistaに報告できます。詳しくはカスタムエージェントへ。