summaryrefslogtreecommitdiffhomepage
path: root/packages/web/src/content/docs/ko
diff options
context:
space:
mode:
authorAdam <[email protected]>2026-02-28 15:27:11 -0600
committerGitHub <[email protected]>2026-02-28 15:27:11 -0600
commite1e18c7abdb1025d7be63acee1f188b94d16eb9b (patch)
treead14a08aba4752d3ab03452209520c94bb0df59e /packages/web/src/content/docs/ko
parent971bd30516fb2b245f87bdf79e36bb64e72265bc (diff)
downloadopencode-e1e18c7abdb1025d7be63acee1f188b94d16eb9b.tar.gz
opencode-e1e18c7abdb1025d7be63acee1f188b94d16eb9b.zip
chore(docs): i18n sync (#15417)
Diffstat (limited to 'packages/web/src/content/docs/ko')
-rw-r--r--packages/web/src/content/docs/ko/config.mdx57
-rw-r--r--packages/web/src/content/docs/ko/custom-tools.mdx26
-rw-r--r--packages/web/src/content/docs/ko/keybinds.mdx12
-rw-r--r--packages/web/src/content/docs/ko/plugins.mdx91
-rw-r--r--packages/web/src/content/docs/ko/providers.mdx707
-rw-r--r--packages/web/src/content/docs/ko/sdk.mdx140
-rw-r--r--packages/web/src/content/docs/ko/themes.mdx83
-rw-r--r--packages/web/src/content/docs/ko/tui.mdx200
-rw-r--r--packages/web/src/content/docs/ko/zen.mdx44
9 files changed, 762 insertions, 598 deletions
diff --git a/packages/web/src/content/docs/ko/config.mdx b/packages/web/src/content/docs/ko/config.mdx
index e906eaf47..2f08824d6 100644
--- a/packages/web/src/content/docs/ko/config.mdx
+++ b/packages/web/src/content/docs/ko/config.mdx
@@ -14,10 +14,11 @@ OpenCode는 **JSON**과 **JSONC**(주석이 포함된 JSON) 형식을 모두 지
```jsonc title="opencode.jsonc"
{
"$schema": "https://opencode.ai/config.json",
- // Theme configuration
- "theme": "opencode",
"model": "anthropic/claude-sonnet-4-5",
"autoupdate": true,
+ "server": {
+ "port": 4096,
+ },
}
```
@@ -33,7 +34,7 @@ config 파일은 **교체되지 않고 병합**됩니다.
config 파일은 서로 대체되는 방식이 아니라 병합됩니다. 아래 config 위치의 설정이 결합되며, 충돌하는 key에 대해서만 나중에 로드된 config가 앞선 값을 override합니다. 충돌하지 않는 설정은 모두 유지됩니다.
-예를 들어, 전역 config에 `theme: "opencode"`와 `autoupdate: true`가 있고 프로젝트 config에 `model: "anthropic/claude-sonnet-4-5"`가 있으면 최종 config에는 이 세 설정이 모두 포함됩니다.
+예를 들어, 전역 config에 `autoupdate: true`가 있고 프로젝트 config에 `model: "anthropic/claude-sonnet-4-5"`가 있으면 최종 config에는 이 설정이 모두 포함됩니다.
---
@@ -94,7 +95,9 @@ Remote config는 가장 먼저 로드되어 기본 레이어 역할을 합니다
### Global
-전역 OpenCode config는 `~/.config/opencode/opencode.json`에 두세요. theme, provider, keybind 같은 사용자 전체 기본 설정은 전역 config로 관리하세요.
+전역 OpenCode config는 `~/.config/opencode/opencode.json`에 두세요. provider, model, permissions 같은 사용자 전체 기본 설정은 전역 config로 관리하세요.
+
+TUI 관련 설정은 `~/.config/opencode/tui.json`을 사용하세요.
전역 config는 조직의 Remote 기본값을 override합니다.
@@ -104,6 +107,8 @@ Remote config는 가장 먼저 로드되어 기본 레이어 역할을 합니다
프로젝트 루트에 `opencode.json`을 추가하세요. 프로젝트 config는 표준 config 파일 중 우선순위가 가장 높아 전역 및 Remote config를 모두 override합니다.
+프로젝트별 TUI 설정은 `tui.json`을 함께 추가하세요.
+
:::tip
프로젝트별 config는 프로젝트 루트에 두세요.
:::
@@ -142,7 +147,9 @@ custom 디렉토리는 전역 config와 `.opencode` 디렉토리 뒤에 로드�
## Schema
-config 파일의 schema는 [**`opencode.ai/config.json`**](https://opencode.ai/config.json)에 정의되어 있습니다.
+server/runtime config schema는 [**`opencode.ai/config.json`**](https://opencode.ai/config.json)에 정의되어 있습니다.
+
+TUI config는 [**`opencode.ai/tui.json`**](https://opencode.ai/tui.json)을 사용합니다.
편집기에서 이 schema를 기반으로 validation과 autocomplete를 사용할 수 있습니다.
@@ -150,28 +157,24 @@ config 파일의 schema는 [**`opencode.ai/config.json`**](https://opencode.ai/c
### TUI
-`tui` 옵션으로 TUI 관련 설정을 구성할 수 있습니다.
+TUI 관련 설정에는 전용 `tui.json` (또는 `tui.jsonc`) 파일을 사용하세요.
-```json title="opencode.json"
+```json title="tui.json"
{
- "$schema": "https://opencode.ai/config.json",
- "tui": {
- "scroll_speed": 3,
- "scroll_acceleration": {
- "enabled": true
- },
- "diff_style": "auto"
- }
+ "$schema": "https://opencode.ai/tui.json",
+ "scroll_speed": 3,
+ "scroll_acceleration": {
+ "enabled": true
+ },
+ "diff_style": "auto"
}
```
-사용 가능한 옵션:
+`OPENCODE_TUI_CONFIG`를 사용하여 사용자 지정 TUI 설정 파일을 가리킬 수 있습니다.
-- `scroll_acceleration.enabled` - macOS 스타일 스크롤 가속을 활성화합니다. **`scroll_speed`보다 우선합니다.**
-- `scroll_speed` - 사용자 정의 스크롤 속도 배수(기본: `3`, 최소: `1`). `scroll_acceleration.enabled`가 `true`이면 무시됩니다.
-- `diff_style` - diff 렌더링 방식을 제어합니다. `"auto"`는 터미널 너비에 맞춰 조정되고, `"stacked"`는 항상 단일 컬럼으로 표시합니다.
+`opencode.json`의 기존 `theme`, `keybinds`, `tui` 키는 더 이상 사용되지 않으며(deprecated) 가능한 경우 자동으로 마이그레이션됩니다.
-[TUI에 대해 더 알아보기](/docs/tui).
+[TUI 구성에 대해 더 알아보기](/docs/tui#configure).
---
@@ -297,12 +300,12 @@ Bearer token(`AWS_BEARER_TOKEN_BEDROCK` 또는 `/connect`)은 profile 기반 인
### Themes
-`theme` 옵션으로 OpenCode config에서 사용할 theme를 설정할 수 있습니다.
+`tui.json`에서 UI 테마를 설정하세요.
-```json title="opencode.json"
+```json title="tui.json"
{
- "$schema": "https://opencode.ai/config.json",
- "theme": ""
+ "$schema": "https://opencode.ai/tui.json",
+ "theme": "tokyonight"
}
```
@@ -402,11 +405,11 @@ Bearer token(`AWS_BEARER_TOKEN_BEDROCK` 또는 `/connect`)은 profile 기반 인
### Keybinds
-`keybinds` 옵션으로 keybind를 커스터마이즈할 수 있습니다.
+`tui.json`에서 단축키를 사용자 지정하세요.
-```json title="opencode.json"
+```json title="tui.json"
{
- "$schema": "https://opencode.ai/config.json",
+ "$schema": "https://opencode.ai/tui.json",
"keybinds": {}
}
```
diff --git a/packages/web/src/content/docs/ko/custom-tools.mdx b/packages/web/src/content/docs/ko/custom-tools.mdx
index 77310557f..c90db16f1 100644
--- a/packages/web/src/content/docs/ko/custom-tools.mdx
+++ b/packages/web/src/content/docs/ko/custom-tools.mdx
@@ -79,6 +79,32 @@ export const multiply = tool({
---
+#### 기본 도구와 이름 충돌
+
+커스텀 도구는 도구 이름으로 식별됩니다. 커스텀 도구가 기본 도구와 같은 이름을 사용하면 커스텀 도구가 우선순위를 갖습니다.
+
+예를 들어, 이 파일은 기본 `bash` 도구를 대체합니다:
+
+```ts title=".opencode/tools/bash.ts"
+import { tool } from "@opencode-ai/plugin"
+
+export default tool({
+ description: "Restricted bash wrapper",
+ args: {
+ command: tool.schema.string(),
+ },
+ async execute(args) {
+ return `blocked: ${args.command}`
+ },
+})
+```
+
+:::note
+의도적으로 기본 도구를 대체하려는 경우가 아니라면 고유한 이름을 사용하는 것이 좋습니다. 도구를 오버라이드하지 않고 비활성화만 하려면 [permissions](/docs/permissions)를 사용하세요.
+:::
+
+---
+
### 인자
인자 타입은 `tool.schema`로 정의할 수 있습니다. `tool.schema`는 [Zod](https://zod.dev) 기반입니다.
diff --git a/packages/web/src/content/docs/ko/keybinds.mdx b/packages/web/src/content/docs/ko/keybinds.mdx
index aef7ae357..2920a2235 100644
--- a/packages/web/src/content/docs/ko/keybinds.mdx
+++ b/packages/web/src/content/docs/ko/keybinds.mdx
@@ -3,11 +3,11 @@ title: 키바인드
description: 키바인드를 커스터마이즈하세요.
---
-OpenCode에는 OpenCode config를 통해 커스터마이즈할 수 있는 keybinds 목록이 있습니다.
+OpenCode에는 `tui.json`을 통해 커스터마이즈할 수 있는 키바인드 목록이 있습니다.
-```json title="opencode.json"
+```json title="tui.json"
{
- "$schema": "https://opencode.ai/config.json",
+ "$schema": "https://opencode.ai/tui.json",
"keybinds": {
"leader": "ctrl+x",
"app_exit": "ctrl+c,ctrl+d,<leader>q",
@@ -117,11 +117,11 @@ keybinds에 리더 키를 꼭 사용할 필요는 없지만, 사용하는 것을
## 키바인드 비활성화
-config에 해당 키를 값 `"none"`으로 추가하면 keybind를 비활성화할 수 있습니다.
+`tui.json`에 해당 키를 값 `"none"`으로 추가하면 키바인드를 비활성화할 수 있습니다.
-```json title="opencode.json"
+```json title="tui.json"
{
- "$schema": "https://opencode.ai/config.json",
+ "$schema": "https://opencode.ai/tui.json",
"keybinds": {
"session_compact": "none"
}
diff --git a/packages/web/src/content/docs/ko/plugins.mdx b/packages/web/src/content/docs/ko/plugins.mdx
index 7214f3265..f20eb90c4 100644
--- a/packages/web/src/content/docs/ko/plugins.mdx
+++ b/packages/web/src/content/docs/ko/plugins.mdx
@@ -3,7 +3,7 @@ title: 플러그인
description: OpenCode를 확장하기 위해 자신만의 플러그인을 작성하세요.
---
-플러그인은 다양한 이벤트와 사용자 정의 행동으로 후킹하여 opencode를 확장 할 수 있습니다. 플러그인을 만들 수 있습니다 새로운 기능을 추가, 외부 서비스와 통합, 또는 opencode의 기본 동작을 수정.
+플러그인은 다양한 이벤트와 사용자 정의 행동으로 후킹하여 opencode를 확장 할 수 있습니다. 플러그인을 사용하여 새로운 기능을 추가하거나, 외부 서비스와 통합하거나, opencode의 기본 동작을 수정할 수 있습니다.
예를 들어, 커뮤니티에 의해 생성 된 [plugins](/docs/ecosystem#plugins)를 확인하십시오.
@@ -11,18 +11,18 @@ description: OpenCode를 확장하기 위해 자신만의 플러그인을 작성
## 플러그인 사용
-플러그인을로드하는 두 가지 방법이 있습니다.
+플러그인을 로드하는 두 가지 방법이 있습니다.
---
-## 로컬 파일에서
+### 로컬 파일에서
플러그인 디렉토리에 JavaScript 또는 TypeScript 파일을 배치합니다.
- `.opencode/plugins/` - 프로젝트 레벨 플러그인
- `~/.config/opencode/plugins/` - 글로벌 플러그인
-이 디렉토리의 파일은 자동으로 시작에로드됩니다.
+이 디렉토리의 파일은 시작 시 자동으로 로드됩니다.
---
@@ -37,43 +37,42 @@ config 파일에 npm 패키지를 지정합니다.
}
```
-일반 및 범위의 npm 패키지 모두 지원됩니다.
+일반 패키지 및 스코프 npm 패키지 모두 지원됩니다.
[ecosystem](/docs/ecosystem#plugins)에서 사용할 수 있는 플러그인을 찾아보세요.
---
-## 플러그인이 설치되는 방법
+### 플러그인이 설치되는 방법
-**npm 플러그인**은 시작시 Bun을 사용하여 자동으로 설치됩니다. 패키지와 그들의 의존성은 `~/.cache/opencode/node_modules/`에서 캐시됩니다.
+**npm 플러그인**은 시작시 Bun을 사용하여 자동으로 설치됩니다. 패키지와 그 의존성은 `~/.cache/opencode/node_modules/`에 캐시됩니다.
-**로컬 플러그인**은 플러그인 디렉토리에서 직접로드됩니다. 외부 패키지를 사용하려면 구성 디렉토리 내 `package.json`를 작성해야 합니다 ([Dependencies](#dependencies)), 또는 플러그인을 npm에 게시하고 [config에 추가](/docs/config#plugins).
+**로컬 플러그인**은 플러그인 디렉토리에서 직접 로드됩니다. 외부 패키지를 사용하려면 구성 디렉토리 내에 `package.json`을 작성해야 하거나([의존성](#의존성) 참조), 플러그인을 npm에 게시하고 [config에 추가](/docs/config#plugins)해야 합니다.
---
-## 로드 순서
+### 로드 순서
-플러그인은 모든 소스에서로드되며 모든 후크는 순서대로 실행됩니다. 로드 순서는 다음과 같습니다:
+플러그인은 모든 소스에서 로드되며 모든 후크는 순서대로 실행됩니다. 로드 순서는 다음과 같습니다:
1. 글로벌 구성 (`~/.config/opencode/opencode.json`)
2. 프로젝트 구성 (`opencode.json`)
3. 글로벌 플러그인 디렉토리 (`~/.config/opencode/plugins/`)
4. 프로젝트 플러그인 디렉토리 (`.opencode/plugins/`)
-중복 npm 패키지는 한 번만 로드됩니다. 하지만, 로컬 플러그인과 같은 이름과 npm 플러그인은 모두 별도로로드됩니다.
+중복된 이름과 버전의 npm 패키지는 한 번만 로드됩니다. 하지만 로컬 플러그인과 npm 플러그인의 이름이 비슷하더라도 둘 다 별도로 로드됩니다.
---
## 플러그인 만들기
-플러그인은 **JavaScript/TypeScript 모듈**입니다.
-기능. 각 함수는 context 객체를 수신하고 Hooks 객체를 반환합니다.
+플러그인은 하나 이상의 플러그인 함수를 내보내는 **JavaScript/TypeScript 모듈**입니다. 각 함수는 context 객체를 수신하고 hooks 객체를 반환합니다.
---
### 의존성
-로컬 플러그인 및 사용자 정의 도구는 외부 npm 패키지를 사용할 수 있습니다. `package.json`를 config 디렉토리에 추가하면 필요한 의존도가 있습니다.
+로컬 플러그인 및 사용자 정의 도구는 외부 npm 패키지를 사용할 수 있습니다. config 디렉토리에 `package.json`을 추가하고 필요한 의존성을 명시하십시오.
```json title=".opencode/package.json"
{
@@ -83,7 +82,7 @@ config 파일에 npm 패키지를 지정합니다.
}
```
-opencode는 `bun install`를 시작합니다. 플러그인 및 도구가 가져올 수 있습니다.
+opencode는 시작 시 `bun install`을 실행하여 이를 설치합니다. 이후 플러그인 및 도구에서 가져올 수 있습니다.
```ts title=".opencode/plugins/my-plugin.ts"
import { escape } from "shescape"
@@ -113,19 +112,19 @@ export const MyPlugin = async ({ project, client, $, directory, worktree }) => {
}
```
-플러그인 기능 수신:
+플러그인 함수가 받는 인자:
- `project`: 현재 프로젝트 정보.
- `directory`: 현재 작업 디렉토리.
- `worktree`: git worktree 경로.
- `client`: AI와 상호 작용을 위한 opencode SDK 클라이언트.
-- `$`: Bun's [shell API](https://bun.com/docs/runtime/shell) 명령어를 실행합니다.
+- `$`: 명령어를 실행하기 위한 Bun의 [shell API](https://bun.com/docs/runtime/shell).
---
### TypeScript 지원
-TypeScript 플러그인의 경우 플러그인 패키지에서 유형을 가져올 수 있습니다.
+TypeScript 플러그인의 경우 플러그인 패키지에서 타입을 가져올 수 있습니다.
```ts title="my-plugin.ts" {1}
import type { Plugin } from "@opencode-ai/plugin"
@@ -139,29 +138,29 @@ export const MyPlugin: Plugin = async ({ project, client, $, directory, worktree
---
-## 이벤트
+### 이벤트
-플러그인은 예제 섹션에서 아래에서 볼 때 이벤트에 가입 할 수 있습니다. 여기에 다른 이벤트의 목록입니다.
+플러그인은 아래 예제 섹션에서 볼 수 있듯이 이벤트를 구독할 수 있습니다. 사용 가능한 이벤트 목록은 다음과 같습니다.
-### 명령어 이벤트
+#### 명령어 이벤트
- `command.executed`
-### 파일 이벤트
+#### 파일 이벤트
- `file.edited`
- `file.watcher.updated`
-### 설치 이벤트
+#### 설치 이벤트
- `installation.updated`
-### LSP 이벤트
+#### LSP 이벤트
- `lsp.client.diagnostics`
- `lsp.updated`
-### 메시지 이벤트
+#### 메시지 이벤트
- `message.part.removed`
- `message.part.updated`
@@ -173,11 +172,11 @@ export const MyPlugin: Plugin = async ({ project, client, $, directory, worktree
- `permission.asked`
- `permission.replied`
-### 서버 이벤트
+#### 서버 이벤트
- `server.connected`
-### 세션 이벤트
+#### 세션 이벤트
- `session.created`
- `session.compacted`
@@ -188,7 +187,7 @@ export const MyPlugin: Plugin = async ({ project, client, $, directory, worktree
- `session.status`
- `session.updated`
-### Todo 이벤트
+#### Todo 이벤트
- `todo.updated`
@@ -196,7 +195,7 @@ export const MyPlugin: Plugin = async ({ project, client, $, directory, worktree
- `shell.env`
-##### 도구 이벤트
+#### 도구 이벤트
- `tool.execute.after`
- `tool.execute.before`
@@ -211,11 +210,11 @@ export const MyPlugin: Plugin = async ({ project, client, $, directory, worktree
## 예제
-opencode를 확장하기 위해 사용할 수있는 플러그인의 몇 가지 예입니다.
+opencode를 확장하기 위해 사용할 수 있는 플러그인 예제입니다.
---
-## 알림 보내기
+### 알림 보내기
특정 이벤트가 발생할 때 알림을 전송:
@@ -232,7 +231,7 @@ export const NotificationPlugin = async ({ project, client, $, directory, worktr
}
```
-macOS에서 AppleScript를 실행하려면 `osascript`를 사용하고 있습니다. 여기에 우리는 그것을 사용하여 알림을 보낼 수 있습니다.
+macOS에서 AppleScript를 실행하기 위해 `osascript`를 사용하고 있습니다. 여기서는 알림을 보내는 데 사용합니다.
:::note
opencode 데스크톱 앱을 사용하는 경우 응답이 준비되어 있거나 세션 오류가 있을 때 시스템 알림을 자동으로 보낼 수 있습니다.
@@ -242,7 +241,7 @@ opencode 데스크톱 앱을 사용하는 경우 응답이 준비되어 있거�
### .env 보호
-읽기 `.env` 파일에서 opencode를 방지하십시오:
+opencode가 `.env` 파일을 읽지 못하도록 방지:
```javascript title=".opencode/plugins/env-protection.js"
export const EnvProtection = async ({ project, client, $, directory, worktree }) => {
@@ -260,7 +259,7 @@ export const EnvProtection = async ({ project, client, $, directory, worktree })
### Inject 환경 변수
-환경 변수를 모든 shell 실행 (AI 도구 및 사용자 terminal)로 주사하십시오.
+모든 shell 실행(AI 도구 및 사용자 terminal)에 환경 변수 주입:
```javascript title=".opencode/plugins/inject-env.js"
export const InjectEnvPlugin = async () => {
@@ -277,7 +276,7 @@ export const InjectEnvPlugin = async () => {
### 사용자 정의 도구
-플러그인은 opencode에 사용자 정의 도구를 추가 할 수 있습니다 :
+플러그인은 opencode에 사용자 정의 도구를 추가할 수 있습니다:
```ts title=".opencode/plugins/custom-tools.ts"
import { type Plugin, tool } from "@opencode-ai/plugin"
@@ -300,13 +299,17 @@ export const CustomToolsPlugin: Plugin = async (ctx) => {
}
```
-`tool` helper는 opencode가 호출 할 수있는 사용자 정의 도구를 만듭니다. Zod schema 기능을 가지고 도구 정의를 반환:
+`tool` helper는 opencode가 호출할 수 있는 사용자 정의 도구를 만듭니다. Zod 스키마 함수를 받고 다음을 포함하는 도구 정의를 반환합니다:
-- `description`: 도구는 무엇을
+- `description`: 도구가 하는 일
- `args`: 도구의 인수에 대한 Zod 스키마
-- `execute`: 도구가 호출될 때 실행되는 기능
+- `execute`: 도구가 호출될 때 실행되는 함수
-사용자 정의 도구는 내장 도구와 함께 opencode를 사용할 수 있습니다.
+사용자 정의 도구는 내장 도구와 함께 opencode에서 사용할 수 있습니다.
+
+:::note
+플러그인 도구가 내장 도구와 같은 이름을 사용하면 플러그인 도구가 우선순위를 갖습니다.
+:::
---
@@ -331,9 +334,9 @@ export const MyPlugin = async ({ client }) => {
---
-## Compaction 훅
+### Compaction 훅
-세션이 압축 될 때 포함 된 컨텍스트를 사용자 지정:
+세션이 압축될 때 포함되는 컨텍스트를 사용자 지정할 수 있습니다:
```ts title=".opencode/plugins/compaction.ts"
import type { Plugin } from "@opencode-ai/plugin"
@@ -355,9 +358,9 @@ Include any state that should persist across compaction:
}
```
-LLM이 압축 요약을 생성하기 전에 `experimental.session.compacting` 훅이 실행됩니다. 기본 압축 프롬프트를 대체할 수 있도록 도메인 별 컨텍스트를 주입합니다.
+`experimental.session.compacting` 훅은 LLM이 연속 요약을 생성하기 전에 실행됩니다. 기본 압축 프롬프트가 놓칠 수 있는 도메인별 컨텍스트를 주입하는 데 사용하세요.
-당신은 또한 `output.prompt`를 조정해서 조밀함을 전적으로 대체할 수 있습니다:
+또한 `output.prompt`를 설정하여 압축 프롬프트를 완전히 대체할 수도 있습니다:
```ts title=".opencode/plugins/custom-compaction.ts"
import type { Plugin } from "@opencode-ai/plugin"
@@ -382,4 +385,4 @@ Format as a structured prompt that a new agent can use to resume work.
}
```
-`output.prompt`가 설정되면 완전히 기본 압축 프롬프트를 대체합니다. `output.context` 배열은 이 경우에 무시됩니다.
+`output.prompt`가 설정되면 기본 압축 프롬프트를 완전히 대체합니다. 이 경우 `output.context` 배열은 무시됩니다.
diff --git a/packages/web/src/content/docs/ko/providers.mdx b/packages/web/src/content/docs/ko/providers.mdx
index ea48dbfb0..95b4907e2 100644
--- a/packages/web/src/content/docs/ko/providers.mdx
+++ b/packages/web/src/content/docs/ko/providers.mdx
@@ -3,7 +3,7 @@ title: 공급자
description: OpenCode에서 LLM 공급자를 사용합니다.
---
-import config from "../../../../config.mjs"
+import config from "../../../config.mjs"
export const console = config.console
OpenCode는 [AI SDK](https://ai-sdk.dev/) 및 [Models.dev](https://models.dev)를 사용하여 **75개 이상의 LLM 공급자**를 지원하며 로컬 모델도 실행할 수 있습니다.
@@ -22,13 +22,13 @@ OpenCode는 [AI SDK](https://ai-sdk.dev/) 및 [Models.dev](https://models.dev)�
---
-#### 구성
+### 구성
OpenCode 설정의 `provider` 섹션을 통해 공급자를 사용자 정의할 수 있습니다.
---
-### 기본 URL
+#### 기본 URL
`baseURL` 옵션을 설정하여 모든 공급자를 위한 기본 URL을 사용자 정의할 수 있습니다. 프록시 서비스 또는 사용자 정의 엔드포인트를 사용할 때 유용합니다.
@@ -55,7 +55,38 @@ OpenCode Zen은 OpenCode 팀이 OpenCode와 잘 작동하도록 테스트하고
처음이라면 OpenCode Zen으로 시작하는 것이 좋습니다.
:::
-1. TUI에서 `/connect` 명령을 실행하고 `opencode`를 선택한 뒤, [opencode.ai/auth](https://opencode.ai/auth)로 이동합니다.
+1. TUI에서 `/connect` 명령을 실행하고 `OpenCode Zen`을 선택한 뒤, [opencode.ai/auth](https://opencode.ai/zen)로 이동합니다.
+
+ ```txt
+ /connect
+ ```
+
+2. 로그인하고 결제 정보를 입력한 후 API 키를 복사하십시오.
+
+3. API 키를 붙여넣습니다.
+
+ ```txt
+ ┌ API key
+ │
+ │
+ └ enter
+ ```
+
+4. TUI에서 `/models`를 실행하여 추천 모델 목록을 볼 수 있습니다.
+
+ ```txt
+ /models
+ ```
+
+OpenCode의 다른 공급자처럼 작동하며 사용은 완전히 선택 사항입니다.
+
+---
+
+## OpenCode Go
+
+OpenCode Go는 OpenCode 팀이 테스트하고 검증하여 OpenCode와 잘 작동하는 인기 있는 오픈 코딩 모델에 안정적으로 액세스할 수 있는 저렴한 구독 요금제입니다.
+
+1. TUI에서 `/connect` 명령을 실행하고 `OpenCode Go`를 선택한 뒤 [opencode.ai/auth](https://opencode.ai/zen)로 이동하십시오.
```txt
/connect
@@ -129,15 +160,15 @@ OpenCode로 Amazon Bedrock을 사용하려면:
Amazon Bedrock에서 원하는 모델에 대한 액세스 권한이 있어야 합니다.
:::
-2. 다음 방법 중 하나를 사용하여 **설정**합니다:
+2. 다음 방법 중 하나를 사용하여 **인증을 구성**합니다:
----
+ ***
-### 환경 변수 (빠른 시작)
+ #### 환경 변수 (빠른 시작)
-OpenCode를 실행하는 동안 다음 환경 변수 중 하나를 설정합니다:
+ OpenCode를 실행하는 동안 다음 환경 변수 중 하나를 설정합니다:
-```bash
+ ```bash
# Option 1: Using AWS access keys
AWS_ACCESS_KEY_ID=XXX AWS_SECRET_ACCESS_KEY=YYY opencode
@@ -146,87 +177,84 @@ OpenCode를 실행하는 동안 다음 환경 변수 중 하나를 설정합니�
# Option 3: Using Bedrock bearer token
AWS_BEARER_TOKEN_BEDROCK=XXX opencode
-```
+ ```
-또는 bash 프로필에 추가합니다:
+ 또는 bash 프로필에 추가합니다:
-```bash title="~/.bash_profile"
+ ```bash title="~/.bash_profile"
export AWS_PROFILE=my-dev-profile
export AWS_REGION=us-east-1
-```
-
----
-
-#### 설정 파일 (권장)
-
-프로젝트별 또는 영구 구성을 위해 `opencode.json`을 사용하십시오.
+ ```
-```json title="opencode.json"
-{
- "$schema": "https://opencode.ai/config.json",
- "provider": {
- "amazon-bedrock": {
- "options": {
- "region": "us-east-1",
- "profile": "my-aws-profile"
- }
- }
- }
-}
-```
+ ***
-**유효한 옵션:**
+ #### 구성 파일 (권장)
-- `region` - AWS 리전 (예: `us-east-1`, `eu-west-1`)
-- `profile` - `~/.aws/credentials`의 AWS 프로필 이름
-- `endpoint` - VPC 엔드포인트 등을 위한 사용자 정의 엔드포인트 URL (일반 `baseURL` 옵션의 별칭)
+ 프로젝트별 또는 영구 구성을 위해 `opencode.json`을 사용하십시오:
- :::tip
- 구성 파일 옵션은 환경 변수보다 우선 순위가 높습니다.
- :::
+ ```json title="opencode.json"
+ {
+ "$schema": "https://opencode.ai/config.json",
+ "provider": {
+ "amazon-bedrock": {
+ "options": {
+ "region": "us-east-1",
+ "profile": "my-aws-profile"
+ }
+ }
+ }
+ }
+ ```
----
+ **유효한 옵션:**
+ - `region` - AWS 리전 (예: `us-east-1`, `eu-west-1`)
+ - `profile` - `~/.aws/credentials`의 AWS 프로필 이름
+ - `endpoint` - VPC 엔드포인트 등을 위한 사용자 정의 엔드포인트 URL (일반 `baseURL` 옵션의 별칭)
-#### 고급: VPC 엔드포인트
+ :::tip
+ 구성 파일 옵션은 환경 변수보다 우선 순위가 높습니다.
+ :::
-Bedrock의 VPC 엔드포인트를 사용하는 경우:
+ ***
-```json title="opencode.json"
-{
- "$schema": "https://opencode.ai/config.json",
- "provider": {
- "amazon-bedrock": {
- "options": {
- "region": "us-east-1",
- "profile": "production",
- "endpoint": "https://bedrock-runtime.us-east-1.vpce-xxxxx.amazonaws.com"
- }
- }
- }
-}
-```
+ #### 고급: VPC 엔드포인트
-:::note
-`endpoint` 옵션은 일반적인 `baseURL` 옵션의 별칭입니다. `endpoint`와 `baseURL` 둘 다 지정된 경우 `endpoint`가 우선합니다.
-:::
+ Bedrock의 VPC 엔드포인트를 사용하는 경우:
----
+ ```json title="opencode.json"
+ {
+ "$schema": "https://opencode.ai/config.json",
+ "provider": {
+ "amazon-bedrock": {
+ "options": {
+ "region": "us-east-1",
+ "profile": "production",
+ "endpoint": "https://bedrock-runtime.us-east-1.vpce-xxxxx.amazonaws.com"
+ }
+ }
+ }
+ }
+ ```
-#### 인증 방법
+ :::note
+ `endpoint` 옵션은 일반적인 `baseURL` 옵션의 별칭입니다. `endpoint`와 `baseURL` 둘 다 지정된 경우 `endpoint`가 우선합니다.
+ :::
-- **`AWS_ACCESS_KEY_ID`/`AWS_SECRET_ACCESS_KEY`**: IAM 사용자 및 AWS 콘솔에서 액세스 키 생성
-- **`AWS_PROFILE`**: `~/.aws/credentials`의 프로필 이름을 사용합니다. `aws configure --profile my-profile` 또는 `aws sso login`으로 먼저 구성하십시오.
-- **`AWS_BEARER_TOKEN_BEDROCK`**: Amazon Bedrock 콘솔에서 임시 API 키 생성
-- **`AWS_WEB_IDENTITY_TOKEN_FILE` / `AWS_ROLE_ARN`**: EKS IRSA (서비스 계정용 IAM 역할) 또는 다른 Kubernetes 환경의 OIDC 연동. 이 환경 변수는 서비스 계정을 사용할 때 Kubernetes에 의해 자동으로 주입됩니다.
+ ***
----
+ #### 인증 방법
+ - **`AWS_ACCESS_KEY_ID` / `AWS_SECRET_ACCESS_KEY`**: IAM 사용자 및 AWS 콘솔에서 액세스 키 생성
+ - **`AWS_PROFILE`**: `~/.aws/credentials`의 프로필 이름을 사용합니다. `aws configure --profile my-profile` 또는 `aws sso login`으로 먼저 구성하십시오.
+ - **`AWS_BEARER_TOKEN_BEDROCK`**: Amazon Bedrock 콘솔에서 임시 API 키 생성
+ - **`AWS_WEB_IDENTITY_TOKEN_FILE` / `AWS_ROLE_ARN`**: EKS IRSA (서비스 계정용 IAM 역할) 또는 다른 Kubernetes 환경의 OIDC 연동. 이 환경 변수는 서비스 계정을 사용할 때 Kubernetes에 의해 자동으로 주입됩니다.
-#### 인증 우선 순위
+ ***
-Amazon Bedrock은 다음과 같은 인증 우선 순위를 사용합니다.
+ #### 인증 우선 순위
-1. **Bearer Token** - `AWS_BEARER_TOKEN_BEDROCK` 환경 변수 또는 `/connect` 명령의 토큰
-2. **AWS Credential Chain** - 프로필, 액세스 키, 공유 자격 증명, IAM 역할, 웹 ID 토큰 (EKS IRSA), 인스턴스 메타데이터
+ Amazon Bedrock은 다음과 같은 인증 우선 순위를 사용합니다.
+ 1. **Bearer Token** - `AWS_BEARER_TOKEN_BEDROCK` 환경 변수 또는 `/connect` 명령의 토큰
+ 2. **AWS Credential Chain** - 프로필, 액세스 키, 공유 자격 증명, IAM 역할, 웹 ID 토큰 (EKS IRSA), 인스턴스 메타데이터
:::note
Bearer 토큰을 설정할 때 (`/connect` 또는 `AWS_BEARER_TOKEN_BEDROCK`를 통해), 구성된 프로필을 포함한 모든 AWS 자격 증명 방법보다 우선 순위가 높습니다.
@@ -260,7 +288,7 @@ Amazon Bedrock은 다음과 같은 인증 우선 순위를 사용합니다.
---
-#### Anthropic
+### Anthropic
1. 가입 후 `/connect` 명령을 실행하고 **Anthropic**을 선택합니다.
@@ -268,7 +296,7 @@ Amazon Bedrock은 다음과 같은 인증 우선 순위를 사용합니다.
/connect
```
-2. **Claude Pro/Max** 옵션을 선택하면 브라우저가 열립니다.
+2. **Claude Pro/Max** 옵션을 선택하면 브라우저가 열리고 인증을 요청합니다.
```txt
┌ Select auth method
@@ -300,7 +328,7 @@ Pro/Max 구독이 없는 경우 **Create an API Key**를 선택할 수 있습니
### Azure OpenAI
:::note
-"I'm sorry, but I can't support that request" 오류가 발생하면, Azure 리소스의 콘텐츠 필터를 **DefaultV2**에서 **Default**로 변경해 보세요.
+"I'm sorry, but I cannot assist with that request" 오류가 발생하면, Azure 리소스의 콘텐츠 필터를 **DefaultV2**에서 **Default**로 변경해 보세요.
:::
1. [Azure 포털](https://portal.azure.com/)로 이동하여 **Azure OpenAI** 리소스를 만듭니다. 다음이 필요합니다:
@@ -395,7 +423,7 @@ Pro/Max 구독이 없는 경우 **Create an API Key**를 선택할 수 있습니
---
-#### Baseten
+### Baseten
1. [Baseten](https://app.baseten.co/)으로 이동하여 계정을 만들고 API 키를 생성합니다.
@@ -422,7 +450,7 @@ Pro/Max 구독이 없는 경우 **Create an API Key**를 선택할 수 있습니
---
-#### Cerebras
+### Cerebras
1. [Cerebras 콘솔](https://inference.cerebras.ai/)로 이동하여 계정을 만들고 API 키를 생성합니다.
@@ -441,7 +469,7 @@ Pro/Max 구독이 없는 경우 **Create an API Key**를 선택할 수 있습니
└ enter
```
-4. `/models` 명령을 실행하여 모델(예: Qwen 3 Coder 480B)을 선택하십시오.
+4. `/models` 명령을 실행하여 모델(예: _Qwen 3 Coder 480B_)을 선택하십시오.
```txt
/models
@@ -449,7 +477,7 @@ Pro/Max 구독이 없는 경우 **Create an API Key**를 선택할 수 있습니
---
-## Cloudflare AI Gateway
+### Cloudflare AI Gateway
Cloudflare AI Gateway는 OpenAI, Anthropic, Workers AI 등의 모델에 액세스할 수 있으며, 통합된 엔드포인트를 통해 더 많은 기능을 제공합니다. [Unified Billing](https://developers.cloudflare.com/ai-gateway/features/unified-billing/)을 사용하면 각 공급자의 별도 API 키가 필요하지 않습니다.
@@ -507,7 +535,7 @@ Cloudflare AI Gateway는 OpenAI, Anthropic, Workers AI 등의 모델에 액세�
---
-#### Cortecs
+### Cortecs
1. [Cortecs 콘솔](https://cortecs.ai/)로 이동하여 계정을 만들고 API 키를 생성합니다.
@@ -526,7 +554,7 @@ Cloudflare AI Gateway는 OpenAI, Anthropic, Workers AI 등의 모델에 액세�
└ enter
```
-4. `/models` 명령을 실행하여 모델(예: Kimi K2 Instruct)을 선택하십시오.
+4. `/models` 명령을 실행하여 모델(예: _Kimi K2 Instruct_)을 선택하십시오.
```txt
/models
@@ -534,7 +562,7 @@ Cloudflare AI Gateway는 OpenAI, Anthropic, Workers AI 등의 모델에 액세�
---
-## DeepSeek
+### DeepSeek
1. [DeepSeek 콘솔](https://platform.deepseek.com/)로 이동하여 계정을 만들고 **API Keys**를 클릭하여 키를 생성합니다.
@@ -553,7 +581,7 @@ Cloudflare AI Gateway는 OpenAI, Anthropic, Workers AI 등의 모델에 액세�
└ enter
```
-4. `/models` 명령을 실행하여 DeepSeek 모델(예: DeepSeek Reasoner)을 선택하십시오.
+4. `/models` 명령을 실행하여 DeepSeek 모델(예: _DeepSeek Reasoner_)을 선택하십시오.
```txt
/models
@@ -561,7 +589,7 @@ Cloudflare AI Gateway는 OpenAI, Anthropic, Workers AI 등의 모델에 액세�
---
-## Deep Infra
+### Deep Infra
1. [Deep Infra 대시보드](https://deepinfra.com/dash)로 이동하여 계정을 만들고 API 키를 생성합니다.
@@ -588,7 +616,7 @@ Cloudflare AI Gateway는 OpenAI, Anthropic, Workers AI 등의 모델에 액세�
---
-## Firmware
+### Firmware
1. [Firmware 대시보드](https://app.firmware.ai/signup)로 이동하여 계정을 만들고 API 키를 생성합니다.
@@ -615,7 +643,7 @@ Cloudflare AI Gateway는 OpenAI, Anthropic, Workers AI 등의 모델에 액세�
---
-## Fireworks AI
+### Fireworks AI
1. [Fireworks AI 콘솔](https://app.fireworks.ai/)로 이동하여 계정을 만들고 **API Keys**를 클릭합니다.
@@ -634,7 +662,7 @@ Cloudflare AI Gateway는 OpenAI, Anthropic, Workers AI 등의 모델에 액세�
└ enter
```
-4. `/models` 명령을 실행하여 모델(예: Kimi K2 Instruct)을 선택하십시오.
+4. `/models` 명령을 실행하여 모델(예: _Kimi K2 Instruct_)을 선택하십시오.
```txt
/models
@@ -662,38 +690,33 @@ GitLab Duo는 GitLab의 Anthropic 프록시를 통해 기본 도구 호출 기�
```
-#### OAuth 사용 (권장)
-
-**OAuth**를 선택하면 브라우저에서 권한 부여를 요청합니다.
-
----
+ #### OAuth 사용 (권장)
-### 개인 액세스 토큰 사용
+ **OAuth**를 선택하면 브라우저가 열리고 인증을 요청합니다.
-1. [GitLab User Settings > Access Tokens](https://gitlab.com/-/user_settings/personal_access_tokens)로 이동
-2. 새 토큰 추가
-3. 이름: `OpenCode`, 범위: `api`
-4. 토큰 복사 (`glpat-`로 시작)
-5. 터미널에 입력하십시오.
+ #### 개인 액세스 토큰 사용
+ 1. [GitLab User Settings > Access Tokens](https://gitlab.com/-/user_settings/personal_access_tokens)로 이동
+ 2. **Add new token** 클릭
+ 3. 이름: `OpenCode`, 범위: `api`
+ 4. 토큰 복사 (`glpat-`로 시작)
+ 5. 터미널에 입력
-6. 사용 가능한 모델을 보려면 `/models` 명령을 실행하십시오.
+3. `/models` 명령을 실행하여 사용 가능한 모델을 확인하십시오.
```txt
/models
```
-세 가지 Claude 기반 모델을 사용할 수 있습니다:
-
-- **duo-chat-haiku-4-5** (기본값) - 빠른 작업을 위한 빠른 응답
-- **duo-chat-sonnet-4-5** - 대부분의 워크플로우에 균형 잡힌 성능
-- **duo-chat-opus-4-5** - 복잡한 분석 가능
+ 세 가지 Claude 기반 모델을 사용할 수 있습니다:
+ - **duo-chat-haiku-4-5** (기본값) - 빠른 작업을 위한 빠른 응답
+ - **duo-chat-sonnet-4-5** - 대부분의 워크플로우에 균형 잡힌 성능
+ - **duo-chat-opus-4-5** - 복잡한 분석에 적합
:::note
-`GITLAB_TOKEN` 환경 변수를 지정할 수도 있습니다.
-OpenCode는 인증 저장소에 토큰을 저장합니다.
+`GITLAB_TOKEN` 환경 변수를 지정하여 토큰을 저장하지 않고 사용할 수도 있습니다.
:::
-#### 셀프 호스팅 GitLab (Self-Hosted)
+#### 셀프 호스팅 GitLab
:::note[규정 준수 참고 사항]
OpenCode는 세션 제목 생성과 같은 일부 AI 작업을 위해 작은 모델을 사용합니다.
@@ -711,7 +734,7 @@ OpenCode를 자체 호스팅 GitLab 인스턴스만 사용하도록 제한하려
:::
-자체 호스팅 GitLab 인스턴스:
+자체 호스팅 GitLab 인스턴스의 경우:
```bash
export GITLAB_INSTANCE_URL=https://gitlab.company.com
@@ -721,7 +744,7 @@ export GITLAB_TOKEN=glpat-...
인스턴스가 사용자 정의 AI Gateway를 실행하는 경우:
```bash
-export GITLAB_AI_GATEWAY_URL=https://ai-gateway.company.com
+GITLAB_AI_GATEWAY_URL=https://ai-gateway.company.com
```
또는 bash 프로필에 추가:
@@ -737,19 +760,18 @@ GitLab 관리자는 다음을 활성화해야 합니다:
1. [Duo Agent Platform](https://docs.gitlab.com/user/gitlab_duo/turn_on_off/) (사용자, 그룹 또는 인스턴스)
2. 기능 플래그 (Rails 콘솔을 통해):
-
-- `agent_platform_claude_code`
-- `third_party_agents_enabled`
- :::
+ - `agent_platform_claude_code`
+ - `third_party_agents_enabled`
+ :::
#### 셀프 호스팅 인스턴스용 OAuth
자체 호스팅 인스턴스에 대해 OAuth를 작동시키려면 새로운 애플리케이션(Settings → Applications)을 만들어야 합니다.
콜백 URL `http://127.0.0.1:8080/callback` 및 다음 범위가 필요합니다:
-- `api` (사용자 대신 API 액세스)
-- `read_user` (개인 정보 읽기)
-- `read_repository` (리포지토리 읽기 전용 액세스)
+- api (사용자 대신 API 액세스)
+- read_user (개인 정보 읽기)
+- read_repository (리포지토리 읽기 전용 액세스)
그런 다음 애플리케이션 ID를 환경 변수로 노출하십시오:
@@ -759,7 +781,7 @@ export GITLAB_OAUTH_CLIENT_ID=your_application_id_here
[opencode-gitlab-auth](https://www.npmjs.com/package/@gitlab/opencode-gitlab-auth) 홈페이지에 추가 문서가 있습니다.
-##### 구성
+#### 구성
`opencode.json`을 통해 사용자 정의:
@@ -780,7 +802,7 @@ export GITLAB_OAUTH_CLIENT_ID=your_application_id_here
}
```
-##### GitLab API 도구 (선택 사항이지만 강력 권장)
+#### GitLab API 도구 (선택 사항이지만 강력 권장)
GitLab 도구(병합 요청, 이슈, 파이프라인, CI/CD 등)에 액세스하려면:
@@ -797,13 +819,10 @@ GitLab 도구(병합 요청, 이슈, 파이프라인, CI/CD 등)에 액세스하
### GitHub Copilot
-GitHub Copilot 구독을 사용하여 opencode:
+OpenCode에서 GitHub Copilot 구독을 사용하려면:
:::note
-몇몇 모형은 [Pro+를 필요로 할지도 모릅니다
-구독](https://github.com/features/copilot/plans) 사용.
-
-일부 모델은 수동으로 활성화해야합니다 [GitHub Copilot 설정](https://docs.github.com/en/copilot/how-tos/use-ai-models/configure-access-to-ai-models#setup-for-individual-use).
+일부 모델은 [Pro+ 구독](https://github.com/features/copilot/plans)이 필요할 수 있습니다.
:::
1. `/connect` 명령을 실행하고 GitHub Copilot을 검색하십시오.
@@ -821,7 +840,8 @@ GitHub Copilot 구독을 사용하여 opencode:
│ Enter code: 8F43-6FCF
- └ Waiting for authorization...
+ │ Waiting for authorization...
+ └
```
3. 이제 원하는 모델을 선택하기 위해 `/models` 명령을 실행합니다.
@@ -832,44 +852,42 @@ GitHub Copilot 구독을 사용하여 opencode:
---
-### 구글 Vertex AI
+### Google Vertex AI
-opencode로 Google Vertex AI를 사용하려면:
+OpenCode로 Google Vertex AI를 사용하려면:
-1. Google Cloud Console에서 ** Model Garden**을 통해 헤드를 확인하고 확인하십시오.
- 당신의 지역에서 유효한 모형.
+1. Google Cloud Console의 **Model Garden**으로 이동하여 해당 리전에서 사용 가능한 모델을 확인하십시오.
:::note
- Vertex AI API를 사용하여 Google Cloud 프로젝트를 수행해야합니다.
+ Vertex AI API가 활성화된 Google Cloud 프로젝트가 있어야 합니다.
:::
2. 필요한 환경 변수를 설정:
+ - `GOOGLE_CLOUD_PROJECT`: 구글 클라우드 프로젝트 ID
+ - `VERTEX_LOCATION` (선택): Vertex AI 리전 (기본값: `global`)
+ - 인증 (하나 선택):
+ - `GOOGLE_APPLICATION_CREDENTIALS`: 서비스 계정 JSON 키 파일 경로
+ - gcloud CLI 사용: `gcloud auth application-default login`
-- `GOOGLE_CLOUD_PROJECT`: 당신의 구글 클라우드 프로젝트 ID
-- `VERTEX_LOCATION` (선택): Vertex AI를 위한 지구 (`global`에 기본)
-- 인증(초당):
-- `GOOGLE_APPLICATION_CREDENTIALS`: 서비스 계정 JSON 키 파일 경로
-- gcloud CLI를 사용하여 인증 : `gcloud auth application-default login`
+ OpenCode를 실행할 때 설정:
-opencode를 실행하면서 설정한다.
-
-```bash
+ ```bash
GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json GOOGLE_CLOUD_PROJECT=your-project-id opencode
-```
+ ```
-또는 bash 프로파일에 추가하십시오.
+ 또는 bash 프로필에 추가:
-```bash title="~/.bash_profile"
+ ```bash title="~/.bash_profile"
export GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json
export GOOGLE_CLOUD_PROJECT=your-project-id
export VERTEX_LOCATION=global
-```
+ ```
:::tip
-`global` 지구는 가용성을 개량하고 추가 비용 없이 과실을 감소시킵니다. 데이터 거주 요건에 대한 지역 엔드포인트(e.g., `us-central1`)를 사용하십시오. [더 알아보기](https://cloud.google.com/vertex-ai/generative-ai/docs/partner-models/use-partner-models#regional and global endpoints)
+`global` 리전은 가용성을 높이고 오류를 줄이며 추가 비용이 없습니다. 데이터 거주 요건이 있는 경우 지역 엔드포인트(예: `us-central1`)를 사용하십시오. [더 알아보기](https://cloud.google.com/vertex-ai/generative-ai/docs/partner-models/use-partner-models#regional_and_global_endpoints)
:::
-3. 당신이 원하는 모형을 선정하기 위하여 `/models` 명령을 실행하십시오.
+3. `/models` 명령을 실행하여 원하는 모델을 선택하십시오.
```txt
/models
@@ -877,17 +895,17 @@ opencode를 실행하면서 설정한다.
---
-##### Groq
+### Groq
-1. [Groq 콘솔](https://console.groq.com/)에 머리, click **Create API Key**, 키 복사.
+1. [Groq 콘솔](https://console.groq.com/)로 이동하여 **Create API Key**를 클릭하고 키를 복사합니다.
-2. `/connect` 명령을 실행하고 Groq에 대한 검색.
+2. `/connect` 명령을 실행하고 Groq를 검색하십시오.
```txt
/connect
```
-3. 공급자를 위한 API 열쇠를 입력하십시오.
+3. API 키를 입력하십시오.
```txt
┌ API key
@@ -896,7 +914,7 @@ opencode를 실행하면서 설정한다.
└ enter
```
-4. `/models` 명령을 실행하여 원하는 것을 선택합니다.
+4. `/models` 명령을 실행하여 원하는 모델을 선택합니다.
```txt
/models
@@ -906,9 +924,9 @@ opencode를 실행하면서 설정한다.
### Hugging Face
-[Hugging Face Inference Provider](https://huggingface.co/docs/inference-providers)는 17+ 공급자가 지원하는 오픈 모델에 대한 액세스를 제공합니다.
+[Hugging Face Inference Providers](https://huggingface.co/docs/inference-providers)는 17개 이상의 공급자가 지원하는 오픈 모델에 대한 액세스를 제공합니다.
-1. [Hugging Face settings](https://huggingface.co/settings/tokens/new?ownUserPermissions=inference.serverless.write&tokenType=fineGrained)를 통해 토큰을 Inference Provider에게 호출할 권한을 부여합니다.
+1. [Hugging Face settings](https://huggingface.co/settings/tokens/new?ownUserPermissions=inference.serverless.write&tokenType=fineGrained)로 이동하여 Inference Providers에 호출할 권한이 있는 토큰을 생성합니다.
2. `/connect` 명령을 실행하고 **Hugging Face**를 검색하십시오.
@@ -925,7 +943,7 @@ opencode를 실행하면서 설정한다.
└ enter
```
-4. `/models` 명령을 실행하여 같은 모델을 선택하십시오 Kimi-K2-Instruct 또는 GLM-4.6 .
+4. `/models` 명령을 실행하여 모델(예: _Kimi-K2-Instruct_ 또는 _GLM-4.6_)을 선택하십시오.
```txt
/models
@@ -935,17 +953,17 @@ opencode를 실행하면서 설정한다.
### Helicone
-[Helicone](https://helicone.ai)는 AI 애플리케이션에 대한 로깅, 모니터링 및 분석 기능을 제공하는 LLM Observability 플랫폼입니다. Helicone AI Gateway는 모델을 기반으로 적절한 공급자에게 요청을 자동으로 전달합니다.
+[Helicone](https://helicone.ai)는 AI 애플리케이션을 위한 로깅, 모니터링 및 분석 기능을 제공하는 LLM 관찰 가능성(Observability) 플랫폼입니다. Helicone AI Gateway는 모델을 기반으로 적절한 공급자에게 요청을 자동으로 라우팅합니다.
-1. [Helicone](https://helicone.ai)에 머리, 계정을 만들고, 대시보드에서 API 키를 생성합니다.
+1. [Helicone](https://helicone.ai)로 이동하여 계정을 만들고 대시보드에서 API 키를 생성합니다.
-2. `/connect` 명령을 실행하고 ** Helicone**를 검색하십시오.
+2. `/connect` 명령을 실행하고 **Helicone**를 검색하십시오.
```txt
/connect
```
-3. Helicone API 열쇠를 입력하십시오.
+3. Helicone API 키를 입력하십시오.
```txt
┌ API key
@@ -954,19 +972,19 @@ opencode를 실행하면서 설정한다.
└ enter
```
-4. 모델을 선택하려면 `/models` 명령을 실행하십시오.
+4. `/models` 명령을 실행하여 모델을 선택하십시오.
```txt
/models
```
-캐싱 및 속도 제한과 같은 더 많은 공급자와 고급 기능을 위해 [Helicone 문서](https://docs.helicone.ai)를 확인하십시오.
+캐싱 및 속도 제한과 같은 더 많은 공급자와 고급 기능은 [Helicone 문서](https://docs.helicone.ai)를 확인하십시오.
-#### 선택 사항
+#### 선택적 구성
-이벤트에서 opencode를 통해 자동으로 구성되지 않는 Helicone의 기능 또는 모델을 볼 수 있습니다.
+OpenCode를 통해 자동으로 구성되지 않는 Helicone의 기능이나 모델이 있는 경우 직접 구성할 수 있습니다.
-여기에 [Helicone의 모델 디렉토리](https://helicone.ai/models), 당신은 당신이 추가 할 모델의 ID를 잡아이 필요.
+[Helicone의 모델 디렉토리](https://helicone.ai/models)에서 추가하려는 모델의 ID를 확인하십시오.
```jsonc title="~/.config/opencode/opencode.jsonc"
{
@@ -992,7 +1010,7 @@ opencode를 실행하면서 설정한다.
}
```
-##### 사용자 정의 헤더
+#### 사용자 정의 헤더
Helicone는 캐싱, 사용자 추적 및 세션 관리와 같은 기능을 위한 사용자 정의 헤더를 지원합니다. `options.headers`를 사용하여 공급자 구성에 추가하십시오:
@@ -1017,7 +1035,7 @@ Helicone는 캐싱, 사용자 추적 및 세션 관리와 같은 기능을 위�
##### 세션 추적
-Helicone's [Sessions](https://docs.helicone.ai/features/sessions) 기능으로 그룹 관련 LLM 요청이 가능합니다. [opencode-helicone-session](https://github.com/H2Shami/opencode-helicone-session) 플러그인을 사용하여 각 opencode 대화를 Helicone 세션으로 자동 로그인하십시오.
+Helicone의 [Sessions](https://docs.helicone.ai/features/sessions) 기능을 사용하면 관련 LLM 요청을 그룹화할 수 있습니다. [opencode-helicone-session](https://github.com/H2Shami/opencode-helicone-session) 플러그인을 사용하여 각 OpenCode 대화를 Helicone 세션으로 자동 기록하십시오.
```bash
npm install -g opencode-helicone-session
@@ -1031,24 +1049,24 @@ npm install -g opencode-helicone-session
}
```
-플러그인은 `Helicone-Session-Id` 및 `Helicone-Session-Name` 헤더를 귀하의 요청에 주사합니다. Helicone의 세션 페이지에서는 별도의 세션으로 나열된 각 opencode 대화를 볼 수 있습니다.
+이 플러그인은 `Helicone-Session-Id` 및 `Helicone-Session-Name` 헤더를 요청에 주입합니다. Helicone의 세션 페이지에서 각 OpenCode 대화가 별도의 세션으로 나열되는 것을 볼 수 있습니다.
-###### 공통 Helicone 헤더
+##### 공통 Helicone 헤더
-| 헤드러 | Description |
+| 헤더 | 설명 |
| -------------------------- | ---------------------------------------------------------- |
-| `Helicone-Cache-Enabled` | 대응 캐싱 (`true`/`false`) |
-| `Helicone-User-Id` | 사용자별 추적 가능 |
+| `Helicone-Cache-Enabled` | 응답 캐싱 활성화 (`true`/`false`) |
+| `Helicone-User-Id` | 사용자별 지표 추적 |
| `Helicone-Property-[Name]` | 사용자 정의 속성 추가(예: `Helicone-Property-Environment`) |
-| `Helicone-Prompt-Id` | prompt 대응 |
+| `Helicone-Prompt-Id` | 요청을 프롬프트 버전과 연관 |
-모든 사용 가능한 헤더에 대한 [Helicone Header Directory](https://docs.helicone.ai/helicone-headers/header-directory)를 참조하십시오.
+사용 가능한 모든 헤더는 [Helicone Header Directory](https://docs.helicone.ai/helicone-headers/header-directory)를 참조하십시오.
---
-#### llama.cpp
+### llama.cpp
-[llama.cpp's](https://github.com/ggml-org/llama.cpp) llama-server 유틸리티를 통해 로컬 모델을 사용할 수 있습니다.
+[llama.cpp](https://github.com/ggml-org/llama.cpp)의 llama-server 유틸리티를 통해 로컬 모델을 사용하도록 구성할 수 있습니다.
```json title="opencode.json" "llama.cpp" {5, 6, 8, 10-15}
{
@@ -1076,21 +1094,21 @@ npm install -g opencode-helicone-session
이 예제에서:
-- `llama.cpp`는 주문 공급자 ID입니다. 원하는 문자열이 될 수 있습니다.
-- `npm`는 이 공급자를 위해 사용할 포장을 지정합니다. 여기, `@ai-sdk/openai-compatible`는 OpenAI 호환 API에 사용됩니다.
-- `name`는 UI에 있는 공급자를 위한 전시 이름입니다.
-- `options.baseURL`는 로컬 서버의 엔드포인트입니다.
-- `models`는 모델 ID를 구성하는 맵입니다. 모델 이름은 모델 선택 목록에 표시됩니다.
+- `llama.cpp`는 사용자 정의 공급자 ID입니다. 원하는 문자열로 지정할 수 있습니다.
+- `npm`은 이 공급자에 사용할 패키지를 지정합니다. 여기서는 OpenAI 호환 API를 위해 `@ai-sdk/openai-compatible`을 사용합니다.
+- `name`은 UI에 표시될 공급자 이름입니다.
+- `options.baseURL`은 로컬 서버의 엔드포인트입니다.
+- `models`는 모델 ID와 해당 구성을 매핑합니다. 모델 이름은 모델 선택 목록에 표시됩니다.
---
-###### IO.NET
+### IO.NET
IO.NET은 다양한 사용 사례에 최적화된 17개의 모델을 제공합니다:
-1. [IO.NET 콘솔](https://ai.io.net/)에 머리, 계정을 만들고 API 키를 생성합니다.
+1. [IO.NET 콘솔](https://ai.io.net/)로 이동하여 계정을 만들고 API 키를 생성합니다.
-2. `/connect` 명령을 실행하고 **IO.NET**를 검색하십시오.
+2. `/connect` 명령을 실행하고 **IO.NET**을 검색하십시오.
```txt
/connect
@@ -1115,7 +1133,7 @@ IO.NET은 다양한 사용 사례에 최적화된 17개의 모델을 제공합�
### LM Studio
-LM Studio를 통해 로컬 모델을 사용할 수 있습니다.
+LM Studio를 통해 로컬 모델을 사용하도록 구성할 수 있습니다.
```json title="opencode.json" "lmstudio" {5, 6, 8, 10-14}
{
@@ -1139,19 +1157,19 @@ LM Studio를 통해 로컬 모델을 사용할 수 있습니다.
이 예제에서:
-- `lmstudio`는 주문 공급자 ID입니다. 원하는 문자열이 될 수 있습니다.
-- `npm`는 이 공급자를 위해 사용할 포장을 지정합니다. 여기, `@ai-sdk/openai-compatible`는 OpenAI 호환 API에 사용됩니다.
-- `name`는 UI에 있는 공급자를 위한 전시 이름입니다.
-- `options.baseURL`는 로컬 서버의 엔드포인트입니다.
-- `models`는 모델 ID를 구성하는 맵입니다. 모델 이름은 모델 선택 목록에 표시됩니다.
+- `lmstudio`는 사용자 정의 공급자 ID입니다. 원하는 문자열로 지정할 수 있습니다.
+- `npm`은 이 공급자에 사용할 패키지를 지정합니다. 여기서는 OpenAI 호환 API를 위해 `@ai-sdk/openai-compatible`을 사용합니다.
+- `name`은 UI에 표시될 공급자 이름입니다.
+- `options.baseURL`은 로컬 서버의 엔드포인트입니다.
+- `models`는 모델 ID와 해당 구성을 매핑합니다. 모델 이름은 모델 선택 목록에 표시됩니다.
---
-## Moonshot AI
+### Moonshot AI
-Moonshot AI에서 Kimi K2 사용 :
+Moonshot AI에서 Kimi K2를 사용하려면:
-1. [Moonshot AI 콘솔](https://platform.moonshot.ai/console)에 머리, 계정을 만들고, ** API 키**를 클릭합니다.
+1. [Moonshot AI 콘솔](https://platform.moonshot.ai/console)로 이동하여 계정을 만들고 **Create API key**를 클릭합니다.
2. `/connect` 명령을 실행하고 **Moonshot AI**를 검색하십시오.
@@ -1168,7 +1186,7 @@ Moonshot AI에서 Kimi K2 사용 :
└ enter
```
-4. `/models` 명령을 실행하여 Kimi K2 .
+4. `/models` 명령을 실행하여 *Kimi K2*를 선택하십시오.
```txt
/models
@@ -1176,9 +1194,9 @@ Moonshot AI에서 Kimi K2 사용 :
---
-## MiniMax
+### MiniMax
-1. [MiniMax API 콘솔](https://platform.minimax.io/login)에 머리, 계정을 만들고 API 키를 생성합니다.
+1. [MiniMax API 콘솔](https://platform.minimax.io/login)로 이동하여 계정을 만들고 API 키를 생성합니다.
2. `/connect` 명령을 실행하고 **MiniMax**를 검색하십시오.
@@ -1195,7 +1213,7 @@ Moonshot AI에서 Kimi K2 사용 :
└ enter
```
-4. `/models` 명령을 실행하여 같은 모델을 선택하십시오 M2.1 .
+4. `/models` 명령을 실행하여 모델(예: _M2.1_)을 선택하십시오.
```txt
/models
@@ -1203,9 +1221,9 @@ Moonshot AI에서 Kimi K2 사용 :
---
-## Nebius Token Factory
+### Nebius Token Factory
-1. [Nebius Token Factory 콘솔](https://tokenfactory.nebius.com/)에 머리, 계정을 만들고, ** 키 추가 **.
+1. [Nebius Token Factory 콘솔](https://tokenfactory.nebius.com/)로 이동하여 계정을 만들고 **Add Key**를 클릭합니다.
2. `/connect` 명령을 실행하고 **Nebius Token Factory**를 검색하십시오.
@@ -1213,7 +1231,7 @@ Moonshot AI에서 Kimi K2 사용 :
/connect
```
-3. Nebius 토큰 공장 API 키를 입력하십시오.
+3. Nebius Token Factory API 키를 입력하십시오.
```txt
┌ API key
@@ -1222,7 +1240,7 @@ Moonshot AI에서 Kimi K2 사용 :
└ enter
```
-4. `/models` 명령을 실행하여 같은 모델을 선택하십시오 Kimi K2 Instruct .
+4. `/models` 명령을 실행하여 모델(예: _Kimi K2 Instruct_)을 선택하십시오.
```txt
/models
@@ -1230,12 +1248,12 @@ Moonshot AI에서 Kimi K2 사용 :
---
-#### Ollama
+### Ollama
-Ollama를 통해 로컬 모델을 사용할 수 있습니다.
+Ollama를 통해 로컬 모델을 사용하도록 구성할 수 있습니다.
:::tip
-Ollama는 opencode를 자동으로 구성할 수 있습니다. 자세한 내용은 [Ollama 통합 문서](https://docs.ollama.com/integrations/opencode)를 참조하십시오.
+Ollama는 OpenCode에 대해 자동으로 구성될 수 있습니다. 자세한 내용은 [Ollama 통합 문서](https://docs.ollama.com/integrations/opencode)를 참조하십시오.
:::
```json title="opencode.json" "ollama" {5, 6, 8, 10-14}
@@ -1260,35 +1278,35 @@ Ollama는 opencode를 자동으로 구성할 수 있습니다. 자세한 내용�
이 예제에서:
-- `ollama`는 주문 공급자 ID입니다. 원하는 문자열이 될 수 있습니다.
-- `npm`는 이 공급자를 위해 사용할 포장을 지정합니다. 여기, `@ai-sdk/openai-compatible`는 OpenAI 호환 API에 사용됩니다.
-- `name`는 UI에 있는 공급자를 위한 전시 이름입니다.
-- `options.baseURL`는 로컬 서버의 엔드포인트입니다.
-- `models`는 모델 ID를 구성하는 맵입니다. 모델 이름은 모델 선택 목록에 표시됩니다.
+- `ollama`는 사용자 정의 공급자 ID입니다. 원하는 문자열로 지정할 수 있습니다.
+- `npm`은 이 공급자에 사용할 패키지를 지정합니다. 여기서는 OpenAI 호환 API를 위해 `@ai-sdk/openai-compatible`을 사용합니다.
+- `name`은 UI에 표시될 공급자 이름입니다.
+- `options.baseURL`은 로컬 서버의 엔드포인트입니다.
+- `models`는 모델 ID와 해당 구성을 매핑합니다. 모델 이름은 모델 선택 목록에 표시됩니다.
:::tip
-도구 호출이 작동하지 않는 경우, Ollama에서 `num_ctx` 증가. 주위 시작 16k - 32k.
+도구 호출이 작동하지 않는 경우, Ollama에서 `num_ctx`를 늘려보십시오. 16k - 32k 정도에서 시작하십시오.
:::
---
-## Ollama Cloud
+### Ollama Cloud
-opencode로 Ollama Cloud를 사용하려면:
+OpenCode로 Ollama Cloud를 사용하려면:
-1. [https://ollama.com/](https://ollama.com/) 이상 머리와 로그인하거나 계정을 만들 수 있습니다.
+1. [https://ollama.com/](https://ollama.com/)으로 이동하여 로그인하거나 계정을 만듭니다.
-2. Navigate to**Settings** > **Keys** 및 click **API Key**를 추가하여 새로운 API 키 생성.
+2. **Settings** > **Keys**로 이동하여 **Add API Key**를 클릭해 새 API 키를 생성합니다.
-3. opencode에서 사용을 위한 API 열쇠를 복사하십시오.
+3. OpenCode에서 사용할 API 키를 복사합니다.
-4. `/connect` 명령을 실행하고 ** Ollama Cloud**를 검색하십시오.
+4. `/connect` 명령을 실행하고 **Ollama Cloud**를 검색하십시오.
```txt
/connect
```
-5. Ollama Cloud API 키 입력.
+5. Ollama Cloud API 키를 입력하십시오.
```txt
┌ API key
@@ -1297,7 +1315,7 @@ opencode로 Ollama Cloud를 사용하려면:
└ enter
```
-6. ** 중요 **: opencode의 클라우드 모델을 사용하기 전에, 로컬 모델 정보를 끌어야 합니다:
+6. **중요**: OpenCode에서 클라우드 모델을 사용하기 전에, 로컬에서 모델 정보를 가져와야 합니다:
```bash
ollama pull gpt-oss:20b-cloud
@@ -1315,14 +1333,13 @@ opencode로 Ollama Cloud를 사용하려면:
[ChatGPT Plus 또는 Pro](https://chatgpt.com/pricing)에 가입하는 것이 좋습니다.
-1. 가입하면 `/connect` 명령을 실행하고 OpenAI를 선택하십시오.
+1. 가입 후 `/connect` 명령을 실행하고 OpenAI를 선택하십시오.
```txt
/connect
```
-2. **ChatGPT Plus/Pro** 옵션을 선택하고 브라우저를 열 수 있습니다.
- 자주 묻는 질문
+2. **ChatGPT Plus/Pro** 옵션을 선택하면 브라우저가 열리고 인증을 요청합니다.
```txt
┌ Select auth method
@@ -1332,7 +1349,7 @@ opencode로 Ollama Cloud를 사용하려면:
```
-3. 이제 모든 OpenAI 모델은 `/models` 명령을 사용할 때 사용할 수 있어야합니다.
+3. 이제 `/models` 명령을 사용할 때 모든 OpenAI 모델을 사용할 수 있습니다.
```txt
/models
@@ -1340,23 +1357,23 @@ opencode로 Ollama Cloud를 사용하려면:
##### API 키 사용
-API 키가 이미 있다면 ** 수동으로 API 키**를 입력하고 terminal에서 붙여넣을 수 있습니다.
+이미 API 키가 있다면 **Manually enter API Key**를 선택하고 터미널에 붙여넣을 수 있습니다.
---
-## OpenCode Zen
+### OpenCode Zen
-OpenCode Zen은 opencode 팀에서 제공하는 테스트 및 검증된 모델 목록입니다. [더 알아보기](/docs/zen).
+OpenCode Zen은 OpenCode 팀에서 제공하는 테스트 및 검증된 모델 목록입니다. [더 알아보기](/docs/zen).
-1. 로그인 **<a href={console}>OpenCode Zen</a>** and click**Create API Key**.
+1. **<a href={console}>OpenCode Zen</a>**에 로그인하고 **Create API Key**를 클릭합니다.
-2. `/connect` 명령을 실행하고 **OpenCode Zen**를 검색하십시오.
+2. `/connect` 명령을 실행하고 **OpenCode Zen**을 검색하십시오.
```txt
/connect
```
-3. opencode API 키를 입력하십시오.
+3. OpenCode API 키를 입력하십시오.
```txt
┌ API key
@@ -1365,7 +1382,7 @@ OpenCode Zen은 opencode 팀에서 제공하는 테스트 및 검증된 모델 �
└ enter
```
-4. `/models` 명령을 실행하여 같은 모델을 선택하십시오 Qwen 3 Coder 480B .
+4. `/models` 명령을 실행하여 모델(예: _Qwen 3 Coder 480B_)을 선택하십시오.
```txt
/models
@@ -1373,9 +1390,9 @@ OpenCode Zen은 opencode 팀에서 제공하는 테스트 및 검증된 모델 �
---
-## OpenRouter
+### OpenRouter
-1. [OpenRouter 대시보드](https://openrouter.ai/settings/keys)에 머리, click ** API Key**를 클릭하고 키를 복사합니다.
+1. [OpenRouter 대시보드](https://openrouter.ai/settings/keys)로 이동하여 **Create API Key**를 클릭하고 키를 복사합니다.
2. `/connect` 명령을 실행하고 OpenRouter를 검색하십시오.
@@ -1383,7 +1400,7 @@ OpenCode Zen은 opencode 팀에서 제공하는 테스트 및 검증된 모델 �
/connect
```
-3. 공급자를 위한 API 열쇠를 입력하십시오.
+3. API 키를 입력하십시오.
```txt
┌ API key
@@ -1392,28 +1409,28 @@ OpenCode Zen은 opencode 팀에서 제공하는 테스트 및 검증된 모델 �
└ enter
```
-4. 많은 OpenRouter 모델은 기본적으로 `/models` 명령을 실행하여 원하는 것을 선택합니다.
+4. 많은 OpenRouter 모델은 기본적으로 미리 로드되어 있으므로 `/models` 명령을 실행하여 원하는 것을 선택하십시오.
```txt
/models
```
-opencode config를 통해 추가 모델을 추가할 수 있습니다.
+ OpenCode 구성을 통해 모델을 추가할 수도 있습니다.
-```json title="opencode.json" {6}
-{
- "$schema": "https://opencode.ai/config.json",
- "provider": {
- "openrouter": {
- "models": {
- "somecoolnewmodel": {}
- }
- }
- }
-}
-```
+ ```json title="opencode.json" {6}
+ {
+ "$schema": "https://opencode.ai/config.json",
+ "provider": {
+ "openrouter": {
+ "models": {
+ "somecoolnewmodel": {}
+ }
+ }
+ }
+ }
+ ```
-5. 당신은 또한 당신의 opencode config를 통해 그들을 주문을 받아서 만들 수 있습니다. 공급자 지정의 예입니다.
+5. 또한 OpenCode 구성을 통해 사용자 정의할 수도 있습니다. 다음은 공급자 순서를 지정하는 예입니다.
```json title="opencode.json"
{
@@ -1439,12 +1456,12 @@ opencode config를 통해 추가 모델을 추가할 수 있습니다.
### SAP AI Core
-SAP AI Core는 OpenAI, Anthropic, Google, Amazon, Meta, Mistral 및 AI21의 40+ 모델에 대한 액세스를 제공합니다.
+SAP AI Core는 OpenAI, Anthropic, Google, Amazon, Meta, Mistral 및 AI21의 40개 이상의 모델에 대한 액세스를 제공합니다.
-1. [SAP BTP Cockpit](https://account.hana.ondemand.com/)로 이동하여 SAP AI Core 서비스 인스턴스로 이동하고 서비스 키를 만듭니다.
+1. [SAP BTP Cockpit](https://account.hana.ondemand.com/)으로 이동하여 SAP AI Core 서비스 인스턴스로 이동하고 서비스 키를 만듭니다.
:::tip
- 서비스 키는 `clientid`, `clientsecret`, `url` 및 `serviceurls.AI_API_URL`를 포함하는 JSON 객체입니다. **Services** > **Instances 및 Subscriptions** 아래 AI Core 인스턴스를 찾을 수 있습니다.
+ 서비스 키는 `clientid`, `clientsecret`, `url` 및 `serviceurls.AI_API_URL`을 포함하는 JSON 객체입니다. **Services** > **Instances and Subscriptions** 아래에서 AI Core 인스턴스를 찾을 수 있습니다.
:::
2. `/connect` 명령을 실행하고 **SAP AI Core**를 검색하십시오.
@@ -1462,29 +1479,29 @@ SAP AI Core는 OpenAI, Anthropic, Google, Amazon, Meta, Mistral 및 AI21의 40+
└ enter
```
-또는 `AICORE_SERVICE_KEY` 환경 변수를 설정:
+ 또는 `AICORE_SERVICE_KEY` 환경 변수를 설정합니다:
-```bash
+ ```bash
AICORE_SERVICE_KEY='{"clientid":"...","clientsecret":"...","url":"...","serviceurls":{"AI_API_URL":"..."}}' opencode
-```
+ ```
-또는 bash 프로파일에 추가:
+ 또는 bash 프로필에 추가합니다:
-```bash title="~/.bash_profile"
+ ```bash title="~/.bash_profile"
export AICORE_SERVICE_KEY='{"clientid":"...","clientsecret":"...","url":"...","serviceurls":{"AI_API_URL":"..."}}'
-```
+ ```
-4. 선택적으로 배치 ID 및 자원 그룹:
+4. 선택적으로 배포 ID 및 리소스 그룹을 설정합니다:
```bash
AICORE_DEPLOYMENT_ID=your-deployment-id AICORE_RESOURCE_GROUP=your-resource-group opencode
```
:::note
- 이 설정은 선택 사항이며 SAP AI Core 설정에 따라 구성해야합니다.
+ 이 설정은 선택 사항이며 SAP AI Core 설정에 따라 구성해야 합니다.
:::
-5. `/models` 명령을 실행하여 40+ 유효한 모형에서 선택하십시오.
+5. `/models` 명령을 실행하여 40개 이상의 사용 가능한 모델 중에서 선택하십시오.
```txt
/models
@@ -1492,11 +1509,44 @@ SAP AI Core는 OpenAI, Anthropic, Google, Amazon, Meta, Mistral 및 AI21의 40+
---
-### OVHcloud AI 엔드포인트
+### STACKIT
-1. [OVHcloud 패널](https://ovh.com/manager)에 머리. `Public Cloud` 섹션으로 이동, `AI & Machine Learning` > `AI Endpoints` 및 `API Keys` 탭에서, ** 새로운 API 키 활성화 **.
+STACKIT AI Model Serving은 Llama, Mistral, Qwen과 같은 LLM에 초점을 맞추고 유럽 인프라에서 데이터 주권을 최대한 보장하는 완전 관리형 AI 모델 호스팅 환경을 제공합니다.
-2. `/connect` 명령을 실행하고 ** OVHcloud AI Endpoints**를 검색하십시오.
+1. [STACKIT Portal](https://portal.stackit.cloud)로 이동하여 **AI Model Serving**으로 이동한 다음 프로젝트의 인증 토큰을 만듭니다.
+
+ :::tip
+ 인증 토큰을 만들기 전에 STACKIT 고객 계정, 사용자 계정 및 프로젝트가 필요합니다.
+ :::
+
+2. `/connect` 명령을 실행하고 **STACKIT**을 검색하십시오.
+
+ ```txt
+ /connect
+ ```
+
+3. STACKIT AI Model Serving 인증 토큰을 입력하십시오.
+
+ ```txt
+ ┌ API key
+ │
+ │
+ └ enter
+ ```
+
+4. `/models` 명령을 실행하여 _Qwen3-VL 235B_ 또는 *Llama 3.3 70B*와 같은 사용 가능한 모델을 선택하십시오.
+
+ ```txt
+ /models
+ ```
+
+---
+
+### OVHcloud AI Endpoints
+
+1. [OVHcloud 패널](https://ovh.com/manager)로 이동합니다. `Public Cloud` 섹션으로 이동하여 `AI & Machine Learning` > `AI Endpoints`로 간 뒤 `API Keys` 탭에서 **Create a new API key**를 클릭합니다.
+
+2. `/connect` 명령을 실행하고 **OVHcloud AI Endpoints**를 검색하십시오.
```txt
/connect
@@ -1511,7 +1561,7 @@ SAP AI Core는 OpenAI, Anthropic, Google, Amazon, Meta, Mistral 및 AI21의 40+
└ enter
```
-4. `/models` 명령을 실행하여 같은 모델을 선택하십시오 gpt-oss-120b .
+4. `/models` 명령을 실행하여 모델(예: _gpt-oss-120b_)을 선택하십시오.
```txt
/models
@@ -1521,9 +1571,9 @@ SAP AI Core는 OpenAI, Anthropic, Google, Amazon, Meta, Mistral 및 AI21의 40+
### Scaleway
-opencode를 사용하여 [Scaleway Generative APIs](https://www.scaleway.com/en/docs/generative-apis/)를 사용하려면:
+OpenCode로 [Scaleway Generative APIs](https://www.scaleway.com/en/docs/generative-apis/)를 사용하려면:
-1. [Scaleway 콘솔 IAM 설정](https://console.scaleway.com/iam/api-keys)를 통해 새로운 API 키 생성.
+1. [Scaleway Console IAM 설정](https://console.scaleway.com/iam/api-keys)에서 새 API 키를 생성합니다.
2. `/connect` 명령을 실행하고 **Scaleway**를 검색하십시오.
@@ -1540,7 +1590,7 @@ opencode를 사용하여 [Scaleway Generative APIs](https://www.scaleway.com/en/
└ enter
```
-4. `/models` 명령을 실행하여 같은 모델을 선택하십시오. devstral-2-123b-instruct-2512 또는 gpt-oss-120b .
+4. `/models` 명령을 실행하여 모델(예: _devstral-2-123b-instruct-2512_ 또는 _gpt-oss-120b_)을 선택하십시오.
```txt
/models
@@ -1548,9 +1598,9 @@ opencode를 사용하여 [Scaleway Generative APIs](https://www.scaleway.com/en/
---
-## Together AI
+### Together AI
-1. [Together AI 콘솔](https://api.together.ai)에 머리, 계정을 만들고 ** 키 추가 **를 클릭합니다.
+1. [Together AI 콘솔](https://api.together.ai)로 이동하여 계정을 만들고 **Add Key**를 클릭합니다.
2. `/connect` 명령을 실행하고 **Together AI**를 검색하십시오.
@@ -1558,7 +1608,7 @@ opencode를 사용하여 [Scaleway Generative APIs](https://www.scaleway.com/en/
/connect
```
-3. 함께 AI API 키를 입력하십시오.
+3. Together AI API 키를 입력하십시오.
```txt
┌ API key
@@ -1567,7 +1617,7 @@ opencode를 사용하여 [Scaleway Generative APIs](https://www.scaleway.com/en/
└ enter
```
-4. `/models` 명령을 실행하여 같은 모델을 선택하십시오 Kimi K2 Instruct .
+4. `/models` 명령을 실행하여 모델(예: _Kimi K2 Instruct_)을 선택하십시오.
```txt
/models
@@ -1575,17 +1625,17 @@ opencode를 사용하여 [Scaleway Generative APIs](https://www.scaleway.com/en/
---
-## Venice AI
+### Venice AI
-1. [Venice AI 콘솔](https://venice.ai)에 머리, 계정을 만들고 API 키를 생성합니다.
+1. [Venice AI 콘솔](https://venice.ai)로 이동하여 계정을 만들고 API 키를 생성합니다.
-2. `/connect` 명령을 실행하고 **Venice AI **를 검색하십시오.
+2. `/connect` 명령을 실행하고 **Venice AI**를 검색하십시오.
```txt
/connect
```
-3. 베니스 AI API 열쇠를 입력하십시오.
+3. Venice AI API 키를 입력하십시오.
```txt
┌ API key
@@ -1594,7 +1644,7 @@ opencode를 사용하여 [Scaleway Generative APIs](https://www.scaleway.com/en/
└ enter
```
-4. `/models` 명령을 실행하여 같은 모델을 선택하십시오 Llama 3.3 70B .
+4. `/models` 명령을 실행하여 모델(예: _Llama 3.3 70B_)을 선택하십시오.
```txt
/models
@@ -1602,11 +1652,11 @@ opencode를 사용하여 [Scaleway Generative APIs](https://www.scaleway.com/en/
---
-## Vercel AI 게이트웨이
+### Vercel AI Gateway
-Vercel AI를 게이트웨이는 OpenAI, Anthropic, Google, xAI 등에서 모델에 액세스할 수 있습니다. 모델은 Markup없이 목록 가격에서 제공됩니다.
+Vercel AI Gateway는 OpenAI, Anthropic, Google, xAI 등의 모델에 액세스할 수 있으며, 통합된 엔드포인트를 통해 더 많은 기능을 제공합니다. 모델은 마크업 없이 정가로 제공됩니다.
-1. [Vercel 대시보드](https://vercel.com/)에 머리, **AI Gateway** 탭으로 이동하고, **API 키**를 클릭하여 새로운 API 키 생성.
+1. [Vercel 대시보드](https://vercel.com/)로 이동하여 **AI Gateway** 탭으로 간 뒤, **API keys**를 클릭하여 새 API 키를 생성합니다.
2. `/connect` 명령을 실행하고 **Vercel AI Gateway**를 검색하십시오.
@@ -1614,7 +1664,7 @@ Vercel AI를 게이트웨이는 OpenAI, Anthropic, Google, xAI 등에서 모델�
/connect
```
-3. Vercel AI Gateway API 키 입력.
+3. Vercel AI Gateway API 키를 입력하십시오.
```txt
┌ API key
@@ -1623,13 +1673,13 @@ Vercel AI를 게이트웨이는 OpenAI, Anthropic, Google, xAI 등에서 모델�
└ enter
```
-4. 모델을 선택하려면 `/models` 명령을 실행하십시오.
+4. `/models` 명령을 실행하여 모델을 선택하십시오.
```txt
/models
```
-opencode config를 통해 모델을 사용자 정의 할 수 있습니다. 공급자 routing 순서를 지정하는 예입니다.
+OpenCode 구성을 통해 모델을 사용자 정의할 수도 있습니다. 다음은 공급자 라우팅 순서를 지정하는 예입니다.
```json title="opencode.json"
{
@@ -1648,19 +1698,19 @@ opencode config를 통해 모델을 사용자 정의 할 수 있습니다. 공�
}
```
-몇몇 유용한 여정 선택권:
+몇 가지 유용한 라우팅 옵션:
| 옵션 | 설명 |
| ------------------- | --------------------------------- |
-| `order` | 공급자의 순서 |
-| `only` | 특정 공급자 제한 |
-| `zeroDataRetention` | 제로 데이터 보유 정책만 이용 가능 |
+| `order` | 시도할 공급자 순서 |
+| `only` | 특정 공급자로 제한 |
+| `zeroDataRetention` | 데이터 보유 정책이 없는 곳만 사용 |
---
### xAI
-1. [xAI 콘솔](https://console.x.ai/)에 머리, 계정을 만들고 API 키를 생성합니다.
+1. [xAI 콘솔](https://console.x.ai/)로 이동하여 계정을 만들고 API 키를 생성합니다.
2. `/connect` 명령을 실행하고 **xAI**를 검색하십시오.
@@ -1677,7 +1727,7 @@ opencode config를 통해 모델을 사용자 정의 할 수 있습니다. 공�
└ enter
```
-4. `/models` 명령을 실행하여 같은 모델을 선택하십시오 Grok Beta .
+4. `/models` 명령을 실행하여 모델(예: _Grok Beta_)을 선택하십시오.
```txt
/models
@@ -1687,15 +1737,15 @@ opencode config를 통해 모델을 사용자 정의 할 수 있습니다. 공�
### Z.AI
-1. [Z.AI API 콘솔](https://z.ai/manage-apikey/apikey-list)에 머리, 계정을 만들고, **새로운 API 키**를 클릭합니다.
+1. [Z.AI API 콘솔](https://z.ai/manage-apikey/apikey-list)로 이동하여 계정을 만들고 **Create a new API key**를 클릭합니다.
-2. `/connect` 명령을 실행하고 ** Z.AI**를 검색하십시오.
+2. `/connect` 명령을 실행하고 **Z.AI**를 검색하십시오.
```txt
/connect
```
-**GLM 코딩 플랜**에 가입하면 **Z.AI 코딩 플랜**을 선택하십시오.
+ **GLM Coding Plan**에 가입했다면 **Z.AI Coding Plan**을 선택하십시오.
3. Z.AI API 키를 입력하십시오.
@@ -1706,7 +1756,7 @@ opencode config를 통해 모델을 사용자 정의 할 수 있습니다. 공�
└ enter
```
-4. `/models` 명령을 실행하여 같은 모델을 선택하십시오 GLM-4.7 .
+4. `/models` 명령을 실행하여 모델(예: _GLM-4.7_)을 선택하십시오.
```txt
/models
@@ -1714,9 +1764,9 @@ opencode config를 통해 모델을 사용자 정의 할 수 있습니다. 공�
---
-## ZenMux
+### ZenMux
-1. [ZenMux 대쉬보드](https://zenmux.ai/settings/keys)에 머리, click **Create API Key**, 키 복사.
+1. [ZenMux 대시보드](https://zenmux.ai/settings/keys)로 이동하여 **Create API Key**를 클릭하고 키를 복사합니다.
2. `/connect` 명령을 실행하고 ZenMux를 검색하십시오.
@@ -1724,7 +1774,7 @@ opencode config를 통해 모델을 사용자 정의 할 수 있습니다. 공�
/connect
```
-3. 공급자를 위한 API 열쇠를 입력하십시오.
+3. API 키를 입력하십시오.
```txt
┌ API key
@@ -1733,38 +1783,38 @@ opencode config를 통해 모델을 사용자 정의 할 수 있습니다. 공�
└ enter
```
-4. 많은 ZenMux 모델은 기본적으로 사전 로드되며 `/models` 명령을 실행하여 원하는 것을 선택합니다.
+4. 많은 ZenMux 모델은 기본적으로 미리 로드되어 있으므로 `/models` 명령을 실행하여 원하는 것을 선택하십시오.
```txt
/models
```
-opencode config를 통해 추가 모델을 추가할 수 있습니다.
+ OpenCode 구성을 통해 모델을 추가할 수도 있습니다.
-```json title="opencode.json" {6}
-{
- "$schema": "https://opencode.ai/config.json",
- "provider": {
- "zenmux": {
- "models": {
- "somecoolnewmodel": {}
- }
- }
- }
-}
-```
+ ```json title="opencode.json" {6}
+ {
+ "$schema": "https://opencode.ai/config.json",
+ "provider": {
+ "zenmux": {
+ "models": {
+ "somecoolnewmodel": {}
+ }
+ }
+ }
+ }
+ ```
---
## 사용자 정의 공급자
-`/connect` 명령에 나열되지 않은 **OpenAI-compatible** 공급자를 추가하려면:
+`/connect` 명령에 나열되지 않은 **OpenAI 호환** 공급자를 추가하려면:
:::tip
-opencode를 사용하여 OpenAI 호환 공급자를 사용할 수 있습니다. 가장 현대적인 AI 제공 업체는 OpenAI 호환 API를 제공합니다.
+OpenCode에서 모든 OpenAI 호환 공급자를 사용할 수 있습니다. 대부분의 최신 AI 공급자는 OpenAI 호환 API를 제공합니다.
:::
-1. `/connect` 명령을 실행하고 ** 다른**로 스크롤하십시오.
+1. `/connect` 명령을 실행하고 **Other**로 스크롤하십시오.
```bash
$ /connect
@@ -1777,7 +1827,7 @@ opencode를 사용하여 OpenAI 호환 공급자를 사용할 수 있습니다.
```
-2. 공급자를 위한 유일한 ID를 입력하십시오.
+2. 공급자를 위한 고유한 ID를 입력하십시오.
```bash
$ /connect
@@ -1790,10 +1840,10 @@ opencode를 사용하여 OpenAI 호환 공급자를 사용할 수 있습니다.
```
:::note
- 기억에 남는 ID를 선택하면 구성 파일에서 이것을 사용할 수 있습니다.
+ 기억하기 쉬운 ID를 선택하십시오. 구성 파일에서 이 ID를 사용하게 됩니다.
:::
-3. 공급자를 위한 당신의 API 열쇠를 입력하십시오.
+3. 공급자의 API 키를 입력하십시오.
```bash
$ /connect
@@ -1829,23 +1879,23 @@ opencode를 사용하여 OpenAI 호환 공급자를 사용할 수 있습니다.
}
```
-여기에 구성 옵션:
+ 구성 옵션은 다음과 같습니다:
+ - **npm**: 사용할 AI SDK 패키지. OpenAI 호환 공급자의 경우 `@ai-sdk/openai-compatible`
+ - **name**: UI에 표시될 이름
+ - **models**: 사용 가능한 모델
+ - **options.baseURL**: API 엔드포인트 URL
+ - **options.apiKey**: 인증을 사용하지 않는 경우 선택적으로 API 키 설정
+ - **options.headers**: 선택적으로 사용자 정의 헤더 설정
-- **npm**: AI SDK 패키지, OpenAI 호환 공급자 `@ai-sdk/openai-compatible` -**name**: UI의 표시 이름.
-- ** 모델**: 유효한 모델.
-- **options.baseURL**: API 엔드포인트 URL.
-- **options.apiKey**: 선택적으로 auth를 사용하지 않는 경우 API 키 설정.
-- **options.headers**: 선택적으로 사용자 정의 헤더를 설정합니다.
+ 고급 옵션에 대한 자세한 내용은 아래 예제를 참조하십시오.
-아래 예에서 고급 옵션에 더.
-
-5. `/models` 명령을 실행하고 사용자 정의 공급자와 모델은 선택 목록에서 나타납니다.
+5. `/models` 명령을 실행하면 사용자 정의 공급자와 모델이 선택 목록에 나타납니다.
---
##### 예제
-다음은 `apiKey`, `headers` 및 모델 `limit` 옵션 설정 예입니다.
+다음은 `apiKey`, `headers` 및 모델 `limit` 옵션을 설정하는 예입니다.
```json title="opencode.json" {9,11,17-20}
{
@@ -1877,11 +1927,12 @@ opencode를 사용하여 OpenAI 호환 공급자를 사용할 수 있습니다.
구성 세부 사항:
-- **apiKey**: `env` 변수 구문을 사용하여 설정, [learn more](/docs/config#env-vars). -**headers**: 각 요청으로 전송된 사용자 정의 헤더.
-- **limit.context**: 모델이 허용하는 최대 Input Tokens.
-- **limit.output**: 모델이 생성할 수 있는 최대 Output Tokens.
+- **apiKey**: `env` 변수 구문을 사용하여 설정, [더 알아보기](/docs/config#env-vars).
+- **headers**: 각 요청과 함께 전송되는 사용자 정의 헤더.
+- **limit.context**: 모델이 허용하는 최대 입력 토큰.
+- **limit.output**: 모델이 생성할 수 있는 최대 출력 토큰.
-`limit` 필드를 사용하면 opencode가 얼마나 많은 컨텍스트를 이해 할 수 있습니다. 표준 공급자는 model.dev에서 자동적으로 당깁니다.
+`limit` 필드를 사용하면 OpenCode가 남은 컨텍스트 양을 파악할 수 있습니다. 표준 공급자는 models.dev에서 자동으로 이를 가져옵니다.
---
@@ -1889,13 +1940,11 @@ opencode를 사용하여 OpenAI 호환 공급자를 사용할 수 있습니다.
공급자 구성에 문제가 있는 경우 다음을 확인하십시오.
-1. **주의 설정 확인 **: `opencode auth list`를 실행하여 자격 증명을 볼 수 있습니다.
- 공급자는 config에 추가됩니다.
-
-이것은 Amazon Bedrock과 같은 공급자에 적용되지 않습니다. 환경 변수에 의존합니다.
+1. **인증 설정 확인**: `opencode auth list`를 실행하여 공급자의 자격 증명이 구성에 추가되었는지 확인하십시오.
-2. 주문 공급자를 위해, opencode config를 검사하고:
+ Amazon Bedrock과 같이 인증을 위해 환경 변수에 의존하는 공급자에는 적용되지 않습니다.
-- `/connect` 명령에 사용되는 공급자 ID가 opencode config에서 ID를 일치시킵니다.
-- 오른쪽 npm 패키지는 공급자에 사용됩니다. 예를 들어 Cerebras의 `@ai-sdk/cerebras`를 사용합니다. 그리고 다른 모든 OpenAI 호환 공급자를 위해, 사용 `@ai-sdk/openai-compatible`.
-- 올바른 API 엔드포인트는 `options.baseURL` 필드에 사용됩니다.
+2. 사용자 정의 공급자의 경우, OpenCode 구성을 확인하고 다음을 수행하십시오:
+ - `/connect` 명령에 사용된 공급자 ID가 OpenCode 구성의 ID와 일치하는지 확인하십시오.
+ - 공급자에 올바른 npm 패키지가 사용되었는지 확인하십시오. 예를 들어 Cerebras에는 `@ai-sdk/cerebras`를 사용하고, 다른 모든 OpenAI 호환 공급자에는 `@ai-sdk/openai-compatible`을 사용하십시오.
+ - `options.baseURL` 필드에 올바른 API 엔드포인트가 사용되었는지 확인하십시오.
diff --git a/packages/web/src/content/docs/ko/sdk.mdx b/packages/web/src/content/docs/ko/sdk.mdx
index f6d43c136..a5d12d1ab 100644
--- a/packages/web/src/content/docs/ko/sdk.mdx
+++ b/packages/web/src/content/docs/ko/sdk.mdx
@@ -117,13 +117,85 @@ try {
---
+## 구조화된 출력
+
+JSON 스키마와 함께 `format`을 지정하여 모델에서 구조화된 JSON 출력을 요청할 수 있습니다. 모델은 `StructuredOutput` 도구를 사용하여 스키마와 일치하는 검증된 JSON을 반환합니다.
+
+### 기본 사용법
+
+```typescript
+const result = await client.session.prompt({
+ path: { id: sessionId },
+ body: {
+ parts: [{ type: "text", text: "Research Anthropic and provide company info" }],
+ format: {
+ type: "json_schema",
+ schema: {
+ type: "object",
+ properties: {
+ company: { type: "string", description: "Company name" },
+ founded: { type: "number", description: "Year founded" },
+ products: {
+ type: "array",
+ items: { type: "string" },
+ description: "Main products",
+ },
+ },
+ required: ["company", "founded"],
+ },
+ },
+ },
+})
+
+// Access the structured output
+console.log(result.data.info.structured_output)
+// { company: "Anthropic", founded: 2021, products: ["Claude", "Claude API"] }
+```
+
+### 출력 형식 유형
+
+| 유형 | 설명 |
+| ------------- | ------------------------------------------------- |
+| `text` | 기본값. 표준 텍스트 응답 (구조화된 출력 없음) |
+| `json_schema` | 제공된 스키마와 일치하는 검증된 JSON을 반환합니다 |
+
+### JSON 스키마 형식
+
+`type: 'json_schema'`를 사용할 때 다음을 제공하십시오:
+
+| 필드 | 유형 | 설명 |
+| ------------ | --------------- | ------------------------------------------- |
+| `type` | `'json_schema'` | 필수. JSON 스키마 모드를 지정합니다 |
+| `schema` | `object` | 필수. 출력 구조를 정의하는 JSON 스키마 객체 |
+| `retryCount` | `number` | 선택 사항. 검증 재시도 횟수 (기본값: 2) |
+
+### 오류 처리
+
+모델이 모든 재시도 후에도 유효한 구조화된 출력을 생성하지 못하면 응답에 `StructuredOutputError`가 포함됩니다:
+
+```typescript
+if (result.data.info.error?.name === "StructuredOutputError") {
+ console.error("Failed to produce structured output:", result.data.info.error.message)
+ console.error("Attempts:", result.data.info.error.retries)
+}
+```
+
+### 모범 사례
+
+1. **명확한 설명 제공**: 모델이 추출할 데이터를 이해하는 데 도움이 되도록 스키마 속성에 명확한 설명을 제공하십시오.
+2. **`required` 사용**: 필수 필드를 지정하려면 `required`를 사용하십시오.
+3. **스키마를 집중적으로 유지**: 복잡한 중첩 스키마는 모델이 올바르게 채우기 더 어려울 수 있습니다.
+4. **적절한 `retryCount` 설정**: 복잡한 스키마의 경우 늘리고 단순한 스키마의 경우 줄이십시오.
+
+---
+
## API
SDK는 type-safe 클라이언트를 통해 모든 서버 API를 노출합니다.
---
-## 글로벌
+### 글로벌
| 메서드 | 설명 | 응답 |
| ----------------- | ---------------------- | ------------------------------------ |
@@ -142,10 +214,10 @@ console.log(health.data.version)
### 앱
-| 방법 | 설명 | 응답 |
-| -------------- | ------------------------- | ----------------------------------------------- |
-| `app.log()` | 로그 항목 작성 | `boolean` |
-| `app.agents()` | 이용 가능한 모든 에이전트 | <a href={typesUrl}><code> 에이전트[]</code></a> |
+| 방법 | 설명 | 응답 |
+| -------------- | ------------------------- | ------------------------------------------- |
+| `app.log()` | 로그 항목 작성 | `boolean` |
+| `app.agents()` | 이용 가능한 모든 에이전트 | <a href={typesUrl}><code>Agent[]</code></a> |
---
@@ -167,7 +239,7 @@ const agents = await client.app.agents()
---
-## 프로젝트
+### 프로젝트
| 방법 | 설명 | 응답 |
| ------------------- | ----------------------- | --------------------------------------------- |
@@ -205,7 +277,7 @@ const pathInfo = await client.path.get()
---
-#### 구성
+### 구성
| 방법 | 설명 | 응답 |
| -------------------- | -------------------------- | ----------------------------------------------------------------------------------------------------- |
@@ -224,29 +296,29 @@ const { providers, default: defaults } = await client.config.providers()
---
-## 세션
-
-| 메서드 | 설명 | 비고 |
-| ---------------------------------------------------------- | ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
-| `session.list()` | 세션 일람 | <a href={typesUrl}><code>Session[]</code></a> |
-| `session.get({ path })` | 세션 가져 오기 | <a href={typesUrl}><code>Session</code></a> |
-| `session.children({ path })` | 하위 세션 목록 | 반품 <a href={typesUrl}><code>Session</code></a> |
-| `session.create({ body })` | 세션 만들기 | 리턴 <a href={typesUrl}><code>Session</code></a> |
-| `session.delete({ path })` | 세션 삭제 | `boolean` 반품 |
-| `session.update({ path, body })` | 업데이트 세션 속성 | 반품 <a href={typesUrl}><code>Session</code></a> |
-| `session.init({ path, body })` | 앱 초기화 및 `AGENTS.md` 분석 | `boolean`를 반환 |
-| `session.abort({ path })` | 운영 중인 세션 | 반품 `boolean` |
-| `session.share({ path })` | 공유 세션 | 반품 <a href={typesUrl}><code>Session</code></a> |
-| `session.unshare({ path })` | 공유 세션 | 반품 <a href={typesUrl}><code>Session</code></a> |
-| `session.summarize({ path, body })` | 세션 요약 | 반품 `boolean` |
-| `session.messages({ path })` | 세션의 메시지 목록 | `{ info: `<a href={typesUrl}><code>Message</code></a>`, parts: `<a href={typesUrl}><code>Part</code></a>`}[]` |
-| `session.message({ path })` | 메시지 상세정보 | 반품 `{ info: `<a href={typesUrl}><code>Message</code></a>`, parts: `<a href={typesUrl}><code>Part[]</code></a>`}` |
-| `session.prompt({ path, body })` | prompt 메시지 보내기 | `body.noReply: true` 반환 UserMessage (콘텍스트 전용). 기본 반환 <a href={typesUrl}><code>AssistantMessage</code></a> 에 AI 응답 |
-| `session.command({ path, body })` | 세션으로 명령을 전송 | `{ info: `<a href={typesUrl}><code>AssistantMessage</code></a>`, parts: `<a href={typesUrl}><code>Part[]</code></a>`}` |
-| `session.shell({ path, body })` | shell 명령을 실행 | <a href={typesUrl}><code>AssistantMessage</code></a> |
-| `session.revert({ path, body })` | 메시지 다시 변환 | <a href={typesUrl}><code>Session</code></a> |
-| `session.unrevert({ path })` | 메시지 되돌리기 취소 | 반품 <a href={typesUrl}><code>Session</code></a> |
-| `postSessionByIdPermissionsByPermissionId({ path, body })` | 허가 요청 대응 | 반품 `boolean` |
+### 세션
+
+| 메서드 | 설명 | 비고 |
+| ---------------------------------------------------------- | ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `session.list()` | 세션 일람 | <a href={typesUrl}><code>Session[]</code></a> |
+| `session.get({ path })` | 세션 가져 오기 | <a href={typesUrl}><code>Session</code></a> |
+| `session.children({ path })` | 하위 세션 목록 | 반품 <a href={typesUrl}><code>Session</code></a> |
+| `session.create({ body })` | 세션 만들기 | 리턴 <a href={typesUrl}><code>Session</code></a> |
+| `session.delete({ path })` | 세션 삭제 | `boolean` 반품 |
+| `session.update({ path, body })` | 업데이트 세션 속성 | 반품 <a href={typesUrl}><code>Session</code></a> |
+| `session.init({ path, body })` | 앱 초기화 및 `AGENTS.md` 분석 | `boolean`를 반환 |
+| `session.abort({ path })` | 운영 중인 세션 | 반품 `boolean` |
+| `session.share({ path })` | 공유 세션 | 반품 <a href={typesUrl}><code>Session</code></a> |
+| `session.unshare({ path })` | 공유 세션 취소 | 반품 <a href={typesUrl}><code>Session</code></a> |
+| `session.summarize({ path, body })` | 세션 요약 | 반품 `boolean` |
+| `session.messages({ path })` | 세션의 메시지 목록 | `{ info: `<a href={typesUrl}><code>Message</code></a>`, parts: `<a href={typesUrl}><code>Part</code></a>`}[]` |
+| `session.message({ path })` | 메시지 상세정보 | 반품 `{ info: `<a href={typesUrl}><code>Message</code></a>`, parts: `<a href={typesUrl}><code>Part[]</code></a>`}` |
+| `session.prompt({ path, body })` | prompt 메시지 보내기 | `body.noReply: true`는 UserMessage(컨텍스트 전용)를 반환합니다. 기본값은 AI 응답과 함께 <a href={typesUrl}><code>AssistantMessage</code></a>를 반환합니다. [구조화된 출력](#구조화된-출력)을 위한 `body.outputFormat`을 지원합니다 |
+| `session.command({ path, body })` | 세션으로 명령을 전송 | `{ info: `<a href={typesUrl}><code>AssistantMessage</code></a>`, parts: `<a href={typesUrl}><code>Part[]</code></a>`}` |
+| `session.shell({ path, body })` | shell 명령을 실행 | <a href={typesUrl}><code>AssistantMessage</code></a> |
+| `session.revert({ path, body })` | 메시지 다시 변환 | <a href={typesUrl}><code>Session</code></a> |
+| `session.unrevert({ path })` | 메시지 되돌리기 취소 | 반품 <a href={typesUrl}><code>Session</code></a> |
+| `postSessionByIdPermissionsByPermissionId({ path, body })` | 허가 요청 대응 | 반품 `boolean` |
---
@@ -281,7 +353,7 @@ await client.session.prompt({
---
-## 파일
+### 파일
| 방법 | 설명 | 응답 |
| ------------------------- | ---------------------------- | -------------------------------------------------------------------------------------- |
@@ -322,7 +394,7 @@ const content = await client.file.read({
---
-#### TUI
+### TUI
| 방법 | 설명 | 응답 |
| ------------------------------ | ------------------------ | --------- |
@@ -353,7 +425,7 @@ await client.tui.showToast({
---
-##### 인증
+### 인증
| 방법 | 설명 | 응답 |
| ------------------- | -------------- | --------- |
@@ -372,7 +444,7 @@ await client.auth.set({
---
-## 이벤트
+### 이벤트
| 방법 | 설명 | 응답 |
| ------------------- | ----------------------- | ----------------------- |
diff --git a/packages/web/src/content/docs/ko/themes.mdx b/packages/web/src/content/docs/ko/themes.mdx
index b83b62017..af148eda1 100644
--- a/packages/web/src/content/docs/ko/themes.mdx
+++ b/packages/web/src/content/docs/ko/themes.mdx
@@ -3,28 +3,27 @@ title: 테마
description: 내장 테마를 선택하거나 자신만의 테마를 정의하세요.
---
-opencode를 사용하면 여러 내장 테마 중 하나에서 선택할 수 있으며 terminal 테마에 적응하는 테마를 사용하거나 사용자 정의 테마를 정의 할 수 있습니다.
+OpenCode를 사용하면 여러 내장 테마 중 하나에서 선택할 수 있으며 terminal 테마에 적응하는 테마를 사용하거나 사용자 정의 테마를 정의 할 수 있습니다.
-기본적으로 opencode는 자체 `opencode` 테마를 사용합니다.
+기본적으로 OpenCode는 자체 `opencode` 테마를 사용합니다.
---
## 터미널 요구 사항
-자신의 풀 컬러 팔레트로 올바르게 표시하려면 terminal을 지원해야합니다 ** truecolor** (24 비트 색상). 대부분의 현대 terminal은 기본적으로 이것을 지원합니다, 그러나 당신은 그것을 가능하게 할 필요가 있을지도 모릅니다:
+테마가 전체 색상 팔레트로 올바르게 표시되려면 터미널이 **truecolor** (24비트 색상)를 지원해야 합니다. 대부분의 최신 터미널은 기본적으로 이를 지원하지만, 활성화해야 할 수도 있습니다:
--**체크 지원**: `echo $COLORTERM` - 그것은 `truecolor` 또는 `24bit`를 출력해야 합니다
+- **지원 확인**: `echo $COLORTERM` 실행 - `truecolor` 또는 `24bit`가 출력되어야 합니다.
+- **truecolor 활성화**: 셸 프로필에서 환경 변수 `COLORTERM=truecolor`를 설정하십시오.
+- **터미널 호환성**: 터미널 에뮬레이터가 24비트 색상을 지원하는지 확인하십시오 (iTerm2, Alacritty, Kitty, Windows Terminal 및 최신 버전의 GNOME Terminal 등 대부분의 최신 터미널이 지원함).
-- ** truecolor 사용 가능**: shell 프로파일에서 환경 변수 `COLORTERM=truecolor`를 설정
-- **Terminal 호환성 **: terminal 에뮬레이터 지원 24 비트 색상 (iTerm2, Alacritty, Kitty, Windows Terminal 및 GNOME Terminal의 최신 버전)
-
-truecolor 지원 없이, 테마는 감소된 색깔 정확도로 나타날지도 모릅니다 또는 가장 가까운 256 색깔 대류로 뒤떨어질지도 모릅니다.
+truecolor 지원이 없으면 테마가 감소된 색상 정확도로 표시되거나 가장 가까운 256색 근사치로 대체될 수 있습니다.
---
## 내장 테마
-opencode는 여러 내장 테마와 함께 제공됩니다.
+OpenCode는 여러 내장 테마와 함께 제공됩니다.
| 이름 | 설명 |
| ---------------------- | ------------------------------------------------------------------- |
@@ -46,27 +45,27 @@ opencode는 여러 내장 테마와 함께 제공됩니다.
## 시스템 테마
-`system` 테마는 terminal의 색깔 계획에 자동적으로 적응시키기 위하여 디자인됩니다. 고정 색상을 사용하는 전통적인 테마와 달리, system 테마:
+`system` 테마는 터미널의 색상 스키마에 자동으로 적응하도록 설계되었습니다. 고정 색상을 사용하는 기존 테마와 달리, system 테마는:
-- **그레이스케일**: terminal의 배경 색상을 기반으로 사용자 정의 회색 가늠자를 만들고 최적의 대조를 보장합니다.
-- ** ANSI 색상 사용 ** : terminal의 색상 팔레트를 존중하는 구문 강조 및 UI 요소에 대한 표준 ANSI 색상 (0-15).
-- ** terminal 기본 사항**: `none` 텍스트 및 배경 색상을 사용하여 terminal의 네이티브 외관을 유지합니다.
+- **그레이스케일 생성**: 터미널의 배경 색상을 기반으로 사용자 정의 그레이스케일을 생성하여 최적의 대비를 보장합니다.
+- **ANSI 색상 사용**: 구문 강조 및 UI 요소에 표준 ANSI 색상(0-15)을 활용하여 터미널의 색상 팔레트를 존중합니다.
+- **터미널 기본값 유지**: 텍스트 및 배경 색상에 `none`을 사용하여 터미널의 기본 모양을 유지합니다.
-시스템 테마는 사용자를위한 것입니다 :
+시스템 테마는 다음과 같은 사용자에게 적합합니다:
-- opencode가 terminal의 외관과 일치해야 합니다.
-- 사용자 정의 terminal 색상 구성
-- 모든 terminal 응용 분야의 일관된 모습
+- OpenCode가 터미널의 모양과 일치하기를 원하는 경우
+- 사용자 정의 터미널 색상 스키마를 사용하는 경우
+- 모든 터미널 애플리케이션에서 일관된 모양을 선호하는 경우
---
## 테마 사용
-테마를 `/theme` 명령어로 선택하여 테마를 선택할 수 있습니다. 또는 [config](/docs/config)에서 지정할 수 있습니다.
+`/theme` 명령어로 테마 선택기를 불러와 테마를 선택할 수 있습니다. 또는 `tui.json`에서 지정할 수 있습니다.
-```json title="opencode.json" {3}
+```json title="tui.json" {3}
{
- "$schema": "https://opencode.ai/config.json",
+ "$schema": "https://opencode.ai/tui.json",
"theme": "tokyonight"
}
```
@@ -75,32 +74,35 @@ opencode는 여러 내장 테마와 함께 제공됩니다.
## 사용자 정의 테마
-opencode는 사용자가 쉽게 테마를 만들 수 있도록 유연한 JSON 기반 테마 시스템을 지원합니다.
+OpenCode는 사용자가 쉽게 테마를 만들고 사용자 정의할 수 있도록 유연한 JSON 기반 테마 시스템을 지원합니다.
---
-##### 계층 구조
+### 계층 구조
-테마는 다음과 같은 순서에서 여러 디렉토리에서로드됩니다. 나중에 감독은 이전 것을 무시합니다.
+테마는 다음 순서대로 여러 디렉토리에서 로드되며, 나중 디렉토리가 이전 디렉토리를 덮어씁니다:
-1.**Built-in themes** - 이것은 바이너리에 내장되어 있습니다. 2. **사용자 설정 디렉토리 ** - `~/.config/opencode/themes/*.json` 또는 `$XDG_CONFIG_HOME/opencode/themes/*.json`에서 정의 3. ** 루트 디렉토리 ** - `<project-root>/.opencode/themes/*.json`에서 정의 4. **현재 작업 디렉토리 ** - `./.opencode/themes/*.json`에서 정의
+1. **내장 테마 (Built-in themes)** - 바이너리에 내장되어 있습니다.
+2. **사용자 설정 디렉토리 (User config directory)** - `~/.config/opencode/themes/*.json` 또는 `$XDG_CONFIG_HOME/opencode/themes/*.json`에 정의됩니다.
+3. **프로젝트 루트 디렉토리 (Project root directory)** - `<project-root>/.opencode/themes/*.json`에 정의됩니다.
+4. **현재 작업 디렉토리 (Current working directory)** - `./.opencode/themes/*.json`에 정의됩니다.
-여러 디렉토리가 같은 이름을 가진 테마를 포함한다면, 더 높은 우선 순위를 가진 디렉토리의 테마가 사용됩니다.
+여러 디렉토리에 같은 이름의 테마가 있는 경우, 더 높은 우선 순위를 가진 디렉토리의 테마가 사용됩니다.
---
### 테마 만들기
-사용자 정의 테마를 만들려면 테마 디렉토리 중 하나에서 JSON 파일을 만듭니다.
+사용자 정의 테마를 만들려면 테마 디렉토리 중 하나에 JSON 파일을 만듭니다.
-사용자 넓은 테마:
+사용자 전역 테마:
```bash no-frame
mkdir -p ~/.config/opencode/themes
vim ~/.config/opencode/themes/my-theme.json
```
-프로젝트 별 테마.
+프로젝트별 테마:
```bash no-frame
mkdir -p .opencode/themes
@@ -111,35 +113,34 @@ vim .opencode/themes/my-theme.json
### JSON 형식
-테마는 유연한 JSON 형식을 사용하여 지원:
-
--**Hex 색상**: `"#ffffff"`
+테마는 다음을 지원하는 유연한 JSON 형식을 사용합니다:
-- ** ANSI 색상**: `3` (0-255)
-- ** 색상 참조 ** : `"primary"` 또는 사용자 정의 정의
-- ** 어두운 / 조명 변형 ** : `{"dark": "#000", "light": "#fff"}`
-- ** 색상 없음 ** : `"none"` - terminal의 기본 색상 또는 투명 사용
+- **Hex 색상**: `"#ffffff"`
+- **ANSI 색상**: `3` (0-255)
+- **색상 참조**: `"primary"` 또는 사용자 정의 정의
+- **다크/라이트 변형**: `{"dark": "#000", "light": "#fff"}`
+- **색상 없음**: `"none"` - 터미널의 기본 색상 또는 투명 사용
---
### 색상 정의
-`defs` 단면도는 선택적이고 당신은 주제에서 참조될 수 있는 재사용할 수 있는 색깔을 정의할 수 있습니다.
+`defs` 섹션은 선택 사항이며 테마 내에서 참조할 수 있는 재사용 가능한 색상을 정의할 수 있습니다.
---
-## 터미널 기본값
+### 터미널 기본값
-특별한 가치 `"none"`는 terminal의 기본 색깔을 상속하기 위하여 어떤 색깔든지를 위해 사용될 수 있습니다. 이것은 특히 당신의 terminal의 색깔 계획과 이음새가 없는 혼합 테마 창조를 위해 유용합니다:
+`"none"`이라는 특별한 값은 모든 색상에 대해 터미널의 기본 색상을 상속하는 데 사용할 수 있습니다. 이는 특히 터미널의 색상 스키마와 매끄럽게 어우러지는 테마를 만들 때 유용합니다:
-- `"text": "none"` - terminal의 기본 전경 색상 사용
-- `"background": "none"` - terminal의 기본 배경 색상 사용
+- `"text": "none"` - 터미널의 기본 전경색 사용
+- `"background": "none"` - 터미널의 기본 배경색 사용
---
### 예제
-사용자 정의 테마의 예입니다 :
+사용자 정의 테마의 예입니다:
```json title="my-theme.json"
{
diff --git a/packages/web/src/content/docs/ko/tui.mdx b/packages/web/src/content/docs/ko/tui.mdx
index 8717cc785..669d899d0 100644
--- a/packages/web/src/content/docs/ko/tui.mdx
+++ b/packages/web/src/content/docs/ko/tui.mdx
@@ -5,9 +5,9 @@ description: OpenCode 터미널 사용자 인터페이스 사용.
import { Tabs, TabItem } from "@astrojs/starlight/components"
-opencode는 LLM과 함께 프로젝트를 위해 대화형 terminal 인터페이스 또는 TUI를 제공합니다.
+OpenCode는 LLM과 함께 프로젝트 작업을 하기 위한 대화형 터미널 인터페이스(TUI)를 제공합니다.
-opencode는 현재 디렉토리에 TUI를 시작합니다.
+OpenCode를 실행하면 현재 디렉토리에서 TUI가 시작됩니다.
```bash
opencode
@@ -19,7 +19,7 @@ opencode
opencode /path/to/project
```
-TUI에 있다면 메시지가 표시됩니다.
+TUI에 들어가면 메시지를 입력하여 프롬프트할 수 있습니다.
```text
Give me a quick summary of the codebase.
@@ -29,10 +29,10 @@ Give me a quick summary of the codebase.
## 파일 참조
-`@`를 사용하여 메시지에 파일을 참조 할 수 있습니다. 이것은 현재 작업 디렉토리에서 fuzzy 파일 검색입니다.
+`@`를 사용하여 메시지에서 파일을 참조할 수 있습니다. 이것은 현재 작업 디렉토리에서 퍼지(fuzzy) 파일 검색을 수행합니다.
:::tip
-`@`를 사용하여 메시지의 참조 파일을 사용할 수 있습니다.
+`@`를 사용하여 메시지에서 파일을 참조할 수 있습니다.
:::
```text "@packages/functions/src/api/index.ts"
@@ -45,7 +45,7 @@ How is auth handled in @packages/functions/src/api/index.ts?
## Bash 명령
-`!`를 사용하여 shell 명령을 실행합니다.
+`!`로 메시지를 시작하여 셸 명령을 실행합니다.
```bash frame="none"
!ls -la
@@ -57,21 +57,21 @@ How is auth handled in @packages/functions/src/api/index.ts?
## 명령
-opencode TUI를 사용할 때, `/`를 입력하여 명령 이름을 따라 작업을 신속하게 실행할 수 있습니다. 예를 들면:
+OpenCode TUI를 사용할 때 `/` 뒤에 명령 이름을 입력하여 작업을 빠르게 실행할 수 있습니다. 예를 들어:
```bash frame="none"
/help
```
-대부분의 명령은 `ctrl+x`를 `ctrl+x`가 기본 리더 키입니다. [더 알아보기](/docs/keybinds).
+대부분의 명령에는 기본 리더 키인 `ctrl+x`를 사용하는 키바인드도 있습니다. [더 알아보기](/docs/keybinds).
-여기에 모든 가능한 슬래시 명령이 있습니다.
+사용 가능한 모든 슬래시 명령은 다음과 같습니다:
---
-### /connect
+### connect
-opencode에 대한 공급자를 추가합니다. 사용 가능한 공급자에서 선택하고 API 키를 추가 할 수 있습니다.
+OpenCode에 공급자를 추가합니다. 사용 가능한 공급자 중에서 선택하고 API 키를 추가할 수 있습니다.
```bash frame="none"
/connect
@@ -79,67 +79,67 @@ opencode에 대한 공급자를 추가합니다. 사용 가능한 공급자에�
---
-### /compact
+### compact
-현재 세션을 압축합니다. 앨리스 : `/summarize`
+현재 세션을 압축합니다. _별칭_: `/summarize`
```bash frame="none"
/compact
```
-** Keybind:** `ctrl+x c`
+**키바인드:** `ctrl+x c`
---
-### /details
+### details
-토글 툴 실행 세부 사항.
+도구 실행 세부 정보 토글.
```bash frame="none"
/details
```
-** Keybind:** `ctrl+x d`
+**키바인드:** `ctrl+x d`
---
-### /editor
+### editor
-메시지를 작성하기 위한 외부 편집기를 엽니다. `EDITOR` 환경에서 설정된 편집기를 사용합니다. [더 알아보기](#editor-setup).
+메시지 작성을 위한 외부 편집기를 엽니다. `EDITOR` 환경 변수에 설정된 편집기를 사용합니다. [더 알아보기](#editor-setup).
```bash frame="none"
/editor
```
-** Keybind:** `ctrl+x e`
+**키바인드:** `ctrl+x e`
---
-### /exit
+### exit
-opencode를 종료합니다. Aliases : `/quit`, `/q`
+OpenCode를 종료합니다. _별칭_: `/quit`, `/q`
```bash frame="none"
/exit
```
-** Keybind:** `ctrl+x q`
+**키바인드:** `ctrl+x q`
---
-### /export
+### export
-Markdown에 대한 현재 대화를 내보내고 기본 편집기에서 열립니다. `EDITOR` 환경에서 설정된 편집기를 사용합니다. [더 알아보기](#editor-setup).
+현재 대화를 Markdown으로 내보내고 기본 편집기에서 엽니다. `EDITOR` 환경 변수에 설정된 편집기를 사용합니다. [더 알아보기](#editor-setup).
```bash frame="none"
/export
```
-** Keybind:** `ctrl+x x`
+**키바인드:** `ctrl+x x`
---
-### /help
+### help
도움말 대화 상자를 표시합니다.
@@ -147,107 +147,106 @@ Markdown에 대한 현재 대화를 내보내고 기본 편집기에서 열립�
/help
```
-** Keybind:** `ctrl+x h`
+**키바인드:** `ctrl+x h`
---
-###### /init
+### init
-`AGENTS.md` 파일을 만들거나 업데이트하십시오. [더 알아보기](/docs/rules).
+`AGENTS.md` 파일을 생성하거나 업데이트합니다. [더 알아보기](/docs/rules).
```bash frame="none"
/init
```
-** Keybind:** `ctrl+x i`
+**키바인드:** `ctrl+x i`
---
-## /models
+### models
-사용 가능한 모델 목록.
+사용 가능한 모델 목록을 표시합니다.
```bash frame="none"
/models
```
-** Keybind:** `ctrl+x m`
+**키바인드:** `ctrl+x m`
---
-## /new
+### new
-새로운 세션을 시작합니다. 앨리스 : `/clear`
+새 세션을 시작합니다. _별칭_: `/clear`
```bash frame="none"
/new
```
-** Keybind:** `ctrl+x n`
+**키바인드:** `ctrl+x n`
---
-##### /redo
+### redo
-이전 undone 메시지 Redo. `/undo`를 사용하는 후에만 유효한.
+이전에 실행 취소한 메시지를 다시 실행합니다. `/undo`를 사용한 후에만 사용할 수 있습니다.
:::tip
-모든 파일 변경도 복원됩니다.
+모든 파일 변경 사항도 복원됩니다.
:::
-내부적으로 Git을 사용하여 파일 변경을 관리합니다. 그래서 프로젝트 **
-Git 저장소**입니다.
+내부적으로 Git을 사용하여 파일 변경 사항을 관리합니다. 따라서 프로젝트가 **Git 저장소**여야 합니다.
```bash frame="none"
/redo
```
-** Keybind:** `ctrl+x r`
+**키바인드:** `ctrl+x r`
---
-## /sessions
+### sessions
-세션 간 목록 및 전환. Aliases : `/resume`, `/continue`
+세션 목록을 표시하고 세션 간을 전환합니다. _별칭_: `/resume`, `/continue`
```bash frame="none"
/sessions
```
-** Keybind:** `ctrl+x l`
+**키바인드:** `ctrl+x l`
---
-## 공유
+### share
-현재 세션 공유. [더 알아보기](/docs/share).
+현재 세션을 공유합니다. [더 알아보기](/docs/share).
```bash frame="none"
/share
```
-** Keybind:** `ctrl+x s`
+**키바인드:** `ctrl+x s`
---
-## /theme
+### themes
-사용할 수 있는 테마 목록.
+사용 가능한 테마 목록을 표시합니다.
```bash frame="none"
-/theme
+/themes
```
-** Keybind:** `ctrl+x t`
+**키바인드:** `ctrl+x t`
---
-### /thinking
+### thinking
-대화의 사고/거주 블록의 가시성을 토합니다. 사용할 때, 확장 된 생각을 지원하는 모델의 이유 프로세스를 볼 수 있습니다.
+대화에서 생각/추론 블록의 가시성을 토글합니다. 활성화하면 확장된 사고를 지원하는 모델의 추론 과정을 볼 수 있습니다.
:::note
-이 명령은 생각 블록이 ** 표시되었는지 여부 만 제어 ** - 모델의 소싱 기능을 활성화하거나 비활성화하지 않습니다. toggle 실제적인 reasoning 기능에, 모형 변종을 통해서 주기 위하여 `ctrl+t`를 이용합니다.
+이 명령은 생각 블록이 **표시되는지 여부만 제어**하며 모델의 추론 기능을 활성화하거나 비활성화하지 않습니다. 실제 추론 기능을 토글하려면 `ctrl+t`를 사용하여 모델 변형을 순환하십시오.
:::
```bash frame="none"
@@ -256,28 +255,27 @@ Git 저장소**입니다.
---
-##### /undo
+### undo
-대화에서 마지막 메시지. 가장 최근의 사용자 메시지, 모든 후속 응답 및 모든 파일 변경 제거.
+대화의 마지막 메시지를 실행 취소합니다. 가장 최근의 사용자 메시지, 모든 후속 응답 및 모든 파일 변경 사항을 제거합니다.
:::tip
-어떤 파일 변경도 복제됩니다.
+모든 파일 변경 사항도 되돌려집니다.
:::
-내부적으로 Git을 사용하여 파일 변경을 관리합니다. 그래서 프로젝트 **
-Git 저장소**입니다.
+내부적으로 Git을 사용하여 파일 변경 사항을 관리합니다. 따라서 프로젝트가 **Git 저장소**여야 합니다.
```bash frame="none"
/undo
```
-** Keybind:** `ctrl+x u`
+**키바인드:** `ctrl+x u`
---
-#### /unshare
+### unshare
-Unshare 현재 세션. [더 알아보기](/docs/share#un-sharing).
+현재 세션 공유를 취소합니다. [더 알아보기](/docs/share#un-sharing).
```bash frame="none"
/unshare
@@ -285,9 +283,9 @@ Unshare 현재 세션. [더 알아보기](/docs/share#un-sharing).
---
-## 편집기 설정
+## Editor setup
-`/editor`와 `/export` 명령 모두는 `EDITOR` 환경변수에서 지정된 편집기를 사용합니다.
+`/editor`와 `/export` 명령 모두 `EDITOR` 환경 변수에 지정된 편집기를 사용합니다.
<Tabs>
<TabItem label="Linux/macOS">
@@ -301,8 +299,7 @@ Unshare 현재 세션. [더 알아보기](/docs/share#un-sharing).
export EDITOR="code --wait"
```
-영원한 만들기 위하여, 당신의 shell 프로파일에 이것을 추가하십시오;
-`~/.bashrc`, `~/.zshrc`, 등.
+ 영구적으로 설정하려면 셸 프로필(`~/.bashrc`, `~/.zshrc` 등)에 추가하십시오.
</TabItem>
@@ -315,8 +312,7 @@ Unshare 현재 세션. [더 알아보기](/docs/share#un-sharing).
set EDITOR=code --wait
```
-영구적으로, use **System Properties** > ** 환경
-변수**.
+ 영구적으로 설정하려면 **시스템 속성** > **환경 변수**를 사용하십시오.
</TabItem>
@@ -329,62 +325,72 @@ Unshare 현재 세션. [더 알아보기](/docs/share#un-sharing).
$env:EDITOR = "code --wait"
```
-영구적으로 만들려면 PowerShell 프로파일에 추가하십시오.
+ 영구적으로 설정하려면 PowerShell 프로필에 추가하십시오.
</TabItem>
</Tabs>
-인기있는 편집기 옵션은 다음과 같습니다 :
+인기 있는 편집기 옵션은 다음과 같습니다:
-- `code` - Visual Studio 코드
-- `cursor` - 커서
-- `windsurf` - 윈드 서핑
-- `nvim` - Neovim 편집기
-- `vim` - Vim 편집기
-- `nano` - 나노 편집기
-- `notepad` - 윈도우 노트패드
-- `subl` - 승화 텍스트
+- `code` - Visual Studio Code
+- `cursor` - Cursor
+- `windsurf` - Windsurf
+- `nvim` - Neovim editor
+- `vim` - Vim editor
+- `nano` - Nano editor
+- `notepad` - Windows Notepad
+- `subl` - Sublime Text
:::note
-VS Code와 같은 일부 편집기는 `--wait` 플래그와 함께 시작해야합니다.
+VS Code와 같은 일부 편집기는 `--wait` 플래그와 함께 시작해야 합니다.
:::
-일부 편집기는 명령줄 인수가 차단 모드에서 실행되어야 합니다. `--wait` 플래그는 닫힐 때까지 편집기 프로세스 블록을 만듭니다.
+일부 편집기는 차단 모드에서 실행하려면 명령줄 인수가 필요합니다. `--wait` 플래그는 편집기 프로세스가 닫힐 때까지 차단되도록 합니다.
---
## 구성
-opencode config 파일을 통해 TUI 동작을 사용자 정의할 수 있습니다.
+`tui.json` (또는 `tui.jsonc`) 파일을 통해 TUI 동작을 사용자 정의할 수 있습니다.
-```json title="opencode.json"
+```json title="tui.json"
{
- "$schema": "https://opencode.ai/config.json",
- "tui": {
- "scroll_speed": 3,
- "scroll_acceleration": {
- "enabled": true
- }
- }
+ "$schema": "https://opencode.ai/tui.json",
+ "theme": "opencode",
+ "keybinds": {
+ "leader": "ctrl+x"
+ },
+ "scroll_speed": 3,
+ "scroll_acceleration": {
+ "enabled": true
+ },
+ "diff_style": "auto"
}
```
+이는 서버/런타임 동작을 구성하는 `opencode.json`과는 별개입니다.
+
### 옵션
-- `scroll_acceleration` - 부드러운 자연 스크롤을위한 macOS 스타일 스크롤 가속 가능. 사용할 때, 스크롤 속도는 빠른 스크롤 제스처로 증가하고 느린 움직임을 위해 정확한 유지. **이 설정은 `scroll_speed`를 통해 우선 순위를 부여하고 활성화 할 때. **
-- `scroll_speed` - 스크롤 명령 (최소 : `1`)을 사용하여 TUI 스크롤을 빠르게 제어합니다. 기본 `3`. ** 참고: `scroll_acceleration.enabled`가 `true`로 설정되면 무시됩니다.**
+- `theme` - UI 테마를 설정합니다. [더 알아보기](/docs/themes).
+- `keybinds` - 키보드 단축키를 사용자 정의합니다. [더 알아보기](/docs/keybinds).
+- `scroll_acceleration.enabled` - 부드럽고 자연스러운 스크롤을 위해 macOS 스타일의 스크롤 가속을 활성화합니다. 활성화하면 빠른 스크롤 제스처로 스크롤 속도가 증가하고 느린 움직임에서는 정밀하게 유지됩니다. **이 설정은 `scroll_speed`보다 우선하며 활성화 시 이를 덮어씁니다.**
+- `scroll_speed` - 스크롤 명령을 사용할 때 TUI 스크롤 속도를 제어합니다 (최소: `0.001`, 소수점 값 지원). 기본값은 `3`입니다. **참고: `scroll_acceleration.enabled`가 `true`로 설정되면 무시됩니다.**
+- `diff_style` - diff 렌더링 방식을 제어합니다. `"auto"`는 터미널 너비에 적응하고, `"stacked"`는 항상 단일 열 레이아웃을 표시합니다.
+
+`OPENCODE_TUI_CONFIG`를 사용하여 사용자 정의 TUI 설정 경로를 로드할 수 있습니다.
---
## 사용자 정의
-명령 팔레트 (`ctrl+x h` 또는 `/help`)를 사용하여 TUI보기의 다양한 측면을 사용자 정의 할 수 있습니다. 재시작에 따른 설정 persist.
+명령 팔레트(`ctrl+x h` 또는 `/help`)를 사용하여 TUI 보기의 다양한 측면을 사용자 정의할 수 있습니다. 설정은 다시 시작해도 유지됩니다.
---
#### 사용자 이름 표시
-사용자 이름이 채팅 메시지에 나타나는지 여부를 수정합니다. 이것을 통해 접근:
+채팅 메시지에 사용자 이름이 표시되는지 여부를 토글합니다. 다음을 통해 액세스:
-- 명령 팔레트 : "username" 또는 "hide 사용자" 검색
-- 자동 설정은 TUI 세션을 통해 기억됩니다.
+- 명령 팔레트: "username" 또는 "hide username" 검색
+- 설정은 자동으로 유지되며 TUI 세션 간에 기억됩니다.
diff --git a/packages/web/src/content/docs/ko/zen.mdx b/packages/web/src/content/docs/ko/zen.mdx
index 04d5c0df8..035f14414 100644
--- a/packages/web/src/content/docs/ko/zen.mdx
+++ b/packages/web/src/content/docs/ko/zen.mdx
@@ -3,7 +3,7 @@ title: Zen
description: OpenCode가 제공하는 엄선된 모델 목록.
---
-import config from "../../../../config.mjs"
+import config from "../../../config.mjs"
export const console = config.console
export const email = `mailto:${config.email}`
@@ -55,6 +55,7 @@ OpenCode Zen은 OpenCode의 다른 제공자와 동일한 방식으로 작동합
| 모델 | 모델 ID | 엔드포인트 | AI SDK 패키지 |
| ------------------ | ------------------ | -------------------------------------------------- | --------------------------- |
+| GPT 5.3 Codex | gpt-5.3-codex | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| GPT 5.2 | gpt-5.2 | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| GPT 5.2 Codex | gpt-5.2-codex | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| GPT 5.1 | gpt-5.1 | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
@@ -64,28 +65,30 @@ OpenCode Zen은 OpenCode의 다른 제공자와 동일한 방식으로 작동합
| GPT 5 | gpt-5 | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| GPT 5 Codex | gpt-5-codex | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| GPT 5 Nano | gpt-5-nano | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
+| Claude Opus 4.6 | claude-opus-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
+| Claude Opus 4.5 | claude-opus-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
+| Claude Opus 4.1 | claude-opus-4-1 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
+| Claude Sonnet 4.6 | claude-sonnet-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Sonnet 4.5 | claude-sonnet-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Sonnet 4 | claude-sonnet-4 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Haiku 4.5 | claude-haiku-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Haiku 3.5 | claude-3-5-haiku | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Opus 4.6 | claude-opus-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Opus 4.5 | claude-opus-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Opus 4.1 | claude-opus-4-1 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
+| Gemini 3.1 Pro | gemini-3.1-pro | `https://opencode.ai/zen/v1/models/gemini-3.1-pro` | `@ai-sdk/google` |
| Gemini 3 Pro | gemini-3-pro | `https://opencode.ai/zen/v1/models/gemini-3-pro` | `@ai-sdk/google` |
| Gemini 3 Flash | gemini-3-flash | `https://opencode.ai/zen/v1/models/gemini-3-flash` | `@ai-sdk/google` |
+| MiniMax M2.5 | minimax-m2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
+| MiniMax M2.5 Free | minimax-m2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiniMax M2.1 | minimax-m2.1 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
-| MiniMax M2.1 Free | minimax-m2.1-free | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
+| GLM 5 | glm-5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| GLM 4.7 | glm-4.7 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
-| GLM 4.7 Free | glm-4.7-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| GLM 4.6 | glm-4.6 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2.5 | kimi-k2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
-| Kimi K2.5 Free | kimi-k2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2 Thinking | kimi-k2-thinking | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2 | kimi-k2 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Qwen3 Coder 480B | qwen3-coder | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
-OpenCode 설정 파일에서 사용하는 [모델 ID](/docs/config/#models)는 `opencode/<model-id>` 형식을 따릅니다.
+OpenCode 설정 파일에서 사용하는 [모델 ID](/docs/config/#models)는 `opencode/<model-id>` 형식을 따릅니다.
예를 들어 GPT 5.2 Codex의 경우 설정에서 `opencode/gpt-5.2-codex`와 같이 사용합니다.
---
@@ -107,29 +110,34 @@ https://opencode.ai/zen/v1/models
| 모델 | 입력 | 출력 | 캐시 읽기 | 캐시 쓰기 |
| --------------------------------- | ------ | ------ | --------- | --------- |
| Big Pickle | Free | Free | Free | - |
-| MiniMax M2.1 Free | Free | Free | Free | - |
+| MiniMax M2.5 Free | Free | Free | Free | - |
+| MiniMax M2.5 | $0.30 | $1.20 | $0.06 | - |
| MiniMax M2.1 | $0.30 | $1.20 | $0.10 | - |
-| GLM 4.7 Free | Free | Free | Free | - |
+| GLM 5 | $1.00 | $3.20 | $0.20 | - |
| GLM 4.7 | $0.60 | $2.20 | $0.10 | - |
| GLM 4.6 | $0.60 | $2.20 | $0.10 | - |
-| Kimi K2.5 Free | Free | Free | Free | - |
| Kimi K2.5 | $0.60 | $3.00 | $0.08 | - |
| Kimi K2 Thinking | $0.40 | $2.50 | - | - |
| Kimi K2 | $0.40 | $2.50 | - | - |
| Qwen3 Coder 480B | $0.45 | $1.50 | - | - |
+| Claude Opus 4.6 (≤ 200K tokens) | $5.00 | $25.00 | $0.50 | $6.25 |
+| Claude Opus 4.6 (> 200K tokens) | $10.00 | $37.50 | $1.00 | $12.50 |
+| Claude Opus 4.5 | $5.00 | $25.00 | $0.50 | $6.25 |
+| Claude Opus 4.1 | $15.00 | $75.00 | $1.50 | $18.75 |
+| Claude Sonnet 4.6 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 |
+| Claude Sonnet 4.6 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 |
| Claude Sonnet 4.5 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 |
| Claude Sonnet 4.5 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 |
| Claude Sonnet 4 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 |
| Claude Sonnet 4 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 |
| Claude Haiku 4.5 | $1.00 | $5.00 | $0.10 | $1.25 |
| Claude Haiku 3.5 | $0.80 | $4.00 | $0.08 | $1.00 |
-| Claude Opus 4.6 (≤ 200K tokens) | $5.00 | $25.00 | $0.50 | $6.25 |
-| Claude Opus 4.6 (> 200K tokens) | $10.00 | $37.50 | $1.00 | $12.50 |
-| Claude Opus 4.5 | $5.00 | $25.00 | $0.50 | $6.25 |
-| Claude Opus 4.1 | $15.00 | $75.00 | $1.50 | $18.75 |
+| Gemini 3.1 Pro (≤ 200K tokens) | $2.00 | $12.00 | $0.20 | - |
+| Gemini 3.1 Pro (> 200K tokens) | $4.00 | $18.00 | $0.40 | - |
| Gemini 3 Pro (≤ 200K tokens) | $2.00 | $12.00 | $0.20 | - |
| Gemini 3 Pro (> 200K tokens) | $4.00 | $18.00 | $0.40 | - |
| Gemini 3 Flash | $0.50 | $3.00 | $0.05 | - |
+| GPT 5.3 Codex | $1.75 | $14.00 | $0.175 | - |
| GPT 5.2 | $1.75 | $14.00 | $0.175 | - |
| GPT 5.2 Codex | $1.75 | $14.00 | $0.175 | - |
| GPT 5.1 | $1.07 | $8.50 | $0.107 | - |
@@ -148,8 +156,6 @@ https://opencode.ai/zen/v1/models
무료 모델:
-- GLM 5 Free는 한정된 기간 동안 OpenCode에서 제공됩니다. 해당 기간 동안 팀은 사용자 피드백을 수집하고 모델을 개선할 예정입니다.
-- Kimi K2.5 Free는 한정된 기간 동안 OpenCode에서 제공됩니다. 해당 기간 동안 팀은 사용자 피드백을 수집하고 모델을 개선할 예정입니다.
- MiniMax M2.5 Free는 한정된 기간 동안 OpenCode에서 제공됩니다. 해당 기간 동안 팀은 사용자 피드백을 수집하고 모델을 개선할 예정입니다.
- Big Pickle은 한정된 기간 동안 OpenCode에서 무료로 제공되는 스텔스 모델입니다. 해당 기간 동안 팀은 사용자 피드백을 수집하고 모델을 개선할 예정입니다.
@@ -169,7 +175,7 @@ https://opencode.ai/zen/v1/models
워크스페이스 전체 및 각 팀 구성원별로 월간 사용 한도를 설정할 수 있습니다.
-예를 들어 월간 사용 한도를 $20로 설정한 경우, Zen은 한 달 동안 $20을 초과하여 사용하지 않습니다.
+예를 들어 월간 사용 한도를 $20로 설정한 경우, Zen은 한 달 동안 $20을 초과하여 사용하지 않습니다.
다만 자동 충전이 활성화되어 있는 경우, 잔액이 $5 미만으로 내려가면 자동으로 충전이 이루어질 수 있으므로 실제 청구 금액이 $20을 초과할 수 있습니다.
---
@@ -179,8 +185,6 @@ https://opencode.ai/zen/v1/models
당사의 모든 모델은 미국에서 호스팅됩니다. 당사 제공자는 데이터 무보존(zero-retention) 정책을 따르며, 아래의 예외를 제외하고는 귀하의 데이터를 모델 학습에 사용하지 않습니다.
- Big Pickle: 무료 제공 기간 동안 수집된 데이터는 모델 개선을 위해 사용될 수 있습니다.
-- GLM 5 Free: 무료 제공 기간 동안 수집된 데이터는 모델 개선을 위해 사용될 수 있습니다.
-- Kimi K2.5 Free: 무료 제공 기간 동안 수집된 데이터는 모델 개선을 위해 사용될 수 있습니다.
- MiniMax M2.5 Free: 무료 제공 기간 동안 수집된 데이터는 모델 개선을 위해 사용될 수 있습니다.
- OpenAI APIs: 요청 데이터는 [OpenAI의 데이터 정책](https://platform.openai.com/docs/guides/your-data)에 따라 30일간 보관됩니다.
- Anthropic APIs: 요청 데이터는 [Anthropic의 데이터 정책](https://docs.anthropic.com/en/docs/claude-code/data-usage)에 따라 30일간 보관됩니다.