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

인터페이스에는 네 가지 주요 영역이 있습니다.
- 시작 헤더 - 바로가기, 로드된 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에 설명된 대로 다시 매핑하세요.
steeringMode 및 followUpMode를 사용하여 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오래된 메시지를 자유로운 맥락으로 요약합니다.
자세한 내용은 Sessions 및 Compaction를 참조하세요.
컨텍스트 파일
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.md 및 CLAUDE.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 모드를 설정하면 regular과 fullscreen 사이를 즉시 전환하고 향후 세션에 대한 기본값을 선택할 수 있습니다. 전체 화면 종료 출력은 전체 화면 종료 시 최종 스크립트를 인쇄할지 아니면 이전 화면을 복원하고 세션 재개 힌트만 인쇄할지 여부를 제어합니다.
파일 인수
메시지에 파일을 포함하려면 파일 앞에 @ 접두사를 붙이세요.
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를 읽어보세요.