.env.example
Set these on your host before deploying. Each platform has an “Environment Variables” section in the deploy flow.
SLACK_BOT_TOKEN
secret
Required Bot token (OAuth & Permissions page), must start with xoxb-
SLACK_APP_TOKEN
secret
App-level token with connections:write for Socket Mode, must start with xapp-
PI_BIN
Pi agent configuration
PI_MODEL
PI_THINKING
PI_EXTRA_FLAGS
Default working directory for pi (defaults to your home directory). Override per channel with: pitag register <id> <name> --cwd…
TRIGGER_NAME
Gateway behavior
MAX_CONCURRENCY
MAX_SCHEDULED_CONCURRENCY
POLL_INTERVAL_MS
SHUTDOWN_TIMEOUT_MS
CHANNEL_POLICY
Channel access: allowlist (only registered channels), open-trigger (auto-register, respond on @trigger), or open (auto-register, respond to…
EXCLUDED_CHANNELS
Channel IDs the gateway must never auto-register (comma-separated)
DM_POLICY
DM access: open (auto-register on first DM), allowlist, or disabled
REPLY_IN_THREAD
Post responses into the triggering message's thread when it has one
MAX_ATTACHMENT_BYTES
MAX_TOTAL_ATTACHMENT_BYTES
MEDIA_RETENTION_HOURS
Downloaded attachment files are passed to pi by local path and kept for this long.
ARCHIVE_RETENTION_DAYS
Archived sessions (after /pi new) are deleted after this many days (0 = keep forever)
LOG_LEVEL
Logging
brew install flyctl && fly launch --from https://github.com/crokily/pi-tag
curl -L https://fly.io/install.sh | sh && fly launch --from https://github.com/crokily/pi-tag
iwr https://fly.io/install.ps1 -useb | iex; fly launch --from https://github.com/crokily/pi-tag