init-co-jp/diff-tour는 하나의 git 변경을 시니어 엔지니어의 코드 읽기 순서대로 안내하는 읽기 전용 TUI(터미널 UI)다. 2026년 11월 2일 커밋 b47b39f는 투어를 작성하는 LLM 목록에 Pi를 추가했다. 세팅 화면에서 PATH에 Pi 1.5 이상 1.x가 있으면 Pi를 선택지로 제시하고, 다른 버전은 지원하지 않는다고 표시한다. Pi는 모르는 긴 플래그를 조용히 무시해 버릴 수 있어, 필요한 플래그가 없는 구버전을 미리 배제하는 방식이다. 이번 변경은 692줄 추가와 11줄 삭제 규모이고, Pi용 구현은 internal/generate/pi.go와 pi-guard.ts, pi_test.go로 새로 들어왔다. 소스는 https://github.com/init-co-jp/diff-tour/commit/b47b39f05ff66101a9066292e38d17b0cedda9db 이다.
Pi를 넣으면서 직접 해결한 문제는 권한 관리다. Pi에는 권한이나 샌드박스 기능이 없어 read, grep, find, ls 네 가지 읽기 도구만 허용해도 경로 제한은 tour 쪽에서 해야 한다. tour는 export 디렉터리 밖의 임시 위치에 직접 만든 확장 pi-guard.ts를 -e로 불러들여, 다른 모든 도구와 export 디렉터리 밖 경로(.., 절대 경로, ~, 심볼릭 링크)를 거부한다. 사용자의 확장과 Pi 내장 확장, MCP 서버, 스킬, 프롬프트 템플릿, AGENTS.md는 읽지 않고, 저장소의 .pi 디렉터리도 신뢰하지 않는다. 세션은 저장하지 않고 업데이트 확인과 다운로드, 텔레메트리는 모두 끈다. 로그인과 모델은 늘처럼 ~/.pi/agent에서 가져온다.
다만 README는 Pi 대응을 시험 단계라고 명시한다. Linux의 실제 Pi 1.5.0에서 읽기 도구로 가능한 모든 방식으로 export 디렉터리 밖을 읽으려 해도 전부 거부되는 것을 확인했지만, 투어를 끝까지 만든 것은 정해진 동작을 흉내 내는 대역 모델(TestPiGuard)뿐이고 실제 모델로 Pi를 통해 완성한 사례는 아직 없다. 다음 메이저 버전에서 가드가 의존하는 확장 방식이 바뀔 가능성도 남아 있다. 투어는 LLM이 차분뿐 아니라 변경 주변 파일까지 읽어 설명을 만드는 작업이므로, 읽기 전용 동작만 검증된 상태에서 설명 품질까지 확보됐다고 보기는 이르다.