Pi 구성, 확장, 플랫폼 설정 및 API 참조.

Pi 사용

이 페이지는 빠른 시작 페이지에 맞지 않는 일상적인 사용 세부 정보를 수집합니다.

대화형 모드

Interactive Mode

인터페이스에는 네 가지 주요 영역이 있습니다.

  • 시작 헤더 - 바로가기, 로드된 context files, prompt templates, 기술 및 확장 프로그램
  • 메시지 - 사용자 메시지, 어시스턴트 응답, 도구 호출, 도구 결과, 알림, 오류 및 확장 UI
  • 편집기 - 입력하는 곳입니다. 테두리 색상은 현재 사고 수준을 나타냅니다.
  • 바닥글 - 작업 디렉터리, 세션 이름, 토큰/캐시 사용량, 비용, 컨텍스트 사용량 및 현재 모델입니다. 총계에는 보조자 응답, 도구에서 보고된 사용량 및 요약 생성이 포함됩니다.

편집기는 /settings와 같은 내장 UI나 사용자 정의 확장 UI로 일시적으로 대체될 수 있습니다.

편집기 기능

특징 어떻게
파일 참조 프로젝트 파일을 퍼지 검색하려면 @를 입력하세요.
경로 완성 경로를 완성하려면 Tab 키를 누르세요.
다중 라인 입력 Shift+Enter 또는 Windows 터미널의 경우 Ctrl+Enter
응답 복사 Ctrl+X는 마지막 보조 메시지를 복사합니다. /tree에서는 선택한 메시지를 복사합니다.
이미지 Windows에서는 Ctrl+V, Alt+V를 사용하여 붙여넣거나 터미널로 드래그하세요.
쉘 명령 !command 실행하고 모델에 출력을 보냅니다.
숨겨진 쉘 명령 !!command 모델에 출력을 보내지 않고 실행됩니다.
외부 편집자 Ctrl+G는 externalEditor, $VISUAL, $EDITOR, Windows에서는 메모장, 다른 곳에서는 nano를 엽니다.

모든 단축키 및 사용자 정의는 Keybindings를 참조하세요.

슬래시 명령

편집기에서 /를 입력하여 명령 완성을 엽니다. Extensions는 커스텀 명령어를 등록할 수 있고, 스킬은 /skill:name로 사용 가능하며, prompt templates는 /templatename를 통해 확장 가능합니다.

명령 설명
/login, /logout OAuth 또는 API 키 자격 증명 관리
/llama llama.cpp 라우터 모델 다운로드, 로드 및 언로드
/model 모델 전환
/scoped-models Ctrl+P 사이클링을 위한 모델 활성화/비활성화
/settings 사고수준, 테마, 메시지 전달, 전송
/resume Pi이전 세션에서 확인
/new 새 세션 시작
/name <name> 세션 표시 이름 설정
/session 세션 파일, ID, 메시지, 토큰 및 비용 표시
/tree 세션의 어느 지점으로든 이동하고 거기서부터 계속하세요.
/trust 향후 세션을 위해 프로젝트 신뢰 결정 저장
/fork 이전 사용자 메시지에서 새 세션 만들기
/clone 현재 활성 분기를 새 세션에 복제합니다.
/compact [prompt] 수동으로 압축된 컨텍스트(선택적으로 사용자 지정 지침 포함)
/copy 마지막 어시스턴트 메시지를 클립보드에 복사
/export [file] 세션을 HTML 또는 JSONL로 내보내기
/import <file> JSONL 파일에서 세션 가져오기 및 재개
/share 공유 가능한 HTML 링크가 포함된 비공개 GitHub 요점으로 업로드
/reload 키 바인딩, 확장 프로그램, 기술, 프롬프트, 테마 및 context files를 다시 로드하세요.
/hotkeys 모든 키보드 단축키 표시
/changelog 버전 기록 표시
/quit 파이 그만둬

메시지 대기열

에이전트가 계속 작업하는 동안 메시지를 제출할 수 있습니다.

  • Enter는 현재 보조 턴이 도구 호출 실행을 마친 후에 전달되는 조정 메시지를 대기열에 넣습니다.
  • Alt+Enter는 상담사가 모든 작업을 마친 후 전달되는 후속 메시지를 대기열에 추가합니다.
  • Escape는 대기 중인 메시지를 중단하고 편집기에 복원합니다.
  • Alt+Up은 대기 중인 메시지를 편집기로 다시 검색합니다.

Windows 터미널에서는 Alt+Enter가 기본적으로 전체 화면입니다. pi가 바로가기를 수신하도록 하려면 Terminal setup에 설명된 대로 다시 매핑하세요.

steeringModefollowUpMode를 사용하여 Settings에서 게재를 구성합니다.

세션

세션은 작업 디렉토리별로 구성되어 ~/.pi/agent/sessions/에 자동으로 저장됩니다.

pi -c                  # Continue most recent session
pi -r                  # Browse and select a session
pi --no-session        # Ephemeral mode; do not save
pi --name "my task"    # Set session display name at startup
pi --session <path|id> # Use a specific session file or session ID
pi --fork <path|id>    # Fork a session into a new session file

유용한 세션 명령:

  • /session 현재 세션 파일과 ID를 보여줍니다.
  • /tree는 파일 내 session tree를 탐색하고 버려진 분기를 요약할 수 있습니다.
  • /fork 이전 사용자 메시지에서 새 세션을 생성합니다.
  • /clone 현재 활성 분기를 새 세션 파일에 복제합니다.
  • /compact 오래된 메시지를 자유로운 맥락으로 요약합니다.

자세한 내용은 SessionsCompaction를 참조하세요.

컨텍스트 파일

Pi는 시작 시 다음 위치에서 AGENTS.md 또는 CLAUDE.md를 로드합니다.

  • ~/.pi/agent/AGENTS.md 글로벌 지침
  • 상위 디렉토리, 현재 작업 디렉토리에서 위로 이동
  • 현재 디렉토리

디렉토리에 AGENTS.override.md가 포함되어 있으면 Pi는 해당 디렉토리에서 AGENTS.md 또는 CLAUDE.md 대신 해당 디렉토리를 로드합니다. 다른 디렉터리의 컨텍스트 파일은 여전히 ​​정상적으로 계층화됩니다.

프로젝트 규칙, 명령, 안전 규칙 및 기본 설정에는 context files를 사용하세요. --no-context-files 또는 -nc로 로딩을 비활성화합니다.

시스템 프롬프트 파일

기본 시스템 프롬프트를 다음으로 바꾸십시오.

  • .pi/SYSTEM.md 프로젝트의 경우
  • ~/.pi/agent/SYSTEM.md 전 세계적으로

두 위치 모두에서 APPEND_SYSTEM.md로 바꾸지 않고 기본 프롬프트에 추가합니다.

프로젝트 신뢰

대화형 시작 시 pi는 프로젝트 로컬 설정, 리소스 또는 프로젝트 .agents/skills를 포함하고 ~/.pi/agent/trust.json의 폴더 또는 상위 폴더에 대해 저장된 결정이 없는 프로젝트 폴더를 신뢰하기 전에 묻습니다. 프로젝트를 신뢰하면 pi가 .pi/settings.json.pi 리소스를 로드하고, 누락된 프로젝트 패키지를 설치하고, 프로젝트 확장을 실행할 수 있습니다.

신뢰 결정 전에 pi는 context files, 사용자/전역 확장 및 CLI -e 확장만 로드하여 project_trust 이벤트를 처리할 수 있습니다. 프로젝트 로컬 확장, 프로젝트 패키지 관리 확장 및 프로젝트 설정은 프로젝트를 신뢰한 후에만 로드됩니다. 이 분할은 현재 프로세스에서 신뢰가 확인되지 않은 다른 cwd의 세션으로 전환할 때도 적용됩니다.

비대화형 모드(-p, --mode json--mode rpc)에는 신뢰 프롬프트가 표시되지 않습니다. 적용 가능한 저장된 신뢰 결정이 없으면 전역 설정에서 defaultProjectTrust를 사용합니다. ask(기본값) 및 never는 해당 프로젝트 리소스를 무시하고 always는 이를 신뢰합니다. 한 번의 실행에 대해 프로젝트 신뢰를 재정의하려면 --approve/-a 또는 --no-approve/-na를 전달합니다.

확장이나 저장된 결정이 적용되지 않는 경우 defaultProjectTrust는 대체 동작을 제어합니다. ~/.pi/agent/settings.json에서는 "ask", "always", "never"로 설정하거나 /settings로 변경하세요.

pi config 및 패키지 명령은 동일한 프로젝트 신뢰 흐름을 사용합니다. 단, pi update는 메시지를 표시하지 않습니다. 하나의 명령에 대해 프로젝트 로컬 설정을 신뢰하려면 --approve를 전달하고 이를 무시하려면 --no-approve를 전달합니다.

직계 상위 폴더에 대한 신뢰를 포함하여 향후 세션에 대한 프로젝트 신뢰 결정을 저장하려면 대화형 모드에서 /trust를 사용하세요. ~/.pi/agent/trust.json만 씁니다. 현재 세션은 다시 로드되지 않으므로 변경 사항을 적용하려면 pi를 다시 시작하세요.

세션 내보내기 및 공유

HTML에 세션을 작성하려면 /export [file]를 사용하세요.

공유 가능한 HTML 링크가 포함된 비공개 GitHub 요점을 업로드하려면 /share를 사용하세요.

오픈 소스 작업에 pi를 사용하고 모델, 프롬프트, 도구 및 평가 연구를 위한 세션을 게시하려면 badlogic/pi-share-hf를 참조하세요. Hugging Face 데이터 세트에 세션을 게시합니다.

CLI 참고

pi [options] [@files...] [messages...]

패키지 명령

pi install <source> [-l]     # Install package, -l for project-local
pi remove <source> [-l]      # Remove package
pi uninstall <source> [-l]   # Alias for remove
pi update [source|self|pi]   # Update pi only, or one package source
pi update --all              # Update pi and packages; reconcile pinned git refs
pi update --extensions       # Update packages only; reconcile pinned git refs
pi update --models           # Refresh model catalogs only
pi update --self             # Update pi only
pi update --extension <src>  # Update one package
pi list                      # List installed packages
pi config                    # Enable/disable package resources

이 명령은 pi 패키지를 관리하고 pi update는 pi CLI 설치를 업데이트할 수 있습니다. pi 자체를 제거하려면 Quickstart를 참조하세요. pi config 및 프로젝트 패키지 명령은 --approve/--no-approve를 허용하여 하나의 명령에 대한 프로젝트 로컬 설정을 신뢰하거나 무시합니다. pi update 프로젝트 신뢰를 묻는 메시지가 표시되지 않습니다.

패키지 소스 및 보안 참고사항은 Pi Packages를 참조하세요.

모드

깃발 설명
기본 대화형 모드
-p, --print 응답 인쇄 및 종료
--mode json 모든 이벤트를 JSON 라인으로 출력합니다. JSON mode 참조
--mode rpc RPC 모드 이상 stdin/stdout; RPC mode 참조
--export <in> [out] 세션을 HTML로 내보내기

인쇄 모드에서 pi는 파이프로 연결된 stdin도 읽고 이를 초기 프롬프트에 병합합니다.

cat README.md | pi -p "Summarize this text"

모델 옵션

옵션 설명
--provider <name> anthropic, openai, google 등의 제공자
--model <pattern> 모델 패턴 또는 ID provider/id 지원 및 선택 사항 :<thinking>
--api-key <key> API key, 환경 변수 재정의
--thinking <level> off, minimal, low, medium, high, xhigh, max
--models <patterns> Ctrl+P 순환을 위한 쉼표로 구분된 패턴
--list-models [search] 사용 가능한 모델 나열

세션 옵션

옵션 설명
-c, --continue 가장 최근 세션 계속하기
-r, --resume 세션 찾아보기 및 선택
`--세션 <경로\ 아이디>`
`--fork <경로\ 아이디>`
--session-dir <dir> 사용자 정의 세션 저장소 디렉터리
--no-session 임시 모드; 저장하지 마세요
--name <name>, -n <name> 시작 시 세션 표시 이름 설정

도구 옵션

옵션 설명
--tools <list>, -t <list> 특정 내장, 확장 및 맞춤 도구를 허용 목록에 추가
--exclude-tools <list>, -xt <list> 특정 내장, 확장 및 사용자 정의 도구 비활성화
--no-builtin-tools, -nbt 내장 도구를 비활성화하지만 확장/사용자 정의 도구는 활성화된 상태로 유지합니다.
--no-tools, -nt 모든 도구 비활성화

내장 도구: read, bash, edit, write, grep, find, ls.

자원 옵션

옵션 설명
-e, --extension <source> 경로, npm 또는 git에서 확장 프로그램을 로드합니다. 반복 가능
--no-extensions 확장 검색 비활성화
--skill <path> 스킬을 로드하세요. 반복 가능
--no-skills 기술 발견 비활성화
--prompt-template <path> 프롬프트 템플릿을 로드합니다. 반복 가능
--no-prompt-templates 프롬프트 템플릿 검색 비활성화
--theme <path> 테마를 로드하세요. 반복 가능
--no-themes 테마 검색 비활성화
--no-context-files, -nc AGENTS.mdCLAUDE.md 검색 비활성화

--no-*를 명시적 플래그와 결합하면 설정을 무시하고 필요한 것을 정확하게 로드할 수 있습니다. 예:

pi --no-extensions -e ./my-extension.ts

기타 옵션

옵션 설명
--system-prompt <text> 기본 프롬프트를 교체합니다. context files 및 스킬은 여전히 ​​추가됩니다.
--append-system-prompt <text> 시스템 프롬프트에 추가
--tui-mode <mode> TUI 모드: regular(기본값) 또는 실험적 fullscreen
--verbose 강제로 자세한 시작 시작
-a, --approve 이 실행을 위해 프로젝트 로컬 파일을 신뢰합니다.
-na, --no-approve 이 실행에 대해 프로젝트 로컬 파일을 무시합니다.
-h, --help 도움말 표시
-v, --version 버전 표시

fullscreen 모드에서는 대기 중인 메시지, 작업 상태, 확장 위젯, 편집기 및 바닥글이 하단에 고정되어 있는 동안 스크립트가 터미널 뷰포트 내부에서 스크롤됩니다. 마우스/트랙패드 입력은 포인터 아래 영역을 스크롤합니다. 키보드 뷰포트 작업은 항상 사용할 수 있습니다. 인라인 이미지는 Kitty 및 Ghostty를 포함하여 Kitty 그래픽 프로토콜을 지원하는 터미널에서 작동합니다. iTerm2에서는 인라인 이미지 프로토콜이 애플리케이션 소유 스크롤 중에 배치를 삭제하거나 자를 수 없기 때문에 텍스트 자리 표시자로 렌더링됩니다. regular 모드에서 pi는 기본 화면과 터미널 소유 스크롤백을 사용하고 iTerm2 인라인 이미지는 계속해서 정상적으로 렌더링됩니다.

/settings에서 TUI 모드를 설정하면 regularfullscreen 사이를 즉시 전환하고 향후 세션에 대한 기본값을 선택할 수 있습니다. 전체 화면 종료 출력은 전체 화면 종료 시 최종 스크립트를 인쇄할지 아니면 이전 화면을 복원하고 세션 재개 힌트만 인쇄할지 여부를 제어합니다.

파일 인수

메시지에 파일을 포함하려면 파일 앞에 @ 접두사를 붙이세요.

pi @prompt.md "Answer this"
pi -p @screenshot.png "What's in this image?"
pi @code.ts @test.ts "Review these files"

# Interactive with initial prompt
pi "List all .ts files in src/"

# Non-interactive
pi -p "Summarize this codebase"

# Non-interactive with piped stdin
cat README.md | pi -p "Summarize this text"

# Named one-shot session
pi --name "release audit" -p "Audit this repository"

# Different model
pi --provider openai --model gpt-4o "Help me refactor"

# Model with provider prefix
pi --model openai/gpt-4o "Help me refactor"

# Model with thinking level shorthand
pi --model sonnet:high "Solve this complex problem"

# Limit model cycling
pi --models "claude-*,gpt-4o"

# Read-only mode
pi --tools read,grep,find,ls -p "Review the code"

# Disable one extension or built-in tool while keeping the rest available
pi --exclude-tools ask_question

디자인 원칙

Pi는 핵심을 작게 유지하고 워크플로별 동작을 확장, 기술, prompt templates 및 패키지로 푸시합니다.

의도적으로 내장 MCP, 하위 에이전트, 권한 팝업, 계획 모드, 할 일 또는 배경 bash을 포함하지 않습니다. 이러한 워크플로를 확장 프로그램이나 패키지로 구축 또는 설치할 수도 있고, 컨테이너 및 tmux와 같은 외부 도구를 사용할 수도 있습니다.

전체 근거를 보려면 blog post를 읽어보세요.