docs(ko): polish Korean phrasing in acp, agents, config, and custom-tools docs (#13446)

This commit is contained in:
Jun
2026-02-14 00:05:29 +09:00
committed by GitHub
parent 4f51c0912d
commit b8848cfae1
4 changed files with 342 additions and 342 deletions

View File

@@ -1,15 +1,15 @@
---
title: 구성
description: OpenCode JSON 구성을 사용합니다.
title: Config
description: Using the OpenCode JSON config.
---
JSON 구성 파일을 사용하여 OpenCode를 구성할 수 있습니다.
JSON config 파일로 OpenCode를 설정할 수 있습니다.
---
## 형식
OpenCode는 **JSON** **JSONC** (주석이 있는 JSON) 형식을 지원합니다.
OpenCode는 **JSON** **JSONC**(주석이 포함된 JSON) 형식을 모두 지원합니다.
```jsonc title="opencode.jsonc"
{
@@ -25,44 +25,44 @@ OpenCode는 **JSON** 및 **JSONC** (주석이 있는 JSON) 형식을 지원합
## 위치
구성을 여러 위치에 배치할 수 있으며, 이들은 서로 다른 우선 순위(precedence)를 가집니다.
config 파일은 여러 위치에 수 있으며, 각 위치에는 우선순위가 있습니다.
:::note
구성 파일은 **병합**되며, 대체되지 않습니다.
config 파일은 **교체되지 않고 병합**됩니다.
:::
구성 파일은 함께 병합되며 대체되지 않습니다. 다음 구성 위치의 설정이 결합됩니다. 나중의 구성은 충돌하는 에 대해 이전 구성을 덮어씁니다. 모든 구성의 설정이 보존됩니다.
config 파일은 서로 대체되는 방식이 아니라 병합됩니다. 아래 config 위치의 설정이 결합되며, 충돌하는 key에 대해서만 나중에 로드된 config가 앞선 값을 override합니다. 충돌하지 않는 설정은 모두 유지됩니다.
예를 들어, 전역 구성이 `theme: "opencode"` `autoupdate: true`를 설정하고 프로젝트 구성이 `model: "anthropic/claude-sonnet-4-5"`를 설정하면 최종 구성에는 세 가지 설정이 모두 포함됩니다.
예를 들어, 전역 config에 `theme: "opencode"` `autoupdate: true`가 있고 프로젝트 config에 `model: "anthropic/claude-sonnet-4-5"`가 있으면 최종 config에는 이 세 설정이 모두 포함됩니다.
---
### 우선 순위
### 우선순위
구성 소스는 다음 순서로 로드됩니다 (나중 소스가 이전 소스를 덮어씀):
config source는 다음 순서로 로드됩니다(나중 source가 앞선 source를 override).
1. **원격 구성** (`.well-known/opencode`에서) - 조직 기본값
2. **전역 구성** (`~/.config/opencode/opencode.json`) - 사용자 환경설정
3. **사용자 정의 구성** (`OPENCODE_CONFIG` 환경 변수) - 사용자 정의 재정의
4. **프로젝트별 구성** (`opencode.json`) - 프로젝트별 설정
5. **`.opencode` 디렉토리** - 에이전트, 명령, 플러그인
6. **인라인 구성** (`OPENCODE_CONFIG_CONTENT` 환경 변수) - 런타임 재정의
1. **Remote config**(`.well-known/opencode`) - 조직 기본값
2. **Global config**(`~/.config/opencode/opencode.json`) - 사용자 기본 설정
3. **Custom config**(`OPENCODE_CONFIG` env var) - custom override
4. **Project config**(프로젝트의 `opencode.json`) - 프로젝트별 설정
5. **`.opencode` directories** - agents, commands, plugins
6. **Inline config**(`OPENCODE_CONFIG_CONTENT` env var) - 런타임 override
이것은 프로젝트 구성이 전역 기본값을 덮어쓸 수 있고, 전역 구성이 원격 조직 기본값을 덮어쓸 수 있음을 의미합니다.
즉, 프로젝트 config는 전역 기본값을 override할 수 있고, 전역 config는 조직의 Remote 기본값을 override할 수 있습니다.
:::note
`.opencode` `~/.config/opencode` 디렉토리는 하위 디렉토리에 대해 **복수형 이름**을 사용합니다: `agents/`, `commands/`, `modes/`, `plugins/`, `skills/`, `tools/`, 그리고 `themes/`. 단수형 이름(예: `agent/`)도 하위 호환성을 위해 지원니다.
`.opencode` `~/.config/opencode` 디렉토리는 하위 디렉토리에 **복수형 이름**을 사용합니다: `agents/`, `commands/`, `modes/`, `plugins/`, `skills/`, `tools/`, `themes/`. 단수형 이름(예: `agent/`)도 하위 호환성을 위해 지원니다.
:::
---
### 원격
### Remote
조직은 `.well-known/opencode` 엔드포인트를 통해 기본 구성을 제공할 수 있습니다. 이를 지원하는 공급자로 인증할 때 자동으로 가져옵니다.
조직은 `.well-known/opencode` endpoint로 기본 config를 제공할 수 있습니다. 이를 지원하는 provider로 인증하면 자동으로 가져옵니다.
원격 구성은 기본 레이어로 가장 먼저 로드됩니다. 다른 구성 소스(전역, 프로젝트)는 이러한 기본값을 무시(override)할 수 있습니다.
Remote config는 가장 먼저 로드되어 기본 레이어 역할을 합니다. 이후의 모든 config source(전역, 프로젝트)는 이 기본값을 override할 수 있습니다.
예를 들어, 조직 기본적으로 비활성화된 MCP 서버를 제공하는 경우:
예를 들어, 조직에서 기본 비활성화된 MCP 서버를 제공하는 경우:
```json title="Remote config from .well-known/opencode"
{
@@ -76,7 +76,7 @@ OpenCode는 **JSON** 및 **JSONC** (주석이 있는 JSON) 형식을 지원합
}
```
로컬 설정에서 특정 서버를 활성화할 수 있습니다:
로컬 config에서 특정 서버를 활성화할 수 있습니다.
```json title="opencode.json"
{
@@ -92,65 +92,65 @@ OpenCode는 **JSON** 및 **JSONC** (주석이 있는 JSON) 형식을 지원합
---
## 전역
### Global
`~/.config/opencode/opencode.json`에 전역 OpenCode 구성을 배치합니다. 테마, 공급자, 키바인드와 같은 사용자 전체 기본 설정 전역 구성을 사용하십시오.
전역 OpenCode config는 `~/.config/opencode/opencode.json`에 두세요. theme, provider, keybind 같은 사용자 전체 기본 설정 전역 config로 관리하세요.
전역 구성은 원격 조직 기본값을 덮어씁니다.
전역 config는 조직의 Remote 기본값을 override합니다.
---
## 프로젝트별
### Per project
프로젝트 루트에 `opencode.json`을 추가합니다. 프로젝트 구성은 표준 구성 파일 중 가장 높은 우선순위집니다. 이는 전역 및 원격 구성을 모두 덮어씁니다.
프로젝트 루트에 `opencode.json`을 추가하세요. 프로젝트 config는 표준 config 파일 중 우선순위장 높아 전역 및 Remote config를 모두 override합니다.
:::tip
프로젝트의 루트에 특정 설정을 둡니다.
프로젝트별 config는 프로젝트 루트에 두세요.
:::
OpenCode 시작될 때, 현재 디렉토리의 설정 파일이나 가장 가까운 Git 디렉토리를 찾습니다.
OpenCode 시작 현재 디렉토리에서 config 파일을 찾고, 없으면 가장 가까운 Git 디렉토리까지 상위로 탐색합니다.
은 Git으로 관리되며 전역 구성과 동일한 스키마를 사용합니다.
파일은 Git에 커밋해도 안전하며 전역 config와 동일한 schema를 사용합니다.
---
### 사용자 정의 경로
### Custom path
`OPENCODE_CONFIG` 환경 변수를 사용하여 사용자 정의 구성 파일 경로를 지정합니다.
`OPENCODE_CONFIG` 환경 변수로 custom config 파일 경로를 지정하세요.
```bash
export OPENCODE_CONFIG=/path/to/my/custom-config.json
opencode run "Hello world"
```
사용자 정의 구성은 우선 순위에서 전역 구성과 프로젝트 구성 사이에 로드됩니다.
Custom config는 우선순위 전역 config와 프로젝트 config 사이에 로드됩니다.
---
## 사용자 정의 디렉토리
### Custom directory
`OPENCODE_CONFIG_DIR` 환경 변수를 사용하여 사용자 정의 구성 디렉토리를 지정할 수 있습니다. 이 디렉토리는 표준 `.opencode` 디렉토리와 마찬가지로 에이전트, 명령, 모드 및 플러그인을 검색하며 동일한 구조를 따라야 합니다.
`OPENCODE_CONFIG_DIR` 환경 변수로 custom config 디렉토리를 지정할 수 있습니다. 이 디렉토리는 표준 `.opencode` 디렉토리와 동일하게 agents, commands, modes, plugins를 검색하며, 동일한 구조를 따라야 합니다.
```bash
export OPENCODE_CONFIG_DIR=/path/to/my/config-directory
opencode run "Hello world"
```
사용자 정의 디렉토리는 전역 구성 이후 및 `.opencode` 디렉토리 이전에 로드됩니다.
custom 디렉토리는 전역 config와 `.opencode` 디렉토리 에 로드되므로 해당 설정을 **override할 수 있습니다**.
---
## 스키마
## Schema
구성 파일에는 [**`opencode.ai/config.json`**](https://opencode.ai/config.json)에 정의된 스키마가 있습니다.
config 파일의 schema는 [**`opencode.ai/config.json`**](https://opencode.ai/config.json)에 정의되어 있습니다.
편집기는 스키마에 따라 유효성 검사 및 자동 완성을 제공해야 합니다.
편집기에서 이 schema를 기반으로 validation과 autocomplete를 사용할 수 있습니다.
---
#### TUI
### TUI
`tui` 옵션을 통해 TUI 관련 설정을 구성할 수 있습니다.
`tui` 옵션으로 TUI 관련 설정을 구성할 수 있습니다.
```json title="opencode.json"
{
@@ -165,19 +165,19 @@ opencode run "Hello world"
}
```
유효한 옵션:
사용 가능한 옵션:
- `scroll_acceleration.enabled` - macOS 스타일 스크롤 가속을 활성화합니다. **`scroll_speed`보다 우선합니다.**
- `scroll_speed` - 사용자 정의 스크롤 속도 배수 (기본: `3`, 최소: `1`). `scroll_acceleration.enabled`가 `true`이면 무시됩니다.
- `diff_style` - diff 렌더링을 제어합니다. `"auto"`는 터미널 너비에 맞고, `"stacked"`는 항상 단일 열을 보여줍니다.
- `scroll_speed` - 사용자 정의 스크롤 속도 배수(기본: `3`, 최소: `1`). `scroll_acceleration.enabled`가 `true`이면 무시됩니다.
- `diff_style` - diff 렌더링 방식을 제어합니다. `"auto"`는 터미널 너비에 맞춰 조정되고, `"stacked"`는 항상 단일 컬럼으로 표시합니다.
[TUI 사용법에 대해 더 알아보기](/docs/tui).
[TUI에 대해 더 알아보기](/docs/tui).
---
## 서버
### Server
`opencode serve` `opencode web` 명령에 대한 서버 설정을 구성할 수 있습니다.
`server` 옵션으로 `opencode serve` `opencode web` 명령의 server 설정을 구성할 수 있습니다.
```json title="opencode.json"
{
@@ -192,21 +192,21 @@ opencode run "Hello world"
}
```
유효한 옵션:
사용 가능한 옵션:
- `port` - 리스닝 포트.
- `hostname` - 리스닝 호스트 이름. `mdns`가 활성화되고 hostname이 설정되지 않으면 `0.0.0.0`이 기본값이 됩니다.
- `mdns` - mDNS 서비스 발견 활성화. 로컬 네트워크 다른 장치가 OpenCode 서버를 찾을 수 있습니다.
- `mdnsDomain` - mDNS 서비스를 위한 사용자 정의 도메인 이름. 기본값은 `opencode.local`입니다. 동일한 네트워크에서 여러 인스턴스를 실행할 때 유용합니다.
- `cors` - 브라우저 기반 클라이언트에서 HTTP 서버를 사용할 때 CORS를 허용할 추가 출처(Origin). 값은 전체 출처(스킴 + 호스트 + 선택적 포트)여야 합니다. 예: `https://app.example.com`.
- `port` - 수신할 포트입니다.
- `hostname` - 수신할 호스트명입니다. `mdns`가 활성화되어 있고 hostname이 없으면 기본값은 `0.0.0.0`니다.
- `mdns` - mDNS service discovery를 활성화합니다. 네트워크 다른 기기에서 OpenCode server를 찾을 수 있습니다.
- `mdnsDomain` - mDNS service의 custom 도메인 이름입니다. 기본값은 `opencode.local`입니다. 같은 네트워크에서 여러 인스턴스를 실행할 때 유용합니다.
- `cors` - 브라우저 기반 client에서 HTTP server를 사용할 때 허용할 추가 CORS origin입니다. 값은 전체 origin(scheme + host + optional port) 형식이어야 하며, 예: `https://app.example.com`.
[서버에 대해 더 알아보기](/docs/server).
[server에 대해 더 알아보기](/docs/server).
---
## 도구
### Tools
`tools` 옵션을 통해 LLM이 사용할 수 있는 도구를 구성할 수 있습니다.
`tools` 옵션으로 LLM이 사용할 수 있는 tool을 관리할 수 있습니다.
```json title="opencode.json"
{
@@ -218,13 +218,13 @@ opencode run "Hello world"
}
```
[도구에 대해 더 알아보기](/docs/tools).
[tool에 대해 더 알아보기](/docs/tools).
---
## 모델
### Models
`provider`, `model`, `small_model` 옵션을 통해 OpenCode 구성에서 사용할 공급자와 모델을 구성할 수 있습니다.
OpenCode config의 `provider`, `model`, `small_model` 옵션으로 사용할 provider와 model을 설정할 수 있습니다.
```json title="opencode.json"
{
@@ -235,9 +235,9 @@ opencode run "Hello world"
}
```
`small_model` 옵션은 제목 생성 같은 가벼운 작업을 위한 별도의 모델을 구성합니다. 기본적으로, OpenCode는 공급자에게서 사용 가능한 더 저렴한 모델이그것을 사용하고, 그렇지 않으면 주 모델로 돌아갑니다.
`small_model`은 제목 생성 같은 경량 작업에 사용할 별도 model을 설정합니다. 기본적으로 OpenCode는 provider에서 더 저렴한 model을 사용할 수우선 사용하고, 없으면 메인 model로 fallback합니다.
공급자 옵션 `timeout` `setCacheKey`를 포함할 수 있습니다:
provider 옵션에는 `timeout`, `setCacheKey`를 포함할 수 있습니다.
```json title="opencode.json"
{
@@ -253,20 +253,20 @@ opencode run "Hello world"
}
```
- `timeout` - 요청 타임아웃(밀리초) (기본값: 300000). `false`로 설정하여 비활성화할 수 있습니다.
- `setCacheKey` - 지정된 공급자에 대해 캐시 키가 항상 설정되도록 강제합니다.
- `timeout` - 요청 timeout(밀리초, 기본값: 300000). `false`로 비활성화할 수 있습니다.
- `setCacheKey` - 지정된 provider에 대해 cache key가 항상 설정되도록 보장합니다.
[로컬 모델](/docs/models#local)을 구성할 수 있습니다. [더 알아보기](/docs/models).
[local model](/docs/models#local)도 설정할 수 있습니다. [더 알아보기](/docs/models).
---
### 공급자별 옵션
#### Provider-Specific Options
반적인 `timeout` `apiKey` 외에도 일부 공급자는 추가 구성 옵션을 지원합니다.
부 provider는 공통 옵션인 `timeout`, `apiKey` 외에 추가 config 옵션을 지원합니다.
##### Amazon Bedrock
Amazon Bedrock AWS 관련 구성을 지원합니다:
Amazon Bedrock AWS 전용 config를 지원합니다.
```json title="opencode.json"
{
@@ -283,21 +283,21 @@ Amazon Bedrock는 AWS 관련 구성을 지원합니다:
}
```
- `region` - Bedrock를 위한 AWS 리전 (`AWS_REGION` 환경 변수 또는 `us-east-1`이 기본값)
- `profile` - `~/.aws/credentials`의 AWS 프로필 이름 (`AWS_PROFILE` 환경 변수가 기본값)
- `endpoint` - VPC 엔드포인트 등을 위한 사용자 정의 엔드포인트 URL. 이는 AWS 관련 용어를 사용한 일반적인 `baseURL` 옵션의 별칭입니다. 둘 다 지정된 경우 `endpoint`가 우선합니다.
- `region` - Bedrock AWS 리전(`AWS_REGION` env var 또는 기본값 `us-east-1`)
- `profile` - `~/.aws/credentials`의 AWS named profile(기본값: `AWS_PROFILE` env var)
- `endpoint` - VPC endpoint용 custom endpoint URL입니다. AWS 용어를 사용한 일반 `baseURL` 옵션의 별칭(alias)입니다. 둘 다 지정하면 `endpoint`가 우선합니다.
:::note
Bearer 토큰(`AWS_BEARER_TOKEN_BEDROCK` 또는 `/connect`)은 프로필 기반 인증보다 우선합니다. 자세한 내용은 [인증 우선 순위](/docs/providers#authentication-precedence)를 참조하십시오.
Bearer token(`AWS_BEARER_TOKEN_BEDROCK` 또는 `/connect`)은 profile 기반 인증보다 우선합니다. 자세한 내용은 [authentication precedence](/docs/providers#authentication-precedence)를 참고하세요.
:::
[Amazon Bedrock에 대해 더 알아보기](/docs/providers#amazon-bedrock).
[Amazon Bedrock config 더 알아보기](/docs/providers#amazon-bedrock).
---
## 테마
### Themes
`theme` 옵션을 통해 OpenCode 구성에서 사용할 테마를 설정할 수 있습니다.
`theme` 옵션으로 OpenCode config에서 사용할 theme를 설정할 수 있습니다.
```json title="opencode.json"
{
@@ -310,9 +310,9 @@ Bearer 토큰(`AWS_BEARER_TOKEN_BEDROCK` 또는 `/connect`)은 프로필 기반
---
## 에이전트
### Agents
`agent` 옵션을 통해 특정 작업 전문으로 하는 에이전트를 구성할 수 있습니다.
`agent` 옵션으로 특정 작업 전문 agent를 구성할 수 있습니다.
```jsonc title="opencode.jsonc"
{
@@ -332,13 +332,13 @@ Bearer 토큰(`AWS_BEARER_TOKEN_BEDROCK` 또는 `/connect`)은 프로필 기반
}
```
`~/.config/opencode/agents/` 또는 `.opencode/agents/`에서 Markdown 파일을 사용하여 에이전트를 정의할 수도 있습니다. [더 알아보기](/docs/agents).
`~/.config/opencode/agents/` 또는 `.opencode/agents/` Markdown 파일로 agent를 정의할 수도 있습니다. [더 알아보기](/docs/agents).
---
### 기본 에이전트
### Default agent
`default_agent` 옵션을 사용하여 기본 에이전트를 설정할 수 있습니다. 명시적으로 지정되지 않았을 때 어떤 에이전트가 사용지 결정합니다.
`default_agent` 옵션으로 기본 agent를 설정할 수 있습니다. 별도 지정이 없을 때 어떤 agent를 사용지 결정합니다.
```json title="opencode.json"
{
@@ -347,15 +347,15 @@ Bearer 토큰(`AWS_BEARER_TOKEN_BEDROCK` 또는 `/connect`)은 프로필 기반
}
```
기본 에이전트는 기본(primary) 에이전트여야 합니다(서브 에이전트 불가). `"build"` 또는 `"plan"` 같은 내장 에이전트이거나 정의 [사용자 정의 에이전트](./agents) 수 있습니다. 지정된 에이전트가 존재하지 않는 경우, OpenCode는 경고와 함께 `"build"`로 돌아갑니다.
기본 agent는 primary agent여야 합니다(subagent 불가). `"build"`, `"plan"` 같은 내장 agent나 직접 정의 [custom agent](/docs/agents)를 지정할 수 있습니다. 지정한 agent가 없거나 subagent이면 OpenCode는 경고와 함께 `"build"`로 fallback합니다.
이 설정은 모든 인터페이스에 적용됩니다: TUI, CLI (`opencode run`), 데스크톱 앱 GitHub Action.
이 설정은 TUI, CLI(`opencode run`), 데스크톱 앱, GitHub Action 등 모든 인터페이스에 적용됩니다.
---
## 공유
### Sharing
`share` 옵션을 통해 [공유](/docs/share) 기능을 구성할 수 있습니다.
`share` 옵션으로 [share](/docs/share) 기능을 설정할 수 있습니다.
```json title="opencode.json"
{
@@ -364,19 +364,19 @@ Bearer 토큰(`AWS_BEARER_TOKEN_BEDROCK` 또는 `/connect`)은 프로필 기반
}
```
은 다음과 같습니다:
허용 값:
- `"manual"` - 명령을 통한 수동 공유 허용 (기본값)
- `"auto"` - 새로운 대화를 자동으로 공유
- `"disabled"` - 공유 기능 완전 비활성화
- `"manual"` - 명령으로 수동 공유 허용(기본값)
- `"auto"` - 새 대화를 자동 공유
- `"disabled"` - 공유 기능 완전 비활성화
기본적으로 `/share` 명령을 사용하여 대화를 명시적으로 공유해야 하는 수동 모드로 설정됩니다.
기본값은 manual 모드이며, `/share` 명령으로 명시적으로 공유해야 니다.
---
## 명령
### Commands
`command` 옵션을 통해 반복 작업을 위한 사용자 정의 명령을 구성할 수 있습니다.
`command` 옵션으로 반복 작업용 custom command를 구성할 수 있습니다.
```jsonc title="opencode.jsonc"
{
@@ -387,8 +387,6 @@ Bearer 토큰(`AWS_BEARER_TOKEN_BEDROCK` 또는 `/connect`)은 프로필 기반
"description": "Run tests with coverage",
"agent": "build",
"model": "anthropic/claude-haiku-4-5",
"agent": "build",
"model": "anthropic/claude-haiku-4-5",
},
"component": {
"template": "Create a new React component named $ARGUMENTS with TypeScript support.\nInclude proper typing and basic structure.",
@@ -398,13 +396,13 @@ Bearer 토큰(`AWS_BEARER_TOKEN_BEDROCK` 또는 `/connect`)은 프로필 기반
}
```
`~/.config/opencode/commands/` 또는 `.opencode/commands/`에서 Markdown 파일을 사용하여 명령을 정의할 수도 있습니다. [더 알아보기](/docs/commands).
`~/.config/opencode/commands/` 또는 `.opencode/commands/` Markdown 파일로 command를 정의할 수도 있습니다. [더 알아보기](/docs/commands).
---
## 키바인드
### Keybinds
`keybinds` 옵션을 통해 키바인드를 사용자 정의할 수 있습니다.
`keybinds` 옵션으로 keybind를 커스터마이즈할 수 있습니다.
```json title="opencode.json"
{
@@ -417,9 +415,9 @@ Bearer 토큰(`AWS_BEARER_TOKEN_BEDROCK` 또는 `/connect`)은 프로필 기반
---
## 자동 업데이트
### Autoupdate
OpenCode는 시작될 때 자동으로 새로운 업데이트를 다운로드합니다. `autoupdate` 옵션으로 이를 비활성화할 수 있습니다.
OpenCode는 시작 시 새 업데이트를 자동으로 다운로드합니다. `autoupdate` 옵션으로 비활성화할 수 있습니다.
```json title="opencode.json"
{
@@ -428,14 +426,14 @@ OpenCode는 시작될 때 자동으로 새로운 업데이트를 다운로드합
}
```
업데이트를 하지 않지만 새 버전 알림받고 싶다면 `autoupdate`를 `"notify"`로 설정하십시오.
Homebrew 같은 패키지 관리자를 사용하여 설치지 않은 경우에만 동합니다.
업데이트를 자동 적용하지 않 새 버전 알림받고 싶다면 `autoupdate`를 `"notify"`로 설정하세요.
이 옵션은 Homebrew 같은 패키지 매니저로 설치지 않은 경우에만 동합니다.
---
## 포매터
### Formatters
`formatter` 옵션을 통해 코드 포매터를 구성할 수 있습니다.
`formatter` 옵션으로 코드 formatter를 설정할 수 있습니다.
```json title="opencode.json"
{
@@ -455,15 +453,15 @@ Homebrew와 같은 패키지 관리자를 사용하여 설치되지 않은 경
}
```
[포매터에 대해 더 알아보기](/docs/formatters).
[formatter에 대해 더 알아보기](/docs/formatters).
---
## 권한
### Permissions
기본적으로, OpenCode는 **명시적 승인 없이 모든 작업을 허용**합니다. `permission` 옵션을 사용하여 이를 변경할 수 있습니다.
기본적으로 OpenCode는 **명시적 승인 없이 모든 작업을 허용**합니다. `permission` 옵션으로 이 동작을 바꿀 수 있습니다.
예를 들어, `edit` `bash` 도구가 사용자 승인을 요구하도록 설정하려면:
예를 들어 `edit`, `bash` tool이 사용자 승인을 요구하하려면:
```json title="opencode.json"
{
@@ -475,32 +473,34 @@ Homebrew와 같은 패키지 관리자를 사용하여 설치되지 않은 경
}
```
[권한에 대해 더 알아보기](/docs/permissions).
[permission에 대해 더 알아보기](/docs/permissions).
---
### 압축
### Compaction
`compaction` 옵션을 통해 컨텍스트 압축 동작을 제어할 수 있습니다.
`compaction` 옵션으로 context compaction 동작을 제어할 수 있습니다.
```json title="opencode.json"
{
"$schema": "https://opencode.ai/config.json",
"compaction": {
"auto": true,
"prune": true
"prune": true,
"reserved": 10000
}
}
```
- `auto` - 컨텍스트가 꽉 차면 자동으로 세션을 압축합니다 (기본값: `true`).
- `prune` - 토큰을 절약하기 위해 오래된 도구 출력을 제거합니다 (기본값: `true`).
- `auto` - context가 가득 찼을 때 세션을 자동 compact합니다(기본값: `true`).
- `prune` - token 절약 위해 오래된 tool 출력을 제거합니다(기본값: `true`).
- `reserved` - compaction용 token buffer입니다. compaction 중 overflow가 나지 않도록 충분한 window를 남깁니다.
---
### 파일 감시자
### Watcher
`watcher` 옵션을 통해 파일 감시자가 무시할 패턴을 설정할 수 있습니다.
`watcher` 옵션으로 파일 watcher ignore 패턴을 설정할 수 있습니다.
```json title="opencode.json"
{
@@ -511,13 +511,13 @@ Homebrew와 같은 패키지 관리자를 사용하여 설치되지 않은 경
}
```
패턴은 glob 문을 따릅니다. 잡음이 많은 디렉토리를 제외하는 데 사용하십시오.
패턴은 glob 문을 따릅니다. 파일 감시에서 노이즈가 많은 디렉토리를 제외할 때 유용합니다.
---
### MCP 서버
### MCP servers
`mcp` 옵션을 통해 사용하려는 MCP 서버를 구성할 수 있습니다.
`mcp` 옵션으로 사용할 MCP server를 설정할 수 있습니다.
```json title="opencode.json"
{
@@ -530,11 +530,11 @@ Homebrew와 같은 패키지 관리자를 사용하여 설치되지 않은 경
---
### 플러그인
### Plugins
[플러그인](/docs/plugins)은 사용자 정의 도구, 훅(hook), 통합으로 OpenCode를 확장합니다.
[Plugins](/docs/plugins)는 custom tool, hook, integration으로 OpenCode를 확장합니다.
`.opencode/plugins/` 또는 `~/.config/opencode/plugins/`에 플러그인 파일을 배치하십시오. `plugin` 옵션을 통해 npm에서 플러그인을 로드할 수 있습니다.
plugin 파일은 `.opencode/plugins/` 또는 `~/.config/opencode/plugins/`에 두세요. `plugin` 옵션으로 npm plugin을 로드할 수 있습니다.
```json title="opencode.json"
{
@@ -547,9 +547,9 @@ Homebrew와 같은 패키지 관리자를 사용하여 설치되지 않은 경
---
### 지침
### Instructions
`instructions` 옵션을 통해 모델에 대한 지침(Rules)을 구성할 수 있습니다.
`instructions` 옵션으로 사용 중인 model에 제공할 지침 파일을 설정할 수 있습니다.
```json title="opencode.json"
{
@@ -558,13 +558,13 @@ Homebrew와 같은 패키지 관리자를 사용하여 설치되지 않은 경
}
```
지침 파일에 대한 경로 glob 패턴 배열을 사용합니다. [규칙에 대해 더 알아보기](/docs/rules).
이 옵션은 지침 파일 경로 glob 패턴 배열을 받습니다. [rules에 대해 더 알아보기](/docs/rules).
---
## 비활성화된 공급자
### Disabled providers
`disabled_providers` 옵션을 통해 자동으로 로드되는 공급자를 비활성화할 수 있습니다. 자격 증명이 유효하더라도 특정 공급자가 로드되는 것을 방지할 때 유용합니다.
`disabled_providers` 옵션으로 자동 로드되는 provider를 비활성화할 수 있습니다. credential이 있어도 특정 provider를 로드하지 않게 하고 싶을 때 유용합니다.
```json title="opencode.json"
{
@@ -577,17 +577,17 @@ Homebrew와 같은 패키지 관리자를 사용하여 설치되지 않은 경
`disabled_providers`는 `enabled_providers`보다 우선합니다.
:::
`disabled_providers` 옵션은 공급자 ID 배열을 허용합니다. 공급자가 비활성화되면:
`disabled_providers`는 provider ID 배열을 받습니다. provider가 비활성화되면:
- 환경 변수가 설정된 경우에도 로드되지 않습니다.
- API 키가 `/connect` 명령을 통해 구성되는 경우에도 로드되지 않습니다.
- 공급자의 모델은 모델 선택 목록에 표시되지 않습니다.
- 환경 변수가 설정되어 있어도 로드되지 않습니다.
- `/connect` 명령으로 API key를 설정해도 로드되지 않습니다.
- 해당 provider의 model은 model 선택 목록에 표시되지 않습니다.
---
### 활성화된 공급자
### Enabled providers
`enabled_providers` 옵션을 통해 허용할 공급자를 지정할 수 있습니다. 설정하면 지정된 공급자만 활성화되고 다른 모든 공급자는 무시됩니다.
`enabled_providers` 옵션으로 provider allowlist를 지정할 수 있습니다. 이 값을 설정하면 지정한 provider만 활성화되고 나머지는 무시됩니다.
```json title="opencode.json"
{
@@ -596,19 +596,19 @@ Homebrew와 같은 패키지 관리자를 사용하여 설치되지 않은 경
}
```
OpenCode를 제한하여 특정 공급자만 사용하도록 때 유용합니다.
provider를 하나씩 비활성화하는 대신, OpenCode가 특정 provider만 사용하도록 제한하고 싶을 때 유용합니다.
:::note
`disabled_providers`는 `enabled_providers`보다 우선합니다.
:::
공급자가 `enabled_providers`와 `disabled_providers` 둘 다에 나타나면, 하위 호환성을 위해 `disabled_providers`가 우선합니다.
동일 provider가 `enabled_providers`와 `disabled_providers`에 모두 있으면 하위 호환성을 위해 `disabled_providers`가 우선합니다.
---
### 실험적 기능
### Experimental
`experimental` 키는 활발히 개발 중인 옵션 포함니다.
`experimental` key에는 현재 활발히 개발 중인 옵션 포함니다.
```json title="opencode.json"
{
@@ -618,20 +618,20 @@ OpenCode를 제한하여 특정 공급자만 사용하도록 할 때 유용합
```
:::caution
실험적 옵션은 안정적이지 않습니다. 예고 없이 변경되거나 제거될 수 있습니다.
experimental 옵션은 안정적이지 않습니다. 예고 없이 변경되거나 제거될 수 있습니다.
:::
---
## 변수
## Variables
구성 파일에서 환경 변수를 참조하고 파일 내용에 대한 변수 대체를 사용할 수 있습니다.
config 파일에서 환경 변수와 파일 내용을 참조할 수 있도록 변수 치환을 사용할 수 있습니다.
---
##### 환경 변수
### Env vars
`{env:VARIABLE_NAME}`을 사용하여 환경 변수를 대체합니다.
`{env:VARIABLE_NAME}` 형식으로 환경 변수를 치환할 수 있습니다.
```json title="opencode.json"
{
@@ -648,13 +648,13 @@ OpenCode를 제한하여 특정 공급자만 사용하도록 할 때 유용합
}
```
환경 변수가 설정되지 않으면 빈 문자열로 대체됩니다.
환경 변수가 설정되지 않으면 빈 문자열로 치환됩니다.
---
## 파일
### Files
`{file:path/to/file}`를 사용하여 파일 내용을 대체합니다.
`{file:path/to/file}` 형식으로 파일 내용을 치환할 수 있습니다.
```json title="opencode.json"
{
@@ -670,13 +670,13 @@ OpenCode를 제한하여 특정 공급자만 사용하도록 할 때 유용합
}
```
파일 경로는:
파일 경로는 다음을 지원합니다.
- 구성 파일 디렉토리에 상대적이거나
- `/` 또는 `~`로 시작하는 절대 경로여야 합니다.
- config 파일 디렉토리 기준 상대 경로
- `/` 또는 `~`로 시작하는 절대 경로
은 다음에 유용합니다:
기능은 다음 상황에 유용합니다.
- API 키와 같은 민감한 데이터를 별도 파일에 유지할 때.
- 구성을 어지럽히지 않고 큰 지침 파일을 포함할 때.
- 여러 구성 파일에서 공통 구성 스니펫을 공유할 때.
- API key 같은 민감 정보를 별도 파일로 분리
- 큰 지침 파일을 config를 복잡하게 만들지 않고 포함
- 여러 config 파일에서 공통 설정 스니펫 재사용