Pi için yapılandırma, özelleştirme, platform kurulumu ve API referansları.

Konteynerizasyon

Pi varsayılan olarak tüm izinlerle çalışır, ancak bazı durumlarda Pi'nin hangi dizinlere yazabileceği ve hangi erişimlere sahip olduğu konusunda daha fazla kontrole sahip olmak isteyebilirsiniz.

İki genel seçenek vardır. Sen de yapabilirsin

  1. pi sürecinin tamamını yalıtılmış bir ortamda çalıştırın veya
  2. Ana bilgisayarda pi komutunu çalıştırın ve araç yürütmesini yalıtılmış bir ortama yönlendirin.

Bir desen seçin

Model İzole edilen şey Şunun için en iyisi: Notlar
Gondolin uzantı Yerleşik araçlar ve ! komutları Ana bilgisayarda kimlik doğrulamayı korurken yerel mikro sanal makine yalıtımı Bakınız examples/extensions/gondolin/.
Sade Docker Yerel bir kapta tüm pi süreci Basit yerel izolasyon Sağlayıcı API key'lar konteynere girer.
OpenShell Politika kontrollü bir sandbox'deki tüm pi süreci Yerel veya uzaktan yönetilen sandbox OpenShell ağ geçidi gerektirir

Extensions, pi işleminin çalıştığı yerde çalıştırın. pi ana bilgisayarını bir araç yönlendirme uzantısıyla çalıştırırsanız, diğer özel uzantı araçları da kendi işlemlerini devretmedikleri sürece ana bilgisayarda çalışmaya devam eder.

Gondolin

Gondolin yerel bir Linux mikro VM'sidir. Ana makinede pi istiyorsanız ancak tüm yerleşik araçların VM'ye yönlendirilmesini istiyorsanız example extension'yi kullanın.

Kurmak:

cp -R packages/coding-agent/examples/extensions/gondolin ~/.pi/agent/extensions/gondolin
cd ~/.pi/agent/extensions/gondolin
npm install --ignore-scripts

Monte edilmesini istediğiniz projeden çalıştırın:

cd /path/to/project
pi -e ~/.pi/agent/extensions/gondolin

Uzantı, ana bilgisayar cwd'sini VM'de /workspace konumuna bağlar ve read, write, edit, bash, grep, find ve ls'yi geçersiz kılar. Kullanıcı ! komutları da VM'ye yönlendirilir. /workspace altındaki dosya değişiklikleri ana bilgisayara aktarılır.

Gereksinimler: @earendil-works/gondolin için Node.js >= 23.6.0, artı QEMU (paket yöneticiniz aracılığıyla kurulum gerektirir).

Sade Docker

En basit yerel konteyner sınırını istediğinizde pi işleminin tamamını Docker'de çalıştırın.

Dockerfile.pi:

FROM node:24-bookworm-slim

RUN apt-get update \
  && apt-get install -y --no-install-recommends bash ca-certificates git ripgrep \
  && rm -rf /var/lib/apt/lists/*
RUN npm install -g --ignore-scripts @earendil-works/pi-coding-agent

WORKDIR /workspace
ENTRYPOINT ["pi"]

Oluşturun ve çalıştırın:

docker build -t pi-sandbox -f Dockerfile.pi .

docker run --rm -it \
  -e ANTHROPIC_API_KEY \
  -v "$PWD:/workspace" \
  -v pi-agent-home:/root/.pi/agent \
  pi-sandbox

-v "$PWD:/workspace", geçerli dizininizi /workspace'teki kapsayıcıya bağlar; böylece Gondolin örneğinde olduğu gibi, Docker içindeki /workspace'deki okuma ve yazmalar ana bilgisayar dosyalarınızı doğrudan etkiler.

Kapsayıcı yerel ayarlar ve oturumlar istiyorsanız /root/.pi/agent için adlandırılmış bir birim kullanın. Ana makinenizi ~/.pi/agent monte ettiğinizde, ana makine kimlik doğrulaması ve oturum dosyaları kapsayıcıya sunulur.

OpenShell

Dosya sistemi, süreç, ağ, kimlik bilgisi ve çıkarım kontrolleriyle politika kontrollü bir sandbox istiyorsanız NVIDIA OpenShell kullanın. OpenShell, sandboxes'i Docker, Podman veya VM çalışma zamanı tarafından desteklenen yerel bir ağ geçidi veya uzak bir Kubernetes ağ geçidi aracılığıyla çalıştırabilir.

Her sandbox aktif bir ağ geçidi gerektirir. sandbox oluşturmadan önce kaydolun ve birini seçin:

openshell gateway add <gateway-url> --name <name>
openshell gateway select <name>

OpenShell sandbox içinde pi'yi başlatın:

openshell sandbox create --name pi-sandbox --from pi -- pi

Bu modelde, pi sürecinin tamamı sandbox'nin içinde çalışır. Yerleşik araçlar, ! komutları ve uzantı araçları OpenShell sınırı içinde yürütülür.

Ağ geçidi uzaksa, proje dosyaları ana bilgisayardan bağlamayla bağlanmaz; bu, sandbox'deki yazma işlemlerinin makinenize yansıtılmadığı anlamına gelir. Depoyu sandbox içine kopyalayın veya OpenShell dosya aktarım komutlarını kullanın:

openshell sandbox upload pi-sandbox ./repo /workspace
openshell sandbox download pi-sandbox /workspace/repo ./repo-out

OpenShell sağlayıcılar ham model API key'leri sandbox'nin dışında tutabilir. Çıkarım yönlendirmesi yapılandırıldığında, sandbox içindeki kod https://inference.local'yi arayabilir ve ağ geçidi, yapılandırılmış sağlayıcı kimlik bilgilerini yukarı akışa enjekte eder. Model trafiğinin bu rotayı kullanmasını istiyorsanız, ilgili OpenAI uyumlu veya Antropik uyumlu uç noktayı kullanmak için Pi öğesini yapılandırın.