---
title: Windows (WSL)
description: 通过 WSL 在 Windows 上运行 OpenCode 以获得最佳体验。
---

import { Steps } from "@astrojs/starlight/components"

虽然 OpenCode 可以直接在 Windows 上运行，但我们推荐使用 [Windows Subsystem for Linux (WSL)](https://learn.microsoft.com/en-us/windows/wsl/install) 以获得最佳体验。WSL 提供了一个 Linux 环境，能够与 OpenCode 的各项功能无缝配合。

:::tip[为什么选择 WSL？]
WSL 提供更出色的文件系统性能、完整的终端支持，以及与 OpenCode 所依赖的开发工具的良好兼容性。
:::

---

## 安装配置

<Steps>

1. **安装 WSL**

   如果尚未安装，请参照 Microsoft 官方指南[安装 WSL](https://learn.microsoft.com/en-us/windows/wsl/install)。

2. **在 WSL 中安装 OpenCode**

   WSL 设置完成后，打开 WSL 终端，使用任一[安装方式](/docs/)安装 OpenCode。

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

3. **从 WSL 中使用 OpenCode**

   导航到你的项目目录（通过 `/mnt/c/`、`/mnt/d/` 等路径访问 Windows 文件），然后运行 OpenCode。

   ```bash
   cd /mnt/c/Users/YourName/project
   opencode
   ```

</Steps>

---

## 桌面应用 + WSL 服务器

如果你希望使用 OpenCode 桌面应用，同时在 WSL 中运行服务器：

1. **在 WSL 中启动服务器**，添加 `--hostname 0.0.0.0` 以允许外部连接：

   ```bash
   opencode serve --hostname 0.0.0.0 --port 4096
   ```

2. **在桌面应用中连接到** `http://localhost:4096`

:::note
如果 `localhost` 在你的环境中无法使用，请改用 WSL 的 IP 地址进行连接（在 WSL 中运行：`hostname -I`），使用 `http://<wsl-ip>:4096`。
:::

:::caution
使用 `--hostname 0.0.0.0` 时，请设置 `OPENCODE_SERVER_PASSWORD` 以保护服务器安全。
:::

```bash
OPENCODE_SERVER_PASSWORD=your-password opencode serve --hostname 0.0.0.0
```

---

## Web 客户端 + WSL

要在 Windows 上获得最佳的 Web 体验：

1. **在 WSL 终端中运行 `opencode web`**，而非在 PowerShell 中运行：

   ```bash
   opencode web --hostname 0.0.0.0
   ```

2. **在 Windows 浏览器中访问** `http://localhost:<port>`（OpenCode 会输出该 URL）

从 WSL 中运行 `opencode web` 可确保正确的文件系统访问和终端集成，同时仍可通过 Windows 浏览器进行访问。

---

## 访问 Windows 文件

WSL 可以通过 `/mnt/` 目录访问你的所有 Windows 文件：

- `C:` 盘 → `/mnt/c/`
- `D:` 盘 → `/mnt/d/`
- 其他盘符以此类推...

示例：

```bash
cd /mnt/c/Users/YourName/Documents/project
opencode
```

:::tip
为了获得更流畅的体验，建议将仓库克隆或复制到 WSL 文件系统中（例如 `~/code/` 目录下），然后在该位置运行 OpenCode。
:::

---

## 使用技巧

- 对于存储在 Windows 驱动器上的项目，在 WSL 中运行 OpenCode 即可无缝访问文件
- 搭配 VS Code 的 [WSL 扩展](https://code.visualstudio.com/docs/remote/wsl) 使用 OpenCode，打造一体化的开发工作流
- OpenCode 的配置和会话数据存储在 WSL 环境中的 `~/.local/share/opencode/`
