跳转到内容

简介

开始使用 OpenCode。

OpenCode 是一个开源的 AI 编码代理。它提供终端界面、桌面应用和 IDE 扩展等多种使用方式。

使用 opencode 主题的 OpenCode TUI

让我们开始吧。


前提条件

要在终端中使用 OpenCode,你需要:

  1. 一款现代终端模拟器,例如:

  2. 你想使用的 LLM 提供商的 API 密钥。


安装

安装 OpenCode 最简单的方法是通过安装脚本。

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

你也可以使用以下方式安装:

  • 使用 Node.js

    Terminal window
    npm install -g opencode-ai
  • 在 macOS 和 Linux 上使用 Homebrew

    Terminal window
    brew install anomalyco/tap/opencode

    我们推荐使用 OpenCode tap 以获取最新版本。官方的 brew install opencode formula 由 Homebrew 团队维护,更新频率较低。

  • 在 Arch Linux 上安装

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

Windows

  • 使用 Chocolatey

    Terminal window
    choco install opencode
  • 使用 Scoop

    Terminal window
    scoop install opencode
  • 使用 NPM

    Terminal window
    npm install -g opencode-ai
  • 使用 Mise

    Terminal window
    mise use -g github:anomalyco/opencode
  • 使用 Docker

    Terminal window
    docker run -it --rm ghcr.io/anomalyco/opencode

在 Windows 上通过 Bun 安装 OpenCode 的支持目前正在开发中。

你也可以从 Releases 页面直接下载二进制文件。


配置

通过 OpenCode,你可以配置 API 密钥来使用任意 LLM 提供商。

如果你刚开始接触 LLM 提供商,我们推荐使用 OpenCode Zen。这是一组经过 OpenCode 团队测试和验证的精选模型。

  1. 在 TUI 中运行 /connect 命令,选择 opencode,然后前往 opencode.ai/auth

    /connect
  2. 登录并添加账单信息,然后复制你的 API 密钥。

  3. 粘贴你的 API 密钥。

    ┌ API key
    └ enter

你也可以选择其他提供商。了解更多


初始化

配置好提供商后,导航到你想要处理的项目目录。

Terminal window
cd /path/to/project

然后运行 OpenCode。

Terminal window
opencode

接下来,运行以下命令为项目初始化 OpenCode。

/init

OpenCode 会分析你的项目并在项目根目录创建一个 AGENTS.md 文件。

这有助于 OpenCode 理解项目结构和编码规范。


使用

现在你已经准备好使用 OpenCode 来处理项目了,尽管提问吧!

如果你是第一次使用 AI 编码代理,以下示例可能会对你有所帮助。


提问

你可以让 OpenCode 为你讲解代码库。

How is authentication handled in @packages/functions/src/api/index.ts

当你遇到不熟悉的代码时,这个功能非常有用。


添加功能

你可以让 OpenCode 为项目添加新功能。不过我们建议先让它制定一个计划。

  1. 制定计划

    OpenCode 有一个计划模式,该模式下它不会进行任何修改,而是建议如何实现该功能。

    使用 Tab 键切换到计划模式。你会在右下角看到模式指示器。

    <TAB>

    接下来描述你希望它做什么。

    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 理解你的需求。可以把它当作团队中的一名初级开发者来沟通。

  2. 迭代计划

    当它给出计划后,你可以提供反馈或补充更多细节。

    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.

    OpenCode 可以扫描你提供的图片并将其添加到提示词中。只需将图片拖放到终端窗口即可。

  3. 构建功能

    当你对计划满意后,再次按 Tab 键切换回构建模式

    <TAB>

    然后让它开始实施。

    Sounds good! Go ahead and make the changes.

直接修改

对于比较简单的修改,你可以直接让 OpenCode 实施,无需先审查计划。

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 做了一些修改。

Can you refactor the function in @packages/functions/src/api/index.ts?

但你发现结果不是你想要的。你可以使用 /undo 命令来撤销修改。

/undo

OpenCode 会还原所做的修改,并重新显示你之前的消息。

Can you refactor the function in @packages/functions/src/api/index.ts?

你可以调整提示词,让 OpenCode 重新尝试。

你也可以使用 /redo 命令来重做修改。

/redo

分享

你与 OpenCode 的对话可以与团队分享

/share

这会生成当前对话的链接并复制到剪贴板。

这是一个与 OpenCode 的示例对话


个性化

以上就是全部内容!你现在已经是 OpenCode 的使用高手了。

要让它更符合你的习惯,我们推荐选择一个主题自定义快捷键配置代码格式化工具创建自定义命令,或者探索 OpenCode 配置