Pag-install at Paggamit
Mga Tampok
Malayuang kontrol
- Ipagpatuloy ang anumang session mula sa browser na may teksto o mga attachment na larawan
- Magsimula ng bagong session sa anumang project path, diretso mula sa web UI
- In-browser na pagpapalit ng modelo at selector ng thinking-level, bawat session
- Katayuan ng worker bawat session (idle / running / error) na may awtomatikong pag-recover sa crash
- Maramihang session na tumatakbo nang sabay — magsimula ng trabaho sa isa, panoorin ang stream ng isa pa
PI_WEB_TOKENpara sa ligtas na LAN exposure — kinakailangan bilang default para sa anumang tahasang non-loopback bind
Pagbabasa ng mga session
- Mag-browse ng mga session sa iba't ibang proyekto gamit ang mga filter, paghahanap, at buong branch navigation
- Live na incremental na mga update habang tumatakbo pa ang pi (sa pamamagitan ng fsnotify; ~ms latency)
- Follow mode para sa pag-tail ng mga aktibong session
- Mga deep link sa mga indibidwal na mensahe
- I-download ang isang session bilang JSONL
- I-share ang mga static na snapshot bilang lihim na GitHub Gists
/web,/remote,/refresh,/pi-web tokenat/pi-web set-tokenna mga pi extension para sa pagbubukas ng mga session, remote QR, session sync, at pamamahala ng token/skill:pi-web-schedule,/skill:pi-web-notes,/skill:pi-web-settings(pi-web-ctl) upang ang isang session ay makapamahala ng mga iskedyul, ang project scratchpad, at mga setting sa natural na wika
Mga Kinakailangan
- Go 1.25+ (para lamang sa pagbuo mula sa source)
pisa iyongPATHpara sa browser chat/pagpapalit ng modelo- Opsyonal:
ghpara sa pag-share - Sa Windows: kailangan ng pi ng bash shell para sa shell tool nito — sapat na ang Git for Windows (tingnan ang Windows docs ng pi)
Pag-install
Pi package (inirerekomenda)
pi install npm:@ygncode/pi-web@betaAng nag-iisang command na ito:
- Nag-i-install ng npm pi package sa ilalim ng package directory ng pi
- Pinapatakbo ang
postinstallscript ng package (install.sh, oinstall.ps1sa Windows) - Dina-download ang katugmang pi-web binary para sa bersyon at platform ng iyong package mula sa GitHub Releases
- Iini-install ito sa
~/.pi/agent/bin/pi-web(pi-web.exesa Windows) - Nagse-set up ng auto-start sa pag-login (launchd sa macOS, systemd sa Linux, isang Run-key launcher sa Windows)
- Nirerehistro ang
/web,/remote,/refresh,/pi-web token, at/pi-web set-tokenna mga pi command
Ang awtomatikong pagbibigay ng titulo sa session ay naka-built in sa pi-web (hindi sa extension) at kino-configure sa pahina ng /settings. Naka-on ito bilang default: awtomatikong pinapangalanan ng pi-web ang mga session gamit ang isang libreng built-in na word heuristic (walang AI), na muling nagbibigay ng titulo sa bawat bagong mensahe. Maaari kang lumipat sa pagbibigay ng titulo nang isang beses bawat session, at/o pumili ng modelo upang magsulat ng mas matatalinong titulo sa halip na ang heuristic.
Sa Linux, ang auto-start ay kino-configure bilang isang user systemd service sa ~/.config/systemd/user/pi-web.service. Ina-update ng installer ang ExecStart nito sa aktwal na path ng naka-install na binary. Kung available ang Tailscale sa runtime, ipina-publish ng pi-web ang localhost server gamit ang Tailscale Serve HTTPS. Kung hindi available ang user systemd, patakbuhin ito nang manu-mano gamit ang ~/.pi/agent/bin/pi-web -o.
Upang mag-install lamang para sa isang partikular na proyekto (ibinabahagi sa iyong team sa pamamagitan ng .pi/settings.json):
pi install -l npm:@ygncode/pi-web@betaPagkatapos ay i-restart ang pi (o patakbuhin ang /reload), at gamitin ang /web, /pi-web, /remote, /refresh. Pamahalaan ang iyong access token gamit ang /pi-web token at /pi-web set-token.
Kung mag-aabort ang npm na may ENOTEMPTY habang nire-rename ang @ygncode/pi-web, alisin ang mga luma nang nakatagong backup directory ng npm at muling i-install ang beta channel:
rm -rf ~/.pi/agent/npm/node_modules/@ygncode/.pi-web-*
pi install npm:@ygncode/pi-web@betaMabilisang pag-install (walang kinakailangang build tools)
macOS / Linux:
curl -fsSL https://raw.githubusercontent.com/ygncode/pi-web/main/install.sh | bashWindows (PowerShell):
irm https://raw.githubusercontent.com/ygncode/pi-web/main/install.ps1 | iexDina-download nito ang pinakabagong pi-web binary, iini-install ito sa /usr/local/bin (~/.pi/agent/bin sa Windows), at nagse-set up ng auto-start sa pag-login. Walang kinakailangang Go, Node, o pi.
Pag-download ng binary
Ang mga pre-built na binary ay naka-attach sa bawat GitHub Release.
# macOS (Apple Silicon)
curl -L -o pi-web https://github.com/ygncode/pi-web/releases/latest/download/pi-web-darwin-arm64
chmod +x pi-web
# macOS (Intel)
curl -L -o pi-web https://github.com/ygncode/pi-web/releases/latest/download/pi-web-darwin-amd64
chmod +x pi-web
# Linux (amd64)
curl -L -o pi-web https://github.com/ygncode/pi-web/releases/latest/download/pi-web-linux-amd64
chmod +x pi-web
# Linux (arm64)
curl -L -o pi-web https://github.com/ygncode/pi-web/releases/latest/download/pi-web-linux-arm64
chmod +x pi-web# Windows (x64)
irm -OutFile pi-web.exe https://github.com/ygncode/pi-web/releases/latest/download/pi-web-windows-amd64.exe
# Windows (ARM64)
irm -OutFile pi-web.exe https://github.com/ygncode/pi-web/releases/latest/download/pi-web-windows-arm64.exePagkatapos ay ilipat ito sa iyong PATH:
cp pi-web ~/.pi/agent/bin/
# or system-wide:
sudo cp pi-web /usr/local/bin/Buuin mula sa source
git clone https://github.com/ygncode/pi-web.git
cd pi-web
make build # builds the Vite bundle, then embeds it into the Go binary
# optional: put it on PATH
cp pi-web ~/.pi/agent/bin/Ang frontend bundle ay naka-embed ng web/assets_embed.go, kaya kailangang umiral muna ang web/dist bago ang go build. Ginagawa ng make build ang dalawang hakbang nang magkakasunod; kung magbu-build ka nang manu-mano, patakbuhin ang npm --prefix web install && npm --prefix web run build bago ang go build ./cmd/pi-web.
Mag-develop kasabay ng naka-install na instance
Iwanang tumatakbo ang naka-install na instance sa port 31415, pagkatapos ay simulan ang source checkout sa development mode:
make devBuksan ang http://127.0.0.1:31416. Itinatakda ng make dev ang internal na PI_WEB_DEV=1 na development environment, kaya ibinabahagi ng source checkout ang mga session, setting, at SQLite data sa naka-install na instance habang pinapanatili ang isang hiwalay na development runtime lock at state file. Ang mga regular na naka-install at manu-manong inilunsad na instance ay hindi nagbabago at nananatili sa orihinal na single-instance na pag-uugali.
Upang maiwasan ang dobleng autonomous na trabaho, hindi pinapatakbo ng development mode ang schedule loop, chat-queue drainer, auto-titling, o mga push notification. Gumagana pa rin ang mga direktang request na ginagawa sa pamamagitan ng development UI. Huwag i-drive ang parehong chat session mula sa dalawang instance nang sabay; ang bawat proseso ay may sariling RPC worker manager.
Kinakailangan ng make dev ang Air para sa Go hot reload:
go install github.com/air-verse/air@latestAng PI_WEB_DEV ay development harness plumbing, hindi isang suportadong production multi-instance mode.
Pag-uninstall
pi remove npm:@ygncode/pi-web@betaPinapatakbo nito ang preuninstall script ng package (uninstall.sh, o uninstall.ps1 sa Windows), na humihinto sa tumatakbong instance at nag-aalis ng:
- ang pi-web binary (
~/.pi/agent/bin/pi-web, o/usr/local/bin/pi-webpara sa mga standalone na pag-install) - ang version file (
~/.pi/agent/pi-web-version) - ang runtime state file (
~/.pi/agent/pi-web/pi-web-state.json) - ang auto-start config (launchd plist sa macOS, systemd user service sa Linux, Run-key entry + launcher scripts sa Windows)
Pinapanatili ang iyong data upang ang susunod na muling pag-install ay magpapatuloy kung saan ka tumigil: ~/.pi/agent/pi-web.sqlite, ~/.pi/agent/pi-web-memory.sqlite, ang iyong mga session file sa ilalim ng ~/.pi/agent/sessions/, at ~/.config/pi-web/env (kasama ang PI_WEB_TOKEN). Tanggalin ang mga iyon nang manu-mano kung gusto mo ng malinis na simula.
Paggamit
# Start on the default port (31415)
pi-web
# Start and open a browser
pi-web -o
# Custom port
pi-web -p 8080
# Override bind host (loopback is unauthenticated by default)
pi-web --host 127.0.0.1
# Non-loopback bind requires a token — pi-web refuses to start otherwise
PI_WEB_TOKEN=$(openssl rand -hex 16) pi-web --host 192.168.1.50Bilang default, nag-bibind ang pi-web sa 127.0.0.1. Kung tumatakbo ang Tailscale na may MagicDNS at nakatakda ang PI_WEB_TOKEN, pinapatakbo rin ng pi-web ang tailscale serve --bg --https=<port> http://127.0.0.1:<port> at ipinapakita ang HTTPS tailnet URL. Kung walang token, mananatiling loopback-only ang pi-web at lalaktawan ang Tailscale Serve, kaya hindi maaabot ng mga tailnet peer ang agent nang walang authentication. Ang anumang tahasang non-loopback bind ay nangangailangan ding nakatakda ang PI_WEB_TOKEN; ipasa ang --insecure upang i-override para sa lokal na pagsubok.
Malayuang Access
Iwanang nakikinig nang lokal ang pi-web, pagkatapos ay gamitin ang ipinakitang Tailscale HTTPS URL mula sa iyong telepono o laptop sa tailnet.
Sa macOS, i-install at buksan ang Tailscale nang interactive, aprubahan ang administrator prompt, at mag-sign in. Pagkatapos ay patakbuhin ang /pi-web restart, na susundan ng /remote.
Sa Linux, payagan ang iyong user na pamahalaan ang Tailscale bago i-install/patakbuhin ang pi-web, kung hindi ay maaaring mangailangan ng sudo ang tailscale serve at maaaring mabigo ang auto-start:
sudo tailscale set --operator=$USER# 1. Start pi-web with a token so it publishes the Tailscale HTTPS endpoint
PI_WEB_TOKEN=$(openssl rand -hex 16) pi-web
# 2. From any other Tailscale-connected device, open the printed
# "Tailscale HTTPS" URL and enter the token once.Bilang default, tumatangging mag-bind ang pi-web sa isang non-loopback address maliban kung nakatakda ang
PI_WEB_TOKEN— kung hindi, ang sinumang makakaabot sa naka-bind na address ay maaaring makakita ng mga session at makapagpadala ng mga tagubilin sa pi. Upang i-override ang guard na ito para sa pagsubok sa lokal na network, ipasa ang--insecure. Huwag gamitin ang--insecuresa Tailscale o sa anumang address na maaabot mula sa labas ng iyong machine.Maaaring ipasa ng mga client ang token sa pamamagitan ng
Authorization: Bearer <token>header, ngX-Pi-Tokenheader, o nang isang beses sa pamamagitan ng?token=<token>(o ng login prompt). Kapag dumating ang token sa pamamagitan ng query string, nagtatakda ang pi-web ngpi_tokencookie at nagre-redirect sa parehong URL na inalis na ang token, kaya hindi ito nananatili sa address bar o sa history ng browser. Mas mainam ang header form para sa mga script at automation.
Browser Chat
Buksan ang isang pahina ng session at gamitin ang composer sa ibaba upang ipagpatuloy ang eksaktong session na iyon.
- Ang
Enteray nagpapadala, angShift+Enteray naglalagay ng newline - I-drag-and-drop o i-paste ang mga larawan nang direkta sa composer
- Nasa header ang model picker at thinking-level selector — agad na nalalapat ang mga pagbabago sa pinagbabatayang pi worker
- Ang bawat aktibong session ay may sariling dedikadong
pi --mode rpcworker, kaya hindi naghaharangan ang magkakaibang session
Pagbabahagi ng mga Session
I-click ang Share sa isang pahina ng session upang gumawa ng lihim na GitHub Gist.
Mga kinakailangan:
- naka-install ang
gh - nakumpleto ang
gh auth login
Ibinabalik ng pag-share:
- ang lihim na gist URL
- isang preview URL sa
https://pi.dev/session/#<gistId>
Ang mga na-share na gist ay mga snapshot at hindi nag-live-update.
Auto-Start sa Pag-login
macOS
cp init/com.pi-web.plist ~/Library/LaunchAgents/
launchctl load ~/Library/LaunchAgents/com.pi-web.plistLinux (systemd)
# Install the systemd user service
mkdir -p ~/.config/systemd/user
cp init/pi-web.service ~/.config/systemd/user/
# Optional: set your PI_WEB_TOKEN for non-loopback binds
# (or use /pi-web set-token <token> from inside pi)
mkdir -p ~/.config/pi-web
echo 'PI_WEB_TOKEN=your-token-here' > ~/.config/pi-web/env
# Enable and start
systemctl --user daemon-reload
systemctl --user enable --now pi-web.service
# Check status
systemctl --user status pi-web.service
# View logs
journalctl --user -u pi-web.service -fUpang magsimula ang service sa boot (bago mag-login), gumamit na lang ng system service: kopyahin ang
init/pi-web.servicesa/etc/systemd/system/at gamitin angsudo systemctl.
Windows
Awtomatikong kino-configure ito ng installer, nang hindi kinakailangan ang mga admin right: isang pi-web entry sa ilalim ng HKCU\Software\Microsoft\Windows\CurrentVersion\Run ang naglulunsad ng ~/.config/pi-web/pi-web-start.vbs sa pag-login, na nagpapatakbo sa binary nang nakatago (walang console window) matapos i-load ang ~/.config/pi-web/env (PI_WEB_TOKEN, PATH, ...).
Upang pamahalaan ito nang manu-mano:
# Start / stop
wscript.exe "$HOME\.config\pi-web\pi-web-start.vbs"
taskkill /IM pi-web.exe /F
# Remove auto-start
Remove-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Run' -Name 'pi-web'Walang service supervision sa Windows: kung mag-crash ang pi-web ay mananatili itong patay hanggang sa susunod na pag-login (awtomatiko itong nire-restart ng launchd/systemd sa iba pang mga platform).