Repository navigation
Expand file tree
/
Copy path.env.example
More file actions
95 lines (82 loc) · 4.03 KB
/
Copy path.env.example
File metadata and controls
95 lines (82 loc) · 4.03 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
83
84
85
86
87
88
89
90
91
92
93
94
95
# ---- Convex ----
# Get these by running: npx convex dev
# Convex will create a project and auto-populate your .env.local.
CONVEX_DEPLOYMENT=
CONVEX_URL=
VITE_CONVEX_URL=
# ---- Sendblue (iMessage bridge) ----
# Sign up at https://sendblue.com, get your API keys + provisioned number.
# Webhook URL you'll set in Sendblue dashboard: <PUBLIC_URL>/sendblue/webhook
#
# SENDBLUE_FROM_NUMBER MUST be your Sendblue-provisioned number (the one
# people text TO), not your personal cell. Sendblue's API requires it.
SENDBLUE_API_KEY=
SENDBLUE_API_SECRET=
SENDBLUE_FROM_NUMBER=
# ---- Claude model ----
# Uses your Claude Code subscription automatically — no separate API key needed.
# Override with ANTHROPIC_API_KEY if you want to bypass the subscription.
# This is the *fallback*; runtime overrides set via the iMessage set_model tool
# (stored in the Convex `settings` table) take precedence.
BOOP_MODEL=claude-sonnet-4-6
# ANTHROPIC_API_KEY=
# ---- Proactive email surfacing ----
# Phone number that receives proactive iMessage notices when the Gmail watcher
# decides an inbound email is worth surfacing. Single-user assumption for v1.
# Without this, the webhook still registers but notices are dropped.
BOOP_USER_PHONE=
# Set to "false" to skip auto-registering the Composio webhook URL on each
# `npm run dev`. Use when you want to manage the subscription manually.
# COMPOSIO_AUTO_WEBHOOK=
# ---- Upgrade notifications ----
# On `npm run dev`, Boop checks your `upstream` remote for new commits and
# prints a banner with the commit count + a reminder to run `/upgrade-boop`.
# Set to `false` to silence the check entirely.
# BOOP_UPSTREAM_CHECK=true
# ---- Embeddings (optional — paid providers for memory recall) ----
# Tried in order: Voyage → OpenAI → local Transformers.js (Xenova/bge-large-
# en-v1.5, 1024-dim, free, ~440MB one-time download). Leave both blank to
# use the local fallback. All three produce 1024-dim vectors so the Convex
# index stays compatible regardless of which is active.
# VOYAGE_API_KEY=
# OPENAI_API_KEY=
# ---- Server ----
PORT=3456
# Public URL for your server.
# - Leave as http://localhost:3456 if you're using free ngrok (URL changes each restart).
# - Set to your stable public URL (e.g. https://boop.mydomain.com) if you use
# Cloudflare Tunnel, a Caddy server, or any other tunnel with a fixed URL —
# `npm run dev` will then skip ngrok.
PUBLIC_URL=http://localhost:3456
# Optional: ngrok RESERVED domain (paid plan). Example: "boop.ngrok.app".
# When set, `npm run dev` launches ngrok with --domain=$NGROK_DOMAIN so your
# public URL stays the same across restarts.
# NGROK_DOMAIN=
# When free-plan ngrok is in use, `npm run dev` auto-registers the new tunnel
# URL with Sendblue as the inbound (receive) webhook so you don't have to
# paste it into the dashboard. Set to "false" to disable this behavior.
# SENDBLUE_AUTO_WEBHOOK=true
# ---- Composio (1000+ integrations, zero-code) ----
# Get an API key at https://app.composio.dev/developers.
# Once set, connect toolkits (Gmail, Slack, GitHub, Linear, …) from the
# Debug UI's Connections tab. Each connected toolkit becomes available to
# the agent via spawn_agent(integrations: [...]).
COMPOSIO_API_KEY=
# Optional: stable user id Composio keys connections under. Defaults to
# "boop-default". Override only if you already manage Composio sessions
# elsewhere and want Boop to reuse that user.
# COMPOSIO_USER_ID=
# --- Filesystem access (optional) ---
# off = no FS tools on any agent (default)
# sandbox = agents get FS tools scoped to BOOP_WORKSPACE_DIR
# full = legacy "VPS-wide" Claude Code preset (existing behavior)
BOOP_VPS_FILESYSTEM_ACCESS=off
# Workspace root used when BOOP_VPS_FILESYSTEM_ACCESS=sandbox.
# Created automatically if missing. Default: ~/boop-workspace
BOOP_WORKSPACE_DIR=
# --- Image retention (optional) ---
# Days to keep iMessage-received image bytes. Images referenced by a
# memory record are kept indefinitely regardless of this setting.
# Set to 0 to disable cleanup (debug only).
BOOP_IMAGE_RETENTION_DAYS=3
BOOP_IMAGE_CLEANUP_INTERVAL_MS=43200000