---
title: はじめに
description: OpenCode を始めましょう。
---

import { Tabs, TabItem } from "@astrojs/starlight/components"
import config from "../../../../config.mjs"
export const console = config.console

[**OpenCode**](/) は、オープンソースの AI コーディングエージェントです。これは、ターミナルベースのインターフェイス、デスクトップアプリ、または IDE 拡張機能として利用できます。

![opencodeテーマ](../../../assets/lander/screenshot.png)を使用したOpenCode TUI

始めましょう。

---

#### 前提条件

ターミナルで OpenCode を使用するには、次のものが必要です。

1. 次のような最新のターミナルエミュレータ:
   - [WezTerm](https://wezterm.org)、クロスプラットフォーム
   - [Alacritty](https://alacritty.org)、クロスプラットフォーム
   - [Ghostty](https://ghostty.org)、Linux および macOS
   - [Kitty](https://sw.kovidgoyal.net/kitty/)、Linux および macOS

2. 使用する LLM プロバイダーの API キー。

---

## インストール

OpenCode をインストールする最も簡単な方法は、インストールスクリプトを使用することです。

```bash
curl -fsSL https://opencode.ai/install | bash
```

次のコマンドを使用してインストールすることもできます。

- **Node.js の使用**

        <Tabs>

      <TabItem label="npm">
      ```bash
      npm install -g opencode-ai
      ```

          </TabItem>

        <TabItem label="Bun">
        ```bash
        bun install -g opencode-ai
        ```

          </TabItem>

        <TabItem label="pnpm">
        ```bash
        pnpm install -g opencode-ai
        ```

          </TabItem>

        <TabItem label="Yarn">
        ```bash
        yarn global add opencode-ai
        ```

      </TabItem>

  </Tabs>

- **macOS および Linux での Homebrew の使用**

  ```bash
  brew install anomalyco/tap/opencode
  ```

  > 最新のリリースには OpenCode タップを使用することをお勧めします。公式の `brew install opencode` 式は Homebrew チームによって維持されており、更新頻度は低くなります。

- **Arch Linux での Paru の使用**

  ```bash
  sudo pacman -S opencode           # Arch Linux (Stable)
  paru -S opencode-bin              # Arch Linux (Latest from AUR)
  ```

#### Windows

:::tip[推奨: WSL を使用する]
Windows で最高のエクスペリエンスを得るには、[Windows Subsystem for Linux (WSL)](/docs/windows-wsl) を使用することをお勧めします。これにより、パフォーマンスが向上し、OpenCode の機能との完全な互換性が提供されます。
:::

- **Chocolatey の使用**

  ```bash
  choco install opencode
  ```

- **Scoop の使用**

  ```bash
  scoop install opencode
  ```

- **npm の使用**

  ```bash
  npm install -g opencode-ai
  ```

- **Mise の使用**

  ```bash
  mise use -g github:anomalyco/opencode
  ```

- **Docker の使用**

  ```bash
  docker run -it --rm ghcr.io/anomalyco/opencode
  ```

Bun を使用して Windows に OpenCode をインストールするためのサポートは現在進行中です。

[Releases](https://github.com/anomalyco/opencode/releases).

---

## 設定

OpenCode を使用すると、API キーを構成することで任意の LLM プロバイダーを使用できます。

LLM プロバイダーを初めて使用する場合は、[OpenCode Zen](/docs/zen) をお勧めします。
これは、OpenCode チームによってテストおよび検証されたモデルの厳選されたリストです。

1. TUI で `/connect` コマンドを実行し、opencode を選択して、[opencode.ai/auth](https://opencode.ai/auth) で認証します。

   ```txt
   /connect
   ```

2. サインインし、お支払いの詳細を追加し、API キーをコピーします。

3. API キーを貼り付けます。

   ```txt
   ┌ API key
   │
   │
   └ enter
   ```

あるいは、他のプロバイダーのいずれかを選択することもできます。 [詳細はこちら](/docs/providers#directory)。

---

## 初期化

プロバイダーを構成したので、取り組みたいプロジェクトに移動できます。

```bash
cd /path/to/project
```

そしてOpenCodeを実行します。

```bash
opencode
```

次に、次のコマンドを実行して、プロジェクトの OpenCode を初期化します。

```bash frame="none"
/init
```

これにより、OpenCode がプロジェクトを分析し、プロジェクトのルートに `AGENTS.md` ファイルを作成します。

:::tip
プロジェクトの `AGENTS.md` ファイルを Git にコミットする必要があります。
:::

これは、OpenCode がプロジェクトの構造と使用されているコーディングパターンを理解するのに役立ちます。

---

## 使用法

これで、OpenCode を使用してプロジェクトに取り組む準備が整いました。何でもお気軽にお尋ねください！

AI コーディングエージェントを初めて使用する場合は、次の例を参考にしてください。

---

### 質問する

OpenCode にコードベースの説明を依頼できます。

:::tip
プロジェクト内のファイルをあいまい検索するには、`@` キーを使用します。
:::

```txt frame="none" "@packages/functions/src/api/index.ts"
How is authentication handled in @packages/functions/src/api/index.ts
```

これは、コードベースに作業していない部分がある場合に役立ちます。

---

### 機能を追加する

OpenCode に新しい機能をプロジェクトに追加するよう依頼できます。ただし、最初は計画の作成を依頼することをお勧めします。

1. **計画を作成する**

OpenCode には、変更を加える機能を無効にする _Plan mode_ があり、
代わりに、その機能を*どのように*実装するかを提案します。

**Tab** キーを使用してそれに切り替えます。右下隅にこれを示すインジケーターが表示されます。

```bash frame="none" title="Switch to Plan mode"
   <TAB>
```

では、何をしたいのかを説明しましょう。

```txt frame="none"
   When a user deletes a note, we'd like to flag it as deleted in the database.
   Then create a screen that shows all the recently deleted notes.
   From this screen, the user can undelete a note or permanently delete it.
```

自分が何を望んでいるのかを理解するために、OpenCode に十分な詳細を提供したいと考えています。
チームの若手開発者と話しているように話すと良いでしょう。

:::tip
OpenCode に多くのコンテキストと例を提供して、意図する内容を理解できるようにします。
:::

2. **計画を反復する**

計画が示されたら、フィードバックを送信したり、詳細を追加したりできます。

```txt frame="none"
   We'd like to design this new screen using a design I've used before.
   [Image #1] Take a look at this image and use it as a reference.
```

:::tip
画像をターミナルにドラッグアンドドロップして、プロンプトに追加します。
:::

OpenCode は、指定された画像をスキャンしてプロンプトに追加できます。
画像をターミナルにドラッグアンドドロップしてこれを行うことができます。

3. **機能を構築する**

計画に慣れたら、*Build mode*に戻ります。
**Tab** キーをもう一度押します。

```bash frame="none"
   <TAB>
```

そして変更を加えるように依頼します。

```bash frame="none"
   Sounds good! Go ahead and make the changes.
```

---

### 変更を加える

より単純な変更については、OpenCode に直接ビルドするよう依頼できます。
最初に計画を見直す必要はありません。

```txt frame="none" "@packages/functions/src/settings.ts" "@packages/functions/src/notes.ts"
We need to add authentication to the /settings route. Take a look at how this is
handled in the /notes route in @packages/functions/src/notes.ts and implement
the same logic in @packages/functions/src/settings.ts
```

OpenCode が適切な変更を行えるように、十分な量の詳細を確実に提供する必要があります。

---

### 変更を元に戻す

OpenCode にいくつかの変更を依頼するとします。

```txt frame="none" "@packages/functions/src/api/index.ts"
Can you refactor the function in @packages/functions/src/api/index.ts?
```

しかし、それは自分が望んでいたものではないことに気づきます。変更は **元に戻すことができます**
`/undo` コマンドを使用します。

```bash frame="none"
/undo
```

OpenCode は加えた変更を元に戻し、元のメッセージを再度表示します。

```txt frame="none" "@packages/functions/src/api/index.ts"
Can you refactor the function in @packages/functions/src/api/index.ts?
```

ここからプロンプトを調整し、OpenCode に再試行を依頼できます。

:::tip
`/undo` を複数回実行すると、複数の変更を元に戻すことができます。
:::

または、`/redo` コマンドを使用して変更を**やり直す**こともできます。

```bash frame="none"
/redo
```

---

## 共有

OpenCode との会話は [他のチームメンバーと共有できます](/docs/share)。

```bash frame="none"
/share
```

これにより、現在の会話へのリンクが作成され、クリップボードにコピーされます。

:::note
会話はデフォルトでは共有されません。
:::

これは [OpenCode を使用した会話 ](https://opencode.ai/s/4XP1fce5) の例です。

---

## カスタマイズ

それで終わりです！これであなたは OpenCode の使い方のプロになりました。

独自のものにするには、[テーマ](/docs/themes) を選択する、[キーバインドをカスタマイズする](/docs/keybinds)、[コードフォーマッタ](/docs/formatters) を設定する、[カスタムコマンド](/docs/commands) を作成する、または [OpenCode設定](/docs/config) を試してみることをお勧めします。
