Repository navigation
Expand file tree
/
Copy path.env.example
More file actions
78 lines (67 loc) · 4.21 KB
/
Copy path.env.example
File metadata and controls
78 lines (67 loc) · 4.21 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
# Required
ANTHROPIC_API_KEY=
# Optional — route Anthropic calls through Cloudflare AI Gateway for observability,
# caching, and fallback config. See docs/architecture/ai-gateway.md. The gateway
# URL is the Anthropic sub-path from a gateway you've created in the CF dashboard.
# Covers direct SDK calls from workers; managed-agent internal loops bypass it.
# ANTHROPIC_BASE_URL=https://gateway.ai.cloudflare.com/v1/<account-id>/<gateway-id>/anthropic
# AI_GATEWAY_TOKEN= # only needed when the gateway is in authenticated mode
# Required for scrape sources (Cloudflare Browser Rendering)
CLOUDFLARE_ACCOUNT_ID=
CLOUDFLARE_API_TOKEN=
# Optional
GITHUB_TOKEN=
RELEASES_DATA_DIR=~/.releases
# Optional Anthropic model overrides. Unset uses the pins in packages/lib/src/models.ts.
# RELEASES_INGEST_MODEL=
# RELEASES_AGENT_MODEL=
# RELEASES_SUMMARY_MODEL=
# RELEASES_QUERY_MODEL=
# Remote mode (D1) — set both to route CLI operations through the API Worker.
# Compiled binaries default to https://api.releases.sh when RELEASES_API_URL is unset.
# RELEASES_API_URL=https://api.releases.sh
# RELEASES_API_KEY=
# Worker runtime secrets for local `wrangler dev` live in each worker's
# `.dev.vars` — see apps/{api,mcp,webhooks}/.dev.vars.example.
# API worker cron vars (set in apps/api/wrangler.jsonc, not here) — documented
# for reference. Both CRON_ENABLED and SCRAPE_AGENT_CRON_ENABLED must be truthy
# for the daily 01:00 UTC scrape-no-feed sweep to fire.
# SCRAPE_AGENT_CRON_ENABLED=true
# SCRAPE_AGENT_MAX_SESSIONS=5 # bounded-rollout default; bump to 20 once healthy
# SEARCH_QUERY_RETENTION_DAYS=90 # nightly 05:00 UTC sweep deletes rows older than this many days
# Tier-1 alert notifications (see apps/api/src/lib/email/send-alert.ts).
# EMAIL_NOTIFY_ENABLED, EMAIL_NOTIFY_TO, and EMAIL_FROM are set in wrangler.jsonc.
# ALERT_DEDUP_KV reuses the LATEST_CACHE KV namespace (no new resource needed).
# In the webhooks worker the same EMAIL_NOTIFY_* vars control auto-disable / DLQ alerts.
# scripts/eval-release-content-providers.ts (issue #851) — cross-provider
# model comparison. Reuses ANTHROPIC_API_KEY for the Anthropic Haiku 5.5
# baseline and CLOUDFLARE_ACCOUNT_ID + CLOUDFLARE_API_TOKEN (already
# required above) for the Workers AI providers (Kimi K2.6, GLM-4.7-Flash,
# Qwen3 30B, Llama 4 Scout, GPT-OSS-120B). No third-party keys needed.
# Gate the tool-use loop for extraction of large bodies (>50K tokens). When false,
# every fetch inlines the body into a single /v1/messages call (legacy behavior).
# When true, bodies above the threshold route through a multi-round tool-use loop
# that pulls body slices on demand — drops cost on monolithic JSON/HTML sources
# (e.g. PostHog's 1.26 MB page-data.json). See
# docs/superpowers/specs/2026-04-24-large-body-extract-tool-loop-design.md.
# Per-source override: set source.metadata.extractStrategy = "toolloop".
# EXTRACT_TOOLLOOP_ENABLED=false
# Feed content enrichment (#feed-enrich). When a feed item arrives summary-only,
# follow its link and capture the full article — cheap fetch → AI extract,
# escalating to Cloudflare Browser Rendering only when the result is still thin.
# Set in wrangler.jsonc (not .env); shown here for reference. Ships off in prod,
# on in staging. Render escalation reuses CLOUDFLARE_ACCOUNT_ID +
# CLOUDFLARE_API_TOKEN (above); without them, enrichment stays on the cheap path.
# Per-source override: set source.metadata.feedContentDepth = "summary-only".
# FEED_ENRICH_ENABLED=false
# FEED_ENRICH_MAX_PER_FIRE=10 # max enrich attempts per source per cron fire
# FEED_THIN_CHARS=600 # char floor below which a feed body counts as "thin"
# Firecrawl monitoring — external scrape + change-detection backend for `scrape`
# sources behind an anti-bot challenge our own Browser Rendering can't clear
# (e.g. OpenAI help pages). Toggled per source via metadata.firecrawl; see
# docs/architecture/firecrawl-monitoring.md. Both are backend (API worker) only
# and live in Cloudflare Secrets Store in prod — never client-side. Note the key
# is _KEY, not _TOKEN. FIRECRAWL_WEBHOOK_SECRET is the shared secret echoed as the
# X-Firecrawl-Token header on inbound monitor.page webhooks (verified constant-time).
# FIRECRAWL_API_KEY=fc-...
# FIRECRAWL_WEBHOOK_SECRET=...