wip(docs): i18n (#12681)
This commit is contained in:
@@ -0,0 +1,359 @@
|
||||
---
|
||||
title: 簡介
|
||||
description: 开始使用OpenCode。
|
||||
---
|
||||
|
||||
import { Tabs, TabItem } from "@astrojs/starlight/components"
|
||||
import config from "../../../../config.mjs"
|
||||
export const console = config.console
|
||||
|
||||
[**开放代码**](/)是一个开源人工智能编码代理。它可用于基于终端的界面、桌面应用程序或IDE扩展。
|
||||
|
||||

|
||||
|
||||
讓我們開始吧。
|
||||
|
||||
---
|
||||
|
||||
#### 先決條件
|
||||
|
||||
要在终端中使用OpenCode,您需要:
|
||||
|
||||
1. 現代終端模擬器,例如:
|
||||
- [韦兹术语](https://wezterm.org),跨平台
|
||||
- [阿拉克里蒂](https://alacritty.org),跨平台
|
||||
- [幽灵般的](https://ghostty.org),Linux 和 macOS
|
||||
- [ 猫咪](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 Tap 来获取最新版本。官方 `brew install opencode` 公式由 Homebrew 团队建议,维护频率较低。
|
||||
|
||||
- **在 Arch Linux 上使用 Paru**
|
||||
|
||||
```bash
|
||||
paru -S opencode-bin
|
||||
```
|
||||
|
||||
#### 視窗
|
||||
|
||||
:::tip[Recommended: 使用 WSL]
|
||||
为了在 Windows 上获得最佳体验,我们建议使用[适用于 Linux 的 Windows 子系统 (WSL)](/docs/windows-wsl)。它提供了更好的性能并与 OpenCode 的功能完全兼容。
|
||||
:::
|
||||
|
||||
- **使用巧克力**
|
||||
|
||||
```bash
|
||||
choco install opencode
|
||||
```
|
||||
|
||||
- **使用勺子**
|
||||
|
||||
```bash
|
||||
scoop install opencode
|
||||
```
|
||||
|
||||
- **使用 NPM**
|
||||
|
||||
```bash
|
||||
npm install -g opencode-ai
|
||||
```
|
||||
|
||||
- **使用米塞**
|
||||
|
||||
```bash
|
||||
mise use -g github:anomalyco/opencode
|
||||
```
|
||||
|
||||
- **使用 Docker**
|
||||
|
||||
```bash
|
||||
docker run -it --rm ghcr.io/anomalyco/opencode
|
||||
```
|
||||
|
||||
目前正在支持在 Windows 上安装 OpenCode 时使用 Bun。
|
||||
|
||||
您还可以从[发布](https://github.com/anomalyco/opencode/releases) 获取二进制文件。
|
||||
|
||||
---
|
||||
|
||||
## 配置
|
||||
|
||||
借助 OpenCode,您可以通过配置 API 来使用任何 LLM 成功。
|
||||
|
||||
如果您不熟悉使用 LLM 成功,我们建议使用[开放代码禅](/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` 文件
|
||||
項目根。
|
||||
|
||||
:::提示
|
||||
您应该将项目的 `AGENTS.md` 文件提交到 Git。
|
||||
:::
|
||||
|
||||
这有助于 OpenCode 理解项目结构和编码模式
|
||||
用過的。
|
||||
|
||||
---
|
||||
|
||||
## 用法
|
||||
|
||||
您现在已准备好使用 OpenCode 来处理您的项目。请轻松询问
|
||||
任何事物!
|
||||
|
||||
如果您不熟悉使用 AI 编码代理,以下是一些可能会有所帮助的示例
|
||||
幫助。
|
||||
|
||||
---
|
||||
|
||||
### 提出問題
|
||||
|
||||
您可以要求 OpenCode 向您解释代码库。
|
||||
|
||||
:::提示
|
||||
使用`@`鍵模糊搜索工程中的文件。
|
||||
:::
|
||||
|
||||
```txt frame="none" "@packages/functions/src/api/index.ts"
|
||||
How is authentication handled in @packages/functions/src/api/index.ts
|
||||
```
|
||||
|
||||
如果您沒有處理代碼庫的一部分,這會很有幫助。
|
||||
|
||||
---
|
||||
|
||||
### 添加功能
|
||||
|
||||
您可以要求 OpenCode 向您的项目添加新功能。但是我们首先建议要求它制定一个计划。
|
||||
|
||||
1. **制定計劃**
|
||||
|
||||
OpenCode 有一个*计划模式*,该模式禁止其进行更改和
|
||||
相反,建議*如何*實現該功能。
|
||||
|
||||
使用 **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 提供足够的详细信息才能了解您想要的内容。它有帮助
|
||||
就像與團隊中的初級開發人員交談一樣與它交談。
|
||||
|
||||
:::提示
|
||||
为 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.
|
||||
```
|
||||
|
||||
:::提示
|
||||
將圖像拖放到終端中以將其添加到提示中。
|
||||
:::
|
||||
|
||||
OpenCode 可以扫描您提供的任何图像并将其添加到提示中。您可以
|
||||
通過將圖像拖放到終端中來完成此操作。
|
||||
|
||||
3. **構建功能**
|
||||
|
||||
一旦您對計劃感到滿意,請切換回*構建模式*
|
||||
再次按 **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 重试。
|
||||
|
||||
:::提示
|
||||
您可以多次运行 `/undo` 以取消消减更改。
|
||||
:::
|
||||
|
||||
或者您**可以使用 `/redo` 命令重做**更改。
|
||||
|
||||
```bash frame="none"
|
||||
/redo
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 分享
|
||||
|
||||
您与 OpenCode 的对话可以[与您的
|
||||
團隊](/docs/分享)。
|
||||
|
||||
```bash frame="none"
|
||||
/share
|
||||
```
|
||||
|
||||
這將創建當前對話的鏈接並將其複製到剪貼板。
|
||||
|
||||
:::笔记
|
||||
默認情況下不共享對話。
|
||||
:::
|
||||
|
||||
这是带有 OpenCode 的[示例对话](https://opencode.ai/s/4XP1fce5)。
|
||||
|
||||
---
|
||||
|
||||
## 定制
|
||||
|
||||
就是这样!您现在已经是使用 OpenCode 的专家了。
|
||||
|
||||
要让您成为自己的,我们建议[选择一个主题](/docs/themes)、[自定义交互绑定](/docs/keybinds)、[配置代码整理程序](/docs/formatters)、[创建自定义命令](/docs/commands)或使用[开放代码配置](/docs/config)。
|
||||
Reference in New Issue
Block a user