Skip to main content

GitHub Copilot 명령 줄 인터페이스 (CLI)용 확장 정보

확장을 사용하면 CLI와 함께 제공되는 SDK만 사용하여 고유한 도구와 슬래시 명령을 GitHub Copilot 명령 줄 인터페이스 (CLI)추가할 수 있습니다.

누가 이 기능을 사용할 수 있나요?

GitHub Copilot 명령 줄 인터페이스 (CLI) 는 모든 Copilot 계획에서 사용할 수 있습니다. 조직으로부터 Copilot를 수신하는 경우, 조직의 설정에서 코파일럿 CLI 정책이 사용하도록 설정되어야 합니다.

참고

GitHub Copilot 명령 줄 인터페이스 (CLI) 확장은 현재 실험적 기능이며 변경될 수 있습니다.

확장 프로그램을 사용하면 코파일럿 CLI에 자체 기능을 추가할 수 있습니다. 각 확장은 대화형 세션과 함께 별도의 프로세스로 실행되고 다시 연결하는 작은 Node.js 모듈입니다. 해당 연결을 통해 확장은 다음을 추가할 수 있습니다.

  • **** 사용자 대신 작동하는 동안 호출할 수 있는 Copilot입니다.
  • 직접 실행하는 슬래시 명령어.

확장은 머신에서 실제 코드를 실행하므로 기본 제공 도구에 없는 기능을 추가할 수 있습니다. 예를 들어 확장은 세션에서 일어나는 일을 모니터링하고, 일회성 셸 명령으로는 할 수 없는 방식으로 도구 호출 전반에 걸쳐 누적 합계를 유지할 수 있습니다.

이 문서에서는 확장이 작동하는 방식과 이를 처리하는 방법을 코파일럿 CLI 설명합니다. 고유한 확장을 빌드하는 실습 가이드는 GitHub Copilot 명령 줄 인터페이스 (CLI)용 확장 프로그램 만들기을 참조하세요.

경고

확장은 사용자 권한으로 컴퓨터에서 실행됩니다. 신뢰하는 확장 코드만 로드합니다. 동일한 방식으로 직접 작성하지 않은 다른 스크립트만 실행합니다.

확장을 검색하는 방법

코파일럿 CLI 시작되면 여러 위치에서 확장을 찾습니다. 각 확장 프로그램은 자체 하위 디렉터리에 있으며, 해당 하위 디렉터리에는 이름이 extension.mjs, extension.cjs 또는 extension.js인 엔트리 파일이 반드시 포함되어야 합니다. 다음은 모두 JavaScript 파일 코파일럿 CLI 입니다. Node.js직접 항목 파일을 실행하므로 확장을 JavaScript로 작성해야 합니다. TypeScript 및 기타 언어는 현재 지원되지 않습니다.

하위 디렉터리의 이름은 확장의 이름이 됩니다.

Source위치Availability
프로젝트
.github/extensions/NAME/ 현재 리포지토리 내에서해당 리포지토리에서 작업하는 모든 사용자가 사용할 수 있습니다.
User~/.copilot/extensions/NAME/모든 CLI 세션, 모든 디렉터리에서 사용할 수 있습니다.
플러그 인설치된 플러그 인플러그 인을 사용할 수 있는 모든 위치에서 사용할 수 있습니다.

확장이 있는 위치 선택

확장 디렉터리를 배치하는 위치에 따라 확장 디렉터리를 사용할 수 있는 사람이 결정됩니다.

  • .github/extensions/ 확장이 해당 프로젝트와 관련이 있고 해당 프로젝트에서 작업하는 모든 사용자와 공유하려는 경우 리포지토리에 배치합니다.
  • CLI를 ~/.copilot/extensions/ 시작하는 디렉터리에 관계없이 모든 자체 세션에서 확장을 사용할 수 있도록 하려면 이 옵션을 입력합니다.

두 위치는 정확히 동일한 구조(파일이 포함된 extension.mjs 명명된 하위 디렉터리)를 따르므로 폴더를 재배치하기만 하면 확장명을 한 위치에서 다른 위치로 이동할 수 있습니다.

확장 기능 활성화

확장은 현재 실험적 기능이므로 실험적 기능을 켜야 합니다. 다음 중 하나를 수행하여 이 작업을 수행할 수 있습니다.

  • 플래그를 사용하여 CLI를 시작합니다 --experimental .
  • /experimental on 대화형 세션 내에서 슬래시 명령을 실행합니다.

CLI에서 확장을 처리하는 방법 변경

명령을 사용하여 Copilot 확장에 대한 액세스를 제한/extensions mode하거나 완전히 해제할 수 있습니다. 이 명령을 사용하면 다음 세 가지 옵션이 제공됩니다.

  • 로드 및 보강(기본값) - CLI는 __ 확장을 실행하고 Copilot.
  • 로드 전용 - CLI는 확장을 실행하지만 Copilot 관리할 수는 없습니다.
  • 사용 안 함 - 확장은 현재 세션에서 완전히 꺼져 있으며 다른 두 설정 중 하나로 전환할 때까지 이후 세션에서는 사용하지 않도록 유지됩니다. 다른 현재 세션은 영향을 받지 않습니다.

변경한 내용은 현재 세션에서 즉시 적용됩니다.

  • 사용 안 함으로 전환하면 현재 실행 중인 모든 확장이 중지됩니다. 프로세스가 종료되고 해당 도구를 더 이상 사용할 수 없습니다.
  • 사용 안 함에서 다른 설정 중 하나로 전환하면 확장이 시작됩니다.
  • Load OnlyLoad & Augment 간에 전환하면 확장을 관리할 수 있는지 여부 Copilot 만 변경됩니다.

"확장 관리"의 의미

로드 및 보강 모드 Copilot 에서는 요청 수행의 일환으로 확장 시스템에서 직접 작동할 수 있는 작은 추가 도구 집합이 제공됩니다. 이러한 도구를 사용하여 Copilot 다음을 수행할 수 있습니다:

  • 검색한 확장을 나열하고 해당 상태를 확인합니다.
  • 검사를 통해 로그 파일의 마지막 부분을 포함한 확장 기능을 살펴보고, 실패했거나 오작동하는 확장 기능을 진단하는 데 도움을 받을 수 있습니다.
  • 새 확장의 기본 틀을 만듭니다—이를 기반으로 개발할 수 있는 시작용 extension.mjs 파일을 생성합니다.
  • 확장을 다시 로드하여 확장 프로그램(또는 사용자)이 방금 작성한 코드가 세션을 다시 시작하지 않고도 적용되도록 합니다.

이것이 바로 Copilot에 확장 프로그램을 빌드해 달라고 요청할 수 있게 해 주는 요소입니다. Copilot 는 세션을 종료하지 않고 파일을 만들고, 코드를 작성하고, 다시 로드할 수 있습니다.

알려져 있고 신뢰할 수 있는 확장 프로그램 세트는 계속 실행되도록 유지하되, Copilot의 작업에 따른 부수 효과로 사용자 컴퓨터에서 실행되는 확장 코드를 생성하거나, 다시 로드하거나, 그 밖의 방식으로 변경하지 않으려는 경우 로드 전용을 선택하세요. 기존 확장은 계속 실행되며 Copilot , 제공하는 도구를 계속 호출할 수 있습니다. 단순히 확장 자체를 관리할 수 없습니다.

플러그 인과 비교된 확장

확장과 플러그 인은 모두 기능을 추가하지만 다른 용도로 코파일럿 CLI사용됩니다.

  • 확장은 세션에서 실행되는 코드로 지원되는 도구 및 슬래시 명령을 추가하기 위해 작성하는 단일 JavaScript 모듈입니다.
  • 플러그 인은 에이전트, 기술, 후크 및 통합과 같은 재사용 가능한 구성 요소를 번들로 묶고 마켓플레이스를 통해 배포할 수 있는 설치 가능한 패키지입니다.

플러그 인에 대한 자세한 내용은 플러그 인 정보 GitHub Copilot을 참조하세요.

추가 읽기