ACP Support
Use OpenCode in any ACP-compatible editor.
OpenCode는 Agent Client Protocol(ACP)을 지원하므로, ACP 호환 편집기와 IDE에서 OpenCode를 직접 사용할 수 있습니다.
ACP는 코드 편집기와 AI 코딩 에이전트 간의 통신을 표준화하는 개방형 프로토콜입니다.
구성
ACP로 OpenCode를 사용하려면, 편집기에서 opencode acp 명령을 실행하도록 config를 설정하세요.
이 명령은 OpenCode를 ACP 호환 subprocess로 시작하며, stdio 기반 JSON-RPC를 통해 편집기와 통신합니다.
아래는 ACP를 지원하는 주요 편집기 예시입니다.
Zed
Zed config(~/.config/zed/settings.json)에 다음을 추가하세요.
{ "agent_servers": { "OpenCode": { "command": "opencode", "args": ["acp"] } }}열려면 Command Palette에서 agent: new thread action을 사용하세요.
keymap.json을 수정해 키보드 단축키를 바인딩할 수도 있습니다.
[ { "bindings": { "cmd-alt-o": [ "agent::NewExternalAgentThread", { "agent": { "custom": { "name": "OpenCode", "command": { "command": "opencode", "args": ["acp"] } } } } ] } }]JetBrains IDEs
JetBrains IDE에서는 documentation에 따라 acp.json에 다음을 추가하세요.
{ "agent_servers": { "OpenCode": { "command": "/absolute/path/bin/opencode", "args": ["acp"] } }}열려면 AI Chat agent selector에서 새 OpenCode agent를 선택하세요.
Avante.nvim
Avante.nvim config에 다음을 추가하세요.
{ acp_providers = { ["opencode"] = { command = "opencode", args = { "acp" } } }}환경 변수를 전달해야 한다면 다음과 같이 설정하세요.
{ acp_providers = { ["opencode"] = { command = "opencode", args = { "acp" }, env = { OPENCODE_API_KEY = os.getenv("OPENCODE_API_KEY") } } }}CodeCompanion.nvim
CodeCompanion.nvim에서 OpenCode를 ACP agent로 사용하려면 Neovim config에 다음을 추가하세요.
require("codecompanion").setup({ interactions = { chat = { adapter = { name = "opencode", model = "claude-sonnet-4", }, }, },})이 config는 chat에서 OpenCode를 ACP agent로 사용하도록 CodeCompanion을 설정합니다.
환경 변수(OPENCODE_API_KEY 등)를 전달해야 한다면 CodeCompanion.nvim documentation의 Configuring Adapters: Environment Variables를 참고하세요.
지원
OpenCode는 ACP를 통해서도 터미널과 동일하게 동작합니다. 다음 기능을 모두 지원합니다.
- 내장 tool(파일 작업, terminal 명령 등)
- 사용자 정의 tool과 slash command
- OpenCode config에 설정한 MCP 서버
AGENTS.md의 프로젝트별 규칙- 사용자 정의 formatter와 linter
- agent 및 권한 시스템