본문으로 바로가기
리옵트 핸드북
리옵트 핸드북
OpenCode 고급 활용

기본 세팅

Ch1. 설치/업데이트Ch2. 고급 설정

에이전트 & 권한

Ch3. 에이전트 설계Ch4. 권한 정책Ch5. 모드 활용

워크플로우

Ch6. 커스텀 커맨드Ch7. TUI 고급 활용Ch8. 포매터 자동화Ch9. 모델 선택

확장 & 통합

Ch10. 플러그인 확장Ch11. GitHub & IDE 통합Ch12. LSP 코드 인텔리전스Ch13. 공유/프라이버시

검증

검증 리포트업데이트 내역
핸드북›OpenCode 고급 활용›Ch10. 플러그인 확장

Ch10. 플러그인 확장

JS/TS 플러그인 설치, file·session·tool·tui 등 라이프사이클 훅, @opencode-ai/plugin로 커스텀 도구 개발, @opencode-ai/sdk 타입 활용을 다룹니다.

핵심 요약

  • 플러그인은 .opencode/plugins/(로컬) 자동 로드 또는 plugin 배열의 npm 패키지로 설치하는 JS/TS 모듈입니다.
  • @opencode-ai/plugin의 Plugin 타입으로 { project, client, $, directory, worktree } 컨텍스트를 받는 비동기 함수를 export합니다.
  • file.edited·session.created·tool.execute.before/after·tui.* 같은 라이프사이클 훅에 로직을 겁니다.
  • tool() 헬퍼로 deploy 같은 커스텀 도구를 정의하고, @opencode-ai/sdk의 OpenAPI 기반 타입으로 안전성을 확보합니다.
  • v1.3.0에서 Anthropic OAuth 플러그인이 제거되어 API 키·SSO 등 다른 인증 방식으로 마이그레이션해야 합니다.

플러그인은 OpenCode를 팀이나 제품 환경에 맞게 확장하는 핵심 수단입니다. JavaScript/TypeScript 모듈로 라이프사이클 이벤트에 훅을 겁니다.

플러그인 설치 방법

로컬 플러그인

.opencode/plugins/ (프로젝트) 또는 ~/.config/opencode/plugins/ (전역)에 JS/TS 파일을 두면 시작할 때 자동으로 로드됩니다.

npm 플러그인

{
  "plugin": ["opencode-helicone-session", "@my-org/custom-plugin"]
}

플러그인 API

플러그인은 컨텍스트 객체를 받는 비동기 함수를 export합니다.

import type { Plugin } from '@opencode-ai/plugin'

export const MyPlugin: Plugin = async ({ project, client, $, directory, worktree }) => {
  return {
    // 훅 구현
  }
}

사용 가능한 훅

훅설명
file.edited파일 편집 후
file.watcher.updated파일 감시 업데이트
session.created세션 생성
session.compacted세션 압축
session.deleted세션 삭제
session.diff세션 diff
session.error세션 오류
session.idle세션 유휴
session.status세션 상태 변경
session.updated세션 업데이트

커스텀 도구 플러그인

새로운 도구도 플러그인으로 추가합니다.

import { tool, type Plugin } from '@opencode-ai/plugin'

export const CustomToolsPlugin: Plugin = async (ctx) => {
  return {
    tool: {
      deploy: tool({
        description: '프로덕션 배포 실행',
        args: {
          env: tool.schema.string(),
          tag: tool.schema.string(),
        },
        async execute(args, context) {
          const result = await ctx.$`deploy.sh ${args.env} ${args.tag}`
          return `배포 완료: ${args.env} (${args.tag})`
        },
      }),
    },
  }
}

SDK 패키지

@opencode-ai/sdk가 공식 SDK로 배포됩니다. OpenAPI 스펙 기반 TypeScript 타입이 들어 있어 플러그인을 개발할 때 타입 안전성을 확보합니다.

npm i @opencode-ai/sdk

Breaking: Anthropic OAuth 플러그인 제거 (v1.3.0)

v1.3.0에서 Anthropic OAuth 플러그인이 제거되었습니다. 이 플러그인으로 인증하던 워크플로우는 API 키나 SSO 같은 다른 인증 방식으로 마이그레이션해야 합니다.

주요 서드파티 플러그인

플러그인설명
opencode-helicone-sessionHelicone 옵저버빌리티 연동
@gitlab/opencode-gitlab-pluginGitLab Duo 도구 통합

고급 팁

  • 역할별 플러그인 분리: 도메인별로 플러그인을 나눠 장애 범위를 줄입니다
  • tool.execute.before 활용: 도구를 실행하기 전에 검증 로직을 넣어 안전하게 만듭니다
  • 버전 핀: 팀 표준 플러그인은 npm에서 버전을 고정해 재현성을 지킵니다
  • 최소 구성: 플러그인이 무분별하게 늘면 운영 비용이 커지니 꼭 필요한 것만 씁니다

참고 문서

  • 플러그인: https://opencode.ai/docs/plugins
  • 도구: https://opencode.ai/docs/tools
  • 설정 파일: https://opencode.ai/docs/config

관련 문서

Ch6. 프롬프트/스킬 설계

Codex 고급 활용 · 목표·범위·제약·검증·리스크·출력 6요소 작업 명세, AGENTS.md 탐색 순서, SKILL.md 구조와 Progressive Disclosure, plugin/@plugin 멘션까지 시니어용 프롬프트·스킬 설계

Cmd. /plugin

Claude Code 명령어 마스터 · 스킬·에이전트·훅·MCP 서버를 묶은 플러그인의 설치·활성/비활성·삭제와 마켓플레이스 등록을 Discover/Installed/Marketplaces/Errors 네 탭 UI로 관리하는 명령군. claude plugin CLI로 비대화형 검증도 지원

검증 리포트

OpenCode 고급 활용 핸드북의 콘텐츠 검증 및 업데이트 이력

Cmd. /reload-plugins

Claude Code 명령어 마스터 · 재시작 없이 활성 플러그인을 다시 로드해 대기 중인 변경사항을 반영하는 명령

Ch6. 커스텀 커맨드

.opencode/commands/의 Markdown 커맨드 작성법, $ARGUMENTS·@파일·!셸 변수 참조, opencode run 비대화형 실행과 CI 코드 리뷰 자동화를 정리합니다.

Ch9. 모델 선택

75개+ LLM 프로바이더 지원, model·small_model 분리, 추론 강도 변형(variants), 모델 선택 우선순위, 사내 게이트웨이 커스텀 프로바이더 등록을 정리합니다.

Ch11. GitHub & IDE 통합

bash 도구 기반 Git 작업, VS Code 계열·ACP를 통한 IDE 연동, GitHub App(/oc) 호출, GitLab Agent Platform, v1.3.0 Git-backed 세션 리뷰를 정리합니다.

On this page

플러그인 설치 방법로컬 플러그인npm 플러그인플러그인 API사용 가능한 훅커스텀 도구 플러그인SDK 패키지주요 서드파티 플러그인고급 팁참고 문서