Repository navigation
Expand file tree
/
Copy path.env.example
More file actions
82 lines (68 loc) · 5.1 KB
/
Copy path.env.example
File metadata and controls
82 lines (68 loc) · 5.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# pf-core environment variables
#
# Copy to .env and fill in what your install uses. Everything here has a safe
# default except the API keys — pf-core reads these directly from the
# environment. Full reference: docs/config.md (AppConfig settings) and
# docs/env.md (the resolver helpers). Commented lines show the default.
# ── LLM providers ──────────────────────────────────────────────────────────
# OpenRouter ([llm] extra) — the paid multi-model API client.
OPENROUTER_API_KEY=
# OPENROUTER_BASE_URL=https://openrouter.ai/api/v1
# OPENROUTER_PROVIDER_IGNORE= # comma-separated provider names to skip
# Anthropic ([anthropic] extra) — official SDK client.
ANTHROPIC_API_KEY=
# ANTHROPIC_MODEL= # default model when chat(model=) is omitted
# Claude Code client — uses the local `claude` CLI / Claude Max session ($0/call).
# PF_CORE_CLAUDE_CODE_MODEL= # default --model (e.g. haiku / sonnet / opus)
# Brave Search ([http]/[llm]) — web search for grounding.
BRAVE_API_KEY=
# BRAVE_REQUEST_TIMEOUT=10
# Model router (config/model_router.yaml) — per-agent model + backend.
# MODEL_ROUTER_CONFIG=config/model_router.yaml
# MODEL_ROUTER_RELOAD_SECONDS=60 # 0 = re-read every call (dev)
# ── Database ([db] extra) ──────────────────────────────────────────────────
# Empty = no DB. SQLite needs no driver; MySQL needs [mysql], Postgres [postgres].
DATABASE_URL=
# SQLITE_BUSY_TIMEOUT=5000 # ms, SQLite only
# DB_CONNECT_TIMEOUT_S=10 # seconds, MySQL/Postgres only; 0 = driver default
# ── Web ([web] extra) ──────────────────────────────────────────────────────
# WEB_HOST=127.0.0.1
# WEB_PORT=8000
# CORS_ORIGINS= # comma-separated origins; * is refused (see docs/web.md)
# API_RATE_LIMIT_PER_MINUTE=60 # per-IP, needs [ratelimit]
# ── Caching ([redis] extra) ────────────────────────────────────────────────
# REDIS_URL= # empty = graceful no-op cache
# CACHE_CONFIG=config/cache.yaml
# CACHE_CONFIG_RELOAD_SECONDS=60
# ── Cost & budget ([tracking] extra) ───────────────────────────────────────
# BUDGET_CONFIG=config/budgets.yaml
# BUDGET_CONFIG_RELOAD_SECONDS=300
# BUDGET_ENFORCEMENT_DISABLED=0 # 1/true to bypass the pre-call budget guard
# ── Eval & jobs ────────────────────────────────────────────────────────────
# EVAL_CONFIG=config/eval.yaml
# JOB_LEASE_SECONDS=300 # worker-claim lease duration
# ── OpenTelemetry export ([otel] extra, pf-export otel) ────────────────────
# Standard OTel variables; see docs/otel.md.
# OTEL_EXPORTER_OTLP_ENDPOINT= # e.g. http://127.0.0.1:6006 (/v1/traces appended)
# OTEL_EXPORTER_OTLP_HEADERS= # URL-encoded key=value pairs, comma-separated
# OTEL_SERVICE_NAME= # set once per project: it scopes the exported ids
# OTEL_BSP_MAX_EXPORT_BATCH_SIZE=512 # spans per export request
# ── Logging ────────────────────────────────────────────────────────────────
# LOG_LEVEL=INFO
# LOG_FILE= # empty = console only; path = JSON-lines file
# APP_NAME=App
# APP_URL=
# ── Tuning knobs ───────────────────────────────────────────────────────────
# REQUEST_TIMEOUT=120 # seconds, LLM/HTTP calls
# THREAD_MAX_WORKERS=4 # pf_core.parallel default pool size
# MAX_PER_PAGE=200 # pagination cap
# ID_LENGTH=12 # nanoid length
# URL_CHECK_TIMEOUT=10 # URL-liveness check ([http])
# URL_LIVENESS_DISABLED= # 1/true to skip liveness checks
# URL_LIVENESS_TTL_SECONDS=86400 # cached liveness verdict
# URL_LIVENESS_NEGATIVE_TTL_SECONDS=300 # transient verdict (timeout/error/5xx)
# WAYBACK_TIMEOUT=15 # article-fetch Wayback fallback ([articles])
# ── Outbound HTTP safety ───────────────────────────────────────────────────
# URL_FETCH_ALLOW_PRIVATE=0 # 1 allows private/internal targets (SSRF guard off)
# PF_VERIFY_TLS=1 # 0 disables TLS verification for ALL outbound HTTP
# PF_FETCH_UA= # User-Agent for pf_core.fetch