Slack surface

Mention the agent in any channel or thread. A GitHub link gives it instant repository context; the thread becomes a resumable session.

Headless interface

The headless modes are what the Slack backend and the evaluation harness call.

Configuration

Model providers

Open-source models are first-class. Export a provider key and select with /model:
Self-hosted endpoints (vLLM / SGLang / Ollama / LM Studio / llama.cpp):

Guardrails — .pi/guardrails.json

Declarative rules evaluated before every tool call: denied shell patterns and protected write paths. A blocked action never executes.

Observability schema

Per-session JSONL traces at .zen/traces/<sessionId>.jsonl: Full transcripts live in pi’s session files; the JSONL trace is the cost/latency telemetry the evaluation pipelines aggregate across benchmarks.

Extensions API

Zen-specific behavior ships as TypeScript extensions auto-discovered from the repo root — no build step: