本回では、OpenCode の CLI(コマンドラインインターフェース)オプションと、TUI(テキストユーザーインターフェース)のスラッシュコマンドを紹介します。どちらも OpenCode のさまざまなシステム機能を提供します。

1 コマンドラインオプション

OpenCode のコマンドラインを何も指定せずに実行すると TUI モードが起動しますが、引数としてオプションを指定すると別の機能が動作します。以下に、よく使うコマンドオプションを紹介します。

機能 コマンド 説明
オプション説明 opencode help 使用可能なコマンドラインオプションを表示する
バージョンアップ opencode upgrade 新しいバージョンがあるか確認し、あればアップグレードする
デバッグ opencode debug すべてのデバッグオプションを表示する
opencode debug config 設定ファイルを確認する
opencode debug paths 設定パスを表示する <br>home data bin log cache config state tmp
opencode debug skill すべてのスキルを表示する
ベンダー opencode providers list 認可済みのベンダーを表示する
モデル opencode models 認可済みベンダーの大規模言語モデルを表示する
opencode models nvidia 特定のベンダーの大規模モデルを表示する
MCP 管理 opencode mcp list MCP サーバー一覧を表示する
opencode mcp add 対話形式で MCP サーバーを追加する

2 スラッシュコマンド

2.1 スラッシュコマンド(Slash Commands)とは?

OpenCode の入力欄で / を入力すると、コマンドパネルが表示されます。スラッシュで始まるこれらのコマンドを使えば、複雑なショートカットを覚えなくても、さまざまな操作をすばやく実行できます。AI エージェントの呼び出しや自動化機能への「入り口」として機能します。

スラッシュコマンドは「クイックメニュー」のようなものだと考えてください。Discord や Notion で / を入力すると機能メニューが出てくるのと同じように、OpenCode でも一式のコマンドシステムが用意されています。

2.2 基本コマンド:まず覚えるべきもの

これらのコマンドは、OpenCode を開くたびに使う可能性が高いものです。最優先で覚えましょう

2.2.1 会話管理(Session)

コマンド 機能 使用シーン
/sessions すべての Session を一覧表示する 複数のプロジェクト間を切り替えるとき
/new 新しい Session を作成する まったく新しい会話テーマを始めたいとき
/clear 現在の Session をクリアする /new と同様に、やり直したいとき
/timeline Session のタイムラインを表示する 以前の会話の流れを振り返るとき
/export Session をエクスポートする 重要な会話内容を保存したいとき
/compact 会話コンテキストを圧縮する Token 使用量が多すぎるときに、過去の会話を自動要約する
/exit / /quit / :q / /q OpenCode を終了する プログラムを終えるとき
初心者が陥りやすい罠

多くの人は、1 つの Session でまったく関係のない話題をいくつも扱ってしまい、AI が混乱したり、Token 使用量が増えて無駄に費用がかかったりします。1 つの Session では 1 つのテーマだけを扱うのがおすすめです。話題を変えるときは /new を使いましょう。

+ ワークスペースごとに Session は別

Session はワークスペース単位で分かれており、異なるワークスペースごとに別の Session 一覧があります

2.2.2 モデル切り替え(Models)

コマンド 機能 使用シーン
/connect モデルベンダーを変更する たとえば OpenAI から Claude に切り替える
/models モデル一覧を開く GPT-5 から Opus-4.7 に切り替えるなど、LLM を変更する
節約のコツ: OpenCode Zen を活用

/models を入力したあと、Free と表示されているモデル(例: Nemotran 3 Super Free、MiniMax M2.5 Free)を選ぶと、無料で利用できます。テストや軽い用途に適しています。

2.2.3 編集と復元

コマンド 機能 使用シーン
/undo 1 つ前の変更を元に戻す AI がコードを壊してしまったときの緊急復元
/redo やり直す 元に戻したあとに再実行したいとき
/copy 内容をクリップボードにコピーする AI が生成したコードや回答をすばやくコピーする
元に戻せる範囲

/undo が元に戻すのはファイルの変更であり、会話内容ではありません。AI が 3 つのファイルを修正した場合、/undo を入力するとそれらの変更を段階的に巻き戻せます。

2.3 高度なコマンド:効率をさらに上げる

基本を押さえたら、これらのコマンドで作業フローをよりスムーズにできます。

2.3.1 インターフェース制御

コマンド 機能 対応ショートカット
/editor エディタを開く <leader> + e
/themes テーマを切り替える <leader> + t
/status ステータスを表示する <leader> + s
/agents Agent 一覧を表示する <leader> + a

2.3.2 Skills(スキルシステム)

Skills は OpenCode の「プラグインスクリプト」のようなもので、AI に特定分野の能力を持たせます。

コマンド 機能
/skills 利用可能な Skills を一覧表示する インストール済みのスキルを確認する
/<skill-name> 特定の Skill を呼び出す /obsidian-cli で Obsidian CLI スキルを有効にする

おすすめのよく使う Skills

Skill 名 用途
obsidian-markdown Obsidian 専用の Markdown 構文を処理する
obsidian-bases データベースビュー(.base ファイル)を作成する
json-canvas ビジュアルキャンバス(.canvas ファイル)を作成する
ui-ux-pro-max フロントエンドの UI/UX 設計を支援する

2.4 実用テクニック:スラッシュコマンドをもっと便利に使う

2.4.1 @ でファイルを参照する

入力欄で @ を入力すると、作業ディレクトリ内のファイル一覧が表示され、ファイル名の一部を入力すればすばやく絞り込めます。

@index.jsp の SQL インジェクション脆弱性を確認してください

2.4.2 複数行入力で誤送信しない

  • 改行Shift + Enter または Ctrl + J(最も安定)
  • 送信Enter
  • クリアCtrl + C
もっともよくあるミス

複数行の prompt を入力している途中で誤って Enter を押し、メッセージを早く送信してしまうことがあります。改行は Shift + Enter を使う習慣をつけましょう。

2.4.3 コマンドパネル

Ctrl + P を押すとコマンドパネルが開き、方向キーで選択できます。コマンド名を丸暗記する必要はありません。

2.4.4 カスタムコマンド(Custom Commands)

よく使うプロンプトを 1 回の呼び出しにまとめる形で、自分専用のスラッシュコマンドを作成できます。定義方法は 2 つあります。

2.4.4.1 Markdown ファイル(推奨)

以下のディレクトリに .md ファイルを作成します。ファイル名がコマンド名になります。

ディレクトリ 適用範囲
.opencode/commands/ プロジェクト単位(そのプロジェクトでのみ有効)
~/.config/opencode/commands/ グローバル(すべてのプロジェクトで有効)
---
description: コードレビュー
agent: plan
model: anthropic/claude-sonnet-4-20250514
---

現在のファイルをコードレビューしてください。以下の点に注目してください:
1. 潜在的なパフォーマンス問題
2. セキュリティ脆弱性
3. コードの可読性
4. ベストプラクティスへの準拠状況
frontmatter の任意項目
  • description:コマンドの説明(TUI 上に表示される)
  • agent:どの Agent で実行するかを指定する(buildplan など)
  • model:既定モデルを上書きする
  • subtasktrue にすると、サブエージェントとして強制的に実行する(メインコンテキストを汚さない)

必須なのは template(プロンプト本文) のみで、その他はすべて任意です。

2.4.4.2 JSON 設定

opencode.json で JSON として定義することもできます。

{
  "command": {
    "review": {
      "template": "現在のファイルをコードレビューしてください。以下の点に注目してください:\n1. 潜在的なパフォーマンス問題\n2. セキュリティ脆弱性\n3. コードの可読性\n4. ベストプラクティスへの準拠状況",
      "description": "コードレビュー",
      "agent": "plan",
      "model": "anthropic/claude-sonnet-4-20250514"
    }
  }
}

2.4.5 引数の受け渡し

$ARGUMENTS を使うと、コマンドの後ろに続く文字列をプロンプトに渡せます。

---
description: 新しいコンポーネントを作成
---

TypeScript を使って、$ARGUMENTS という名前の React コンポーネントを作成し、適切な型定義と基本構造を含めてください。

/component Button を実行すると、$ARGUMENTSButton に置き換えられます。

位置引数で個別の値を取得することもできます($1$2$3…)。

---
description: ファイルを作成
---

$2 ディレクトリに、$1 という名前のファイルを作成し、内容を次のようにしてください:$3
```

```bash
/create-file config.json src "{ \"key\": \"value\" }"
```
  • $1config.json
  • $2src
  • $3{ "key": "value" }

2.4.6 Shell コマンドの埋め込み

!\command`` 構文を使って、Bash コマンドの出力をプロンプトに埋め込めます。

---
description: テストカバレッジを分析
---

現在のテスト結果は以下のとおりです:
!\`npm test\`

以上の結果をもとに、テストカバレッジを向上させる方法を提案してください。
---
description: 最近の変更をレビュー
---

最近の Git コミット履歴:
!\`git log --oneline -10\`

これらの変更をレビューし、改善案を提示してください。

コマンドはプロジェクトのルートディレクトリで実行され、その出力はそのままプロンプトの一部になります。

2.4.7 ファイル参照

コマンド内で @ を使ってファイルを参照できます。

---
description: コンポーネントをレビュー
---

@src/components/Button.tsx コンポーネントをレビューしてください。
パフォーマンス問題を確認し、改善案を提案してください。

ファイルの内容は自動的にプロンプトへ含まれます。

カスタムコマンド vs 既定コマンド

既定コマンドと同じ名前のカスタムコマンド(たとえば自作の /undo)を定義すると、カスタムコマンドが既定コマンドを上書きします。名前を付ける前に、重要な機能を誤って上書きしないよう必ず確認してください。

2.5 早見表:よく使うスラッシュコマンド一覧

カテゴリ コマンド 機能
会話 /new, /clear 新しい会話
/sessions 会話一覧
/timeline タイムライン
/export エクスポート
/compact コンテキスト圧縮
/share Session を共有
/exit, /quit, :q 終了
モデル /models モデル一覧
/context Token 使用量
編集 /undo 元に戻す
/redo やり直す
/copy コピー
インターフェース /editor エディタ
/themes テーマ
/status ステータス
/agents Agent 一覧
高度な機能 /skills スキル一覧
/<skill> スキルを呼び出す
/help ヘルプを表示する
/init AGENTS.md を初期化する
/start-work 計画の実行を開始する
/ulw Ultrawork モード
/refactor インテリジェントリファクタリング
/handoff 引き継ぎ資料を作成する

3 関連リンク

解説記事(繁体字中国語)
Explanation article(English)
解説記事(日本語)

4 教学動画

https://youtu.be/fkLr0diCMrk

##