pi

Pi는 통합 멀티 프로바이더 LLM API를 갖춘 자체 확장 가능한 터미널 기반 코딩 에이전트 프레임워크입니다.

TypeScriptMITAgent
⭐ GitHubhttps://github.com/earendil-works/pi
91,592
스타 수
+0
스타 증가율
2026년 8월 17일
최근 업데이트
7
클릭 수

1. 프로젝트 개요

Pi는 Claude Agent SDK 위에 구축된 자체 확장 가능한 터미널 기반 코딩 에이전트 프레임워크로, 개발자에게 단일 통합 런타임에서 계획 수립, 코드 편집, 도구 실행 및 여러 LLM 프로바이더 지원을 가능하게 하는 대화형 CLI를 제공합니다.

2. 배경 및 포지셔닝

Pi는 특정 IDE나 플랫폼에 내장된 폐쇄적인 단일 벤더 어시스턴트가 아닌, 개발자가 완전히 소유하고 확장할 수 있는 코딩 에이전트를 제공하기 위해 만들어졌습니다. 핵심 미션은 경량화된 조합 가능한 "에이전트 하네스"를 제공하는 것입니다. 이는 도구 호출과 상태를 관리하는 런타임, 터미널 UI, 모델 추상화 계층으로 구성되며, 모두 개별 패키지로 공개되어 팀이 Pi 자체가 사용하는 것과 동일한 기본 요소 위에 자신만의 에이전트를 구축할 수 있습니다.

유사한 코딩 에이전트 프로젝트와 비교할 때, Pi는 세 가지 방식으로 차별화됩니다:

  • 설계상 프로바이더 독립적 — 단일 AI 벤더를 하드코딩하는 대신, Pi는 하나의 인터페이스를 통해 OpenAI, Anthropic, Google 및 기타 프로바이더와 통신하는 통합 LLM API(pi-ai)를 제공합니다.
  • 조합 가능한 아키텍처 — CLI, 에이전트 런타임, 모델 계층, 터미널 UI, 텔레메트리가 별도의 패키지로 분리되어 있어, 개발자가 전체 애플리케이션 대신 개별 구성 요소를 재사용할 수 있습니다.
  • 공급망 보안 고려 — 이 프로젝트는 종속성을 고정하고 shrinkwrap 파일을 배포하여, 호스트 수준 권한으로 실행되는 도구에 대해 재현 가능하고 감사 가능한 빌드에 의도적으로 중점을 둡니다.

3. 기능 카테고리

🧠 에이전트 런타임
도구 호출 루프와 대화/애플리케이션 상태를 처리하는 핵심 패키지입니다.

  • 도구 호출 및 결과 처리
  • 세션 전반의 상태 지속성
  • 확장 가능한 도구 등록
  • 목적: 모든 CLI 또는 앱이 자율 코딩 에이전트를 실행하는 데 필요한 "두뇌"를 갖추도록 합니다.

🌐 멀티 프로바이더 LLM 계층
여러 대규모 언어 모델 API에 대한 통합 추상화 계층입니다.

  • OpenAI 지원
  • Anthropic (Claude) 지원
  • Google 지원
  • 프로바이더 독립적인 요청/응답 타이핑
  • 목적: 개발자가 애플리케이션 로직을 다시 작성하지 않고도 모델 프로바이더를 교체하거나 혼합할 수 있게 합니다.

💻 대화형 CLI
주력 pi-coding-agent 터미널 애플리케이션입니다.

  • 터미널에서의 대화형 코딩 세션
  • 도구를 통한 파일 편집 및 명령 실행
  • 세션 기반 워크플로
  • 목적: 개발자가 실제 코드베이스에서 Pi를 사용하여 작업할 때 일상적으로 사용하는 진입점입니다.

🎛️ 터미널 UI 라이브러리
풍부한 터미널 인터페이스 구축을 위한 전용 패키지(pi-tui)입니다.

  • 부드러운 업데이트를 위한 차등 렌더링
  • 에이전트 출력을 위한 재사용 가능한 UI 기본 요소
  • 목적: Pi 자체의 CLI 경험을 구동하며, 다른 터미널 기반 에이전트 도구를 구축하는 데 재사용될 수 있습니다.

📊 텔레메트리 프레임워크
벤더 중립적인 텔레메트리 계약 및 타입 정의 스키마(pi-telemetry)입니다.

  • 구조화되고 타입이 정의된 이벤트 스키마
  • 벤더 중립적 설계(단일 분석 백엔드에 종속되지 않음)
  • 목적: 팀이 특정 텔레메트리 프로바이더에 종속되지 않고 에이전트 동작을 관찰하고 개선할 수 있게 합니다.

4. 주요 하이라이트

  • 자체 확장 가능한 하네스 — Pi는 개발자가 고정된 기능 세트에 제한되지 않고 에이전트 자체를 확장하고 재구성할 수 있도록 구축되었습니다.
  • 멀티 프로바이더 유연성 — 일관된 단일 API 표면을 통해 OpenAI, Anthropic, Google 및 기타 LLM 프로바이더 간에 전환할 수 있습니다.
  • 모듈식 패키지 설계 — 다섯 개의 집중된 패키지(CLI, 에이전트 코어, AI 계층, 텔레메트리, TUI)를 독립적으로 또는 함께 도입할 수 있습니다.
  • 터미널 우선 UX — 차등 렌더링 터미널 UI가 명령줄을 벗어나지 않고도 대화형 세션을 빠르고 반응성 있게 유지합니다.
  • 보안에 대한 투명성 — 이 프로젝트는 파일 시스템, 프로세스, 네트워크 또는 자격 증명 접근을 위한 내장 권한 시스템이 없음을 명시적으로 문서화하며, 격리가 필요한 팀을 위해 컨테이너화 패턴(Gondolin, 일반 Docker, OpenShell)을 게시합니다.
  • 재현 가능한 빌드 — 고정된 종속성과 shrinkwrap 파일은 기본적으로 전체 호스트 권한으로 실행되는 도구의 공급망 무결성을 지원합니다.

5. 역할별 사용 사례

  • 일반 개발자: pi-coding-agent CLI를 일상적인 페어 프로그래밍 어시스턴트로 사용하여 터미널에서 직접 코드를 작성, 편집 및 디버깅합니다.
  • 플랫폼/툴링 엔지니어: 처음부터 시작하는 대신 pi-agent-core, pi-ai, pi-tui 위에 맞춤형 코딩 에이전트 또는 내부 개발자 도구를 구축합니다.
  • 보안 중심 팀: 호스트 수준 작업을 부여하기 전에 파일 시스템, 네트워크 및 자격 증명 접근을 제한하기 위해 문서화된 컨테이너화 패턴(Gondolin, Docker, OpenShell) 중 하나 안에서 Pi를 실행합니다.
  • DevOps/SRE: 벤더 중립적인 pi-telemetry 스키마를 기존 관측 가능성 파이프라인에 통합하여 에이전트 사용량 및 안정성을 모니터링합니다.

6. 시작하기

필요한 정보 찾기 — 공식 문서 사이트에서 시작하세요:

https://pi.dev/docs/latest

설치 및 실행:

npm install --ignore-scripts
npm run build

캐시된 모델 데이터를 사용하여 완전 오프라인 재빌드를 수행하려면:

npm run build:offline

로컬 테스트를 위해 소스에서 CLI를 실행하려면:

./pi-test.sh

기여하기:

npm run check   # 린트, 포맷팅 및 타입 검증
./test.sh        # 테스트 스위트 실행

기여 가이드라인은 리포지토리의 CONTRIBUTING.mdAGENTS.md를 참조하세요.

7. 프로젝트 구조

pi/
├── packages/
│   ├── pi-coding-agent/   # 대화형 CLI (주 진입점)
│   ├── pi-agent-core/     # 에이전트 런타임: 도구 호출 및 상태 관리
│   ├── pi-ai/             # 통합 멀티 프로바이더 LLM API
│   ├── pi-telemetry/      # 벤더 중립적 텔레메트리 계약/스키마
│   └── pi-tui/            # 터미널 UI 라이브러리 (차등 렌더링)
├── CONTRIBUTING.md        # 기여 가이드라인
├── AGENTS.md              # 에이전트 관련 개발 노트
├── test.sh                # 전체 테스트 스위트 러너
└── pi-test.sh              # 소스에서 직접 CLI 실행

패키지 분할은 Pi의 설계 철학을 반영합니다. CLI는 기본 에이전트 런타임, 모델 계층 및 UI 툴킷의 소비자 중 하나일 뿐이며, 이 모든 것은 독립적으로 재사용 가능합니다.

8. 관련 생태계

  • Claude Agent SDK — Pi의 에이전트 하네스가 구축된 기반 SDK입니다.
  • LLM 프로바이더pi-ai 추상화 계층을 통해 접근되는 OpenAI, Anthropic 및 Google API입니다.
  • 컨테이너화 도구 — Gondolin, Docker 및 OpenShell은 Pi를 안전하게 실행하기 위한 보완적인 격리 계층으로 문서화되어 있습니다.
  • npm 레지스트리 — Pi는 @earendil-works/pi-coding-agent 및 관련 스코프 패키지로 배포됩니다.

9. 라이선스

Pi는 MIT 라이선스에 따라 출시됩니다.

  • ✅ 상업적 목적을 포함하여 자유롭게 사용, 복사, 수정 및 배포 가능
  • pi-agent-core, pi-ai, pi-tui 위에 파생 도구를 자유롭게 구축 가능
  • ❌ 보증 없음; 저자는 사용으로 인해 발생하는 손해에 대해 책임지지 않음
  • ℹ️ 원본 저작권 및 라이선스 고지는 소프트웨어의 사본 또는 상당 부분에 포함되어야 함
  • ℹ️ Pi는 기본적으로 호스트 프로세스 권한으로 실행되며 내장된 접근 제어가 없습니다. 민감한 환경에 대한 접근을 허용하기 전에 컨테이너화 지침을 검토하십시오.

10. FAQ

Q: Pi는 어떤 LLM 프로바이더를 지원합니까?
A: pi-ai 패키지를 통해 Pi는 단일 통합 API 뒤에서 OpenAI, Anthropic, Google 및 기타 프로바이더를 지원합니다.

Q: 내 컴퓨터에서 Pi가 명령을 실행하도록 해도 안전합니까?
A: Pi에는 파일 시스템, 프로세스, 네트워크 또는 자격 증명 접근을 제한하는 내장 권한 시스템이 없습니다. 기본적으로 호스트 프로세스 권한으로 실행됩니다. 격리를 위해서는 문서화된 컨테이너화 패턴(Gondolin, Docker 또는 OpenShell) 중 하나를 사용하십시오.

Q: 소스에서 Pi를 설치하고 빌드하려면 어떻게 해야 합니까?
A: npm install --ignore-scripts를 실행한 다음 npm run build(또는 오프라인 재빌드의 경우 npm run build:offline)를 실행하고, ./pi-test.sh를 사용하여 소스에서 실행하십시오.

Q: 터미널 UI나 에이전트 런타임처럼 Pi의 일부만 사용할 수 있습니까?
A: 네. Pi는 독립적인 패키지(pi-coding-agent, pi-agent-core, pi-ai, pi-telemetry, pi-tui)로 분리되어 있으므로, 전체 CLI 없이 개별 구성 요소를 도입할 수 있습니다.

Q: 어떻게 기여할 수 있습니까?
A: 변경 사항을 제출하기 전에 npm run check./test.sh를 실행하고, 리포지토리의 CONTRIBUTING.mdAGENTS.md에 있는 가이드라인을 따르십시오.

11. 빠른 링크

12. 요약

Pi는 개발자에게 프로바이더에 독립적이고 자체 확장 가능한 코딩 에이전트를 제공하며, 기성품 터미널 CLI로 사용하거나 맞춤형 에이전트 구축을 위한 조합 가능한 빌딩 블록 세트(에이전트 런타임, 모델 계층, 터미널 UI, 텔레메트리)로 사용할 수 있습니다. 이는 폐쇄적인 단일 벤더 어시스턴트 대신 AI 코딩 도구에 대한 제어권을 원하는 개발자 및 플랫폼 팀에 가장 적합하며, 접근 제어 및 격리는 내장 기능이 아닌 운영자의 책임임을 명확히 이해해야 합니다.