OpenCode 실전 입문: 터미널·편집기·팀 개발에서 AI 에이전트 활용하기

OpenCode는 터미널과 편집기에서 코드를 읽고 수정하며 검증 작업을 이어 가는 오픈 소스 AI 코딩 에이전트입니다. 모델을 연결하는 법부터 프로젝트 규칙과 권한 설정, 실제 개발 환경에 맞는 작업 흐름까지 알아두면 작은 수정에서 팀 단위 협업으로 활용 범위를 넓힐 수 있습니다.

OpenCode는 무엇인가

이 글에서 말하는 Open Code의 공식 표기는 OpenCode입니다. 공식 웹사이트와 소스 저장소를 기준으로 설명합니다. 코드를 작성하는 언어 모델 자체가 아니라, 선택한 모델이 저장소를 탐색하고 파일과 도구를 다루도록 연결하는 프로그램입니다.

개발자는 요청을 주고, 에이전트는 필요한 파일을 읽고 변경을 만들거나 명령을 실행하며 결과를 돌려줍니다. 따라서 답변이 그럴듯한지만 보는 대신 변경된 코드와 테스트 결과를 검토해야 합니다. 오픈 소스라는 말도 모델 호출까지 모두 무료이거나 모든 코드가 로컬에서만 처리된다는 뜻은 아닙니다.

이 글의 설치와 설정은 2026년 10월 22일 확인한 OpenCode 2 문서를 기준으로 합니다. V1 이전 안내에 따르면 두 버전은 같은 opencode 명령을 사용합니다. 기존 설치가 있다면 설정을 복사해 보관하고 설치 방식부터 확인하세요. V1 플러그인과 서버 API 연동은 별도 이전이 필요하며, V2는 LSP 진단을 실행하지 않으므로 프로젝트의 타입 검사·린트·컴파일 명령으로 확인해야 합니다.

개발자가 선택할 수 있는 환경

환경활용 방식잘 맞는 작업
로컬 터미널프로젝트 디렉터리에서 TUI 실행저장소 파악, 오류 수정, 리팩터링
편집기 통합 터미널코드를 보며 같은 폴더에서 CLI 실행컴포넌트 수정과 diff 검토
ACP 지원 편집기편집기를 클라이언트로 연결편집기 안에서 에이전트와 대화
데스크톱·웹공식 앱 또는 로컬 서비스의 웹 화면 사용시각적인 작업 관리 선호 시
원격 개발 환경·CI실행 호스트에 저장소·도구·인증 준비반복 검토와 결과 보고

OpenCode 2 시작 문서는 터미널·데스크톱·웹 접근을 안내합니다. 웹 연결에는 opencode pair를 사용합니다. UI가 브라우저에 보인다고 해서 코드 실행까지 자동으로 클라우드로 옮겨지는 것은 아닙니다. CLI 구조상 기본 로컬 클라이언트는 사용자 계정의 공용 백그라운드 서비스에 연결합니다.

예를 들어 VS Code 사용자라면 통합 터미널을 열고 해당 저장소에서 시작하면 됩니다. 확장 기능의 자동 설치나 단축키는 버전에 따라 다르므로, 먼저 CLI가 같은 프로젝트에서 동작하는지 확인하는 편이 좋습니다. SSH 환경에서는 원격 호스트의 파일, 도구와 자격 증명이 사용된다는 점도 구별합니다.

설치하고 모델을 연결하는 첫 순서

macOS·Linux에서 Node.js와 npm이 준비된 경우, V2 공식 패키지는 다음과 같습니다. /path/to/project는 실제 저장소 경로로 바꿉니다.

npm install -g @opencode/cli
cd /path/to/project
opencode

이 명령은 독자가 실행할 예제이며, 이 글 작성 과정에서 제품 설치나 모델 호출을 수행한 것은 아닙니다. Windows에서는 V2 문서가 패키지 관리자 설치를 지원하지 않는다고 명시하므로, 공식 페이지의 독립 실행형 CLI 바이너리나 데스크톱 다운로드를 선택합니다.

TUI 안에서는 다음 명령을 하나씩 실행합니다.

/connect
/models
/agents

연결 안내에 따라 /connect에서 제공자와 인증 방식을 고르고, /models에서 실제 사용 가능한 모델을 선택합니다. API 키는 연결 화면에서 입력하고 프로젝트 파일이나 대화 예제에 넣지 않습니다. /agents에서는 먼저 Plan을 고릅니다.

모델 문서에서 모델 선택과 추론 강도 variant는 별개입니다. 모델마다 지원 옵션이 달라 임의로 max 같은 이름을 붙이면 안 됩니다. 처음에는 기본값으로 작은 작업을 수행하고, 복잡한 설계나 반복 실패를 분석할 때 지원되는 높은 추론 옵션을 검토합니다. 속도보다 최종 수정 품질과 재작업 비용을 비교하세요.

OpenCode 2 공식 TUI 문서의 프로젝트 시작과 파일 참조 방법 출처: OpenCode 2 TUI 공식 문서, 2026년 10월 22일 공개 페이지 캡처. 실제 작업 세션이 아닌 사용법 안내입니다. 이미지 크게 보기.

Plan과 Build를 나누고 권한을 정한다

에이전트 문서에서 Plan은 일반 프로젝트 파일을 수정하지 않고 탐색과 계획을 진행합니다. 계획 파일을 만들 수 있으며 셸 실행은 권한 설정의 영향을 받습니다. 완전한 읽기 전용 샌드박스로 생각하면 안 됩니다. Build는 구현 작업용 기본 에이전트입니다.

V2는 프로젝트 밖 접근도 기본 허용이므로 처음에는 opencode.jsonc에 다음과 같이 명시할 수 있습니다. 기존 파일이 있다면 전체를 덮어쓰지 말고 규칙을 병합합니다.

{
  "$schema": "https://opencode.ai/config.json",
  "permissions": [
    { "action": "edit", "resource": "*", "effect": "ask" },
    { "action": "shell", "resource": "*", "effect": "ask" },
    { "action": "external_directory", "resource": "*", "effect": "ask" },
    { "action": "shell", "resource": "git status *", "effect": "allow" },
    { "action": "shell", "resource": "git diff *", "effect": "allow" },
    { "action": "shell", "resource": "git push *", "effect": "deny" }
  ]
}

권한 문서에 따르면 마지막으로 일치한 규칙이 적용됩니다. 이 예제는 편집과 셸 실행을 확인하고, 일반적인 Git 조회는 허용하며 git push는 막습니다. 셸은 호스트 사용자의 권한으로 실행되므로 이것이 OS 격리를 제공하거나 모든 우회 경로를 차단하는 설정은 아닙니다. 승인 전에 실제 명령과 대상 경로를 확인합니다.

실습: 검색 결과가 없을 때의 화면 고치기

아래는 프런트엔드 저장소에 적용할 수 있는 예시입니다. 먼저 기존 변경을 확인하고 별도 브랜치를 만듭니다. 같은 이름이 이미 있다면 다른 이름을 사용합니다.

git status --short
git switch -c feat/search-empty-state

Plan에서 목표와 탐색 범위를 지정합니다. 실제 검색 화면의 파일을 @로 찾아 첨부하면 모호함을 줄일 수 있습니다.

검색 결과가 0개일 때 로딩 표시가 계속 남는 문제를 조사해 줘. 검색 화면, 요청 처리, 상태 전환, 관련 테스트를 찾아 현재 흐름을 설명하고 원인 후보와 최소 수정 계획을 제시해. 아직 파일을 수정하거나 명령을 실행하지 마.

계획을 읽고 원인이 확인되면 /agents에서 Build로 전환해 다음처럼 요청합니다.

확인한 원인에 한해 수정해. 로딩·결과 있음·결과 없음·요청 실패를 서로 구분하고, 기존 컴포넌트와 문구 규칙을 따라. 이 버그를 재현하는 회귀 테스트와 프로젝트에 이미 정의된 관련 검증 명령을 실행해. 변경 파일, 실행한 명령, 통과 여부, 남은 불확실성을 보고해. 커밋과 푸시는 하지 마.

완료 판단은 개발자가 합니다. diff에서 무관한 파일 변경이 없는지 확인하고, 0건 응답·오류 응답·연속 검색을 실제 화면에서도 점검합니다. 테스트가 실패하면 에러 전문과 기대 동작을 전달해 원인을 좁힙니다. 반복해서 고치지 못하면 변경 범위를 더 줄이거나 상태 설계를 다시 검토합니다.

TUI 안내의 /undo와 /redo는 작업을 되돌리는 데 유용합니다. 다만 Git 기록과 백업을 대체하는 수단으로 삼지 말고, 수용한 변경만 작은 단위로 커밋하는 습관을 유지합니다.

편집기와 팀 환경에서는 무엇이 달라지나

ACP는 편집기와 에이전트를 연결하는 프로토콜입니다. Zed를 쓴다면 OpenCode의 ACP 안내처럼 먼저 터미널에서 opencode auth login으로 인증하고, ~/.config/zed/settings.json의 기존 설정에 다음 항목을 병합합니다.

{
  "agent_servers": {
    "OpenCode": {
      "command": "opencode",
      "args": ["acp"]
    }
  }
}

그다음 Zed의 에이전트 기능에서 OpenCode를 선택해 프로젝트를 엽니다. 실행 파일을 찾지 못하면 command에 실제 바이너리의 절대 경로를 지정합니다. opencode acp는 프로토콜 메시지를 기다리는 명령이므로 터미널에서 직접 실행해 화면이 조용하다고 실패로 판단하지 않습니다.

OpenCode 2 공식 ACP 문서에 표시된 Zed 연결 설정 출처: OpenCode 2 ACP 공식 문서, 2026년 10월 22일 공개 페이지 캡처. 이미지 크게 보기.

팀에서는 사람마다 긴 초기 프롬프트를 복사하기보다 프로젝트 지침인 AGENTS.md에 실제 빌드·테스트 명령, 수정하지 않을 생성 파일, 리뷰 기준을 적어 버전 관리합니다. 여러 작업을 동시에 맡기면 별도 브랜치와 worktree로 파일 충돌도 줄입니다. 이것은 작업 폴더 분리이며 모델 비용이나 권한까지 자동으로 분리하지는 않습니다.

반복 절차는 Skills의 .opencode/skills/<skill-id>/SKILL.md에, 외부 도구 연결은 MCP 서버에 맡길 수 있습니다. Skill은 방법을 설명하고 MCP는 도구·자료 접근을 연결합니다. 필요한 것부터 하나씩 추가하고 호출 결과와 비용을 확인하세요.

자동 실행과 로컬 모델은 어디에 적합한가

CLI 명령 안내의 opencode run은 대화형 화면 없이 요청을 실행합니다. 모델 연결을 마친 저장소에서 검토 연습은 다음처럼 시작할 수 있습니다.

opencode run --standalone --agent plan \
  "Review this repository. Explain the test strategy and list gaps. Do not edit files or run shell commands."

이 요청 문장만으로 읽기 전용이 강제되지는 않습니다. 무인 CI에서는 별도의 검토 에이전트에 편집과 불필요한 셸 권한을 Deny로 설정하고, 승인 대기를 처리할 방법도 정해야 합니다. 실행 시간 제한, 실패 상태, 결과 보관 위치를 함께 정합니다. CI 비밀 변수로 제공자 키를 주입할 때는 --standalone의 전용 서버가 그 환경을 받도록 구성합니다. 외부 PR의 신뢰되지 않은 코드에 비밀 키를 제공하지 않으며, 모델의 리뷰는 기존 테스트를 대체하지 않습니다.

로컬 추론을 원하면 Ollama 같은 실행 환경도 선택할 수 있습니다. 제공자 문서는 로컬 Ollama 서버의 모델 자동 탐색을 설명합니다. 서버를 실행하고 모델을 준비한 뒤 /models에서 확인합니다. 사용할 모델의 도구 호출 지원, 메모리 요구량과 응답 시간을 작은 수정으로 먼저 평가하세요. 로컬 모델을 골라도 웹 검색·MCP 등 별도 기능이 네트워크를 사용할 수 있으므로 전체 작업이 오프라인이라고 단정하지 않습니다.

실제 사례에서 가져올 것은 검증 순서다

Cloudflare의 2026년 2월 개발 회고는 OpenCode에서 모델과 설계를 논의하고, 작업을 나누어 구현과 테스트를 반복한 과정을 소개합니다. 저자는 잘못된 구현을 사람이 바로잡았다고도 설명합니다. 특정 팀의 사례이지 누구나 같은 속도로 만들 수 있다는 보장은 아닙니다.

자기 프로젝트에 옮길 때는 규모보다 순서를 가져오세요. 재현할 수 있는 문제 하나를 고르고, 현재 동작과 기대 동작을 적고, 계획을 검토한 뒤 수정과 검증을 연결합니다. 새 기능이라면 성공 조건을 먼저 정합니다. 리뷰할 수 없는 큰 diff가 나왔다면 요청을 더 작은 작업으로 나누는 편이 낫습니다.

비용과 Console을 구분해 도입하기

OpenCode Console은 모델 접근, 팀 워크스페이스, 사용량·예산 관리를 제공하는 선택 서비스입니다. 로컬 CLI에서 제공자에 직접 연결하는 방식과 Console 게이트웨이를 거치는 방식을 구분하세요. 앱의 오픈 소스 라이선스와 API 사용료·구독료는 서로 다른 항목입니다.

도입 시점의 공지도 확인할 필요가 있습니다. OpenCode의 2026년 10월 17일 공식 공지는 외부 제공자를 연결한 Console 사용자 일부에 영향을 준 침해를 알렸습니다. 공지 당시 영향 비율은 Console 사용자의 1.4%로 제시됐습니다. 해당 연결을 사용했다면 받은 안내와 최신 후속 공지를 확인하고 관련 키와 사용 내역을 점검해야 합니다. 이를 모든 로컬 설치의 동일한 사고로 확대 해석하거나, 현재 복구 완료로 단정하지 않습니다.

첫 도입은 테스트가 있는 작은 저장소에서 시작하는 것이 좋습니다. 한 개의 수정이 검토 가능한 diff와 재현 가능한 검증 결과로 돌아오는지 평가하세요. 그 다음에 모델을 바꾸고 팀 규칙, 편집기 연동, 자동 실행을 차례로 추가하면 각 설정이 무엇을 개선했는지 판단하기 쉽습니다.

공식 문서를 확인해 구성한 안내와 실습 예제입니다. 설치, 유료 모델 호출, 원격 환경 및 CI 실행을 직접 검증한 사용기는 아닙니다.