-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlpb.conf.env
More file actions
79 lines (73 loc) · 4.74 KB
/
Copy pathlpb.conf.env
File metadata and controls
79 lines (73 loc) · 4.74 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
# lpb.conf.env — LocalPibox Devstack runtime configuration
#
# This file defines how the stack RUNS — editor settings, LLM endpoints,
# browser config, API keys, and persistence paths. It is consumed by:
# - start.sh (first defaults layer, before workspace .env)
# - lpb.py (runtime env injection into container)
# - Dockerfile (ENV defaults as fallback)
#
# Loading priority (lowest to highest):
# 1. lpb.conf.env — runtime defaults (baked into image)
# 2. workspace .env — per-project overrides
# 3. shell env — user overrides (bare or LPB_ name, bare wins)
#
# A user who forks the config repo changes this file to customize their
# runtime environment. The developer of devstack chooses the stack shape.
#
# ─── Editor ─────────────────────────────────────────────────────────────
# OpenVSCode connection token — leave empty for random token on every start.
# Set to a custom value for persistence across restarts.
LPB_CONNECTION_TOKEN=
# Editor host — 0.0.0.0 for LAN, 127.0.0.1 for local-only
LPB_EDITOR_HOST=0.0.0.0
# Editor port
LPB_ED_PORT=3000
# ─── LLM ────────────────────────────────────────────────────────────────
# Lemonade local LLM server
LPB_LEMONADE_BASE_URL=http://127.0.0.1:13305/v1
# OpenRouter overflow provider (not needed with Lemonade)
LPB_OPENROUTER_BASE_URL=https://openrouter.ai/api/v1
# ─── Context Window ─────────────────────────────────────────────────────
# max_tokens = context_window * LPB_MAX_TOKENS_CONTEXT_RATIO
# Default: 0.06 (6%) — reduced from 0.125 for Qwen thinking models.
# Prevents overflow when thinking blocks push prompt+max_tokens past 262k.
LPB_MAX_TOKENS_CONTEXT_RATIO=0.06
# ─── Persistence ────────────────────────────────────────────────────────
# Launcher-time host state directory → bind-mounted into the container at
# /home/lpb/.pi (the Pi config home). Persists across container rebuilds.
# ${HOME} resolves on the HOST (where lpb runs); start.sh uses its own
# fixed container paths and never consumes these.
LPB_STATE_DIR=${HOME}/.lpb-stack/state
# Launcher-time host dir for agent-browser state → /home/lpb/.agent-browser
LPB_BROWSER_DIR=${HOME}/.lpb-stack/agent-browser
# ─── Browser ────────────────────────────────────────────────────────────
# Agent-browser session (uses PI_WORKTREE_ID for worktree isolation)
LPB_AGENT_BROWSER_SESSION=${PI_WORKTREE_ID}
# Chrome launch args (container-safe)
# --no-sandbox : required in containers (no special privileges)
# --no-first-run : skip first-run setup dialog
# --disable-gpu : avoid GPU issues without GPU passthrough
# --disable-crashpad : crash dumps not useful in containers
LPB_AGENT_BROWSER_ARGS=--no-sandbox --no-first-run --disable-gpu --disable-crashpad
# Max output length to prevent context flooding
LPB_AGENT_BROWSER_MAX_OUTPUT=4000
# LLM safety markers in content extraction
LPB_AGENT_BROWSER_CONTENT_BOUNDARIES=true
# Action categories requiring approval
LPB_AGENT_BROWSER_CONFIRM_ACTIONS=delete,download,cookie_delete,file_access
# Daemon idle timeout (5 minutes) — auto-cleanup after inactivity
LPB_AGENT_BROWSER_IDLE_TIMEOUT_MS=300000
# ─── Misc ───────────────────────────────────────────────────────────────
# Persist gh CLI auth to ~/.config/gh inside container
LPB_PERSIST_GH_CONFIG=true
LPB_PERSIST_GH_CONFIG=true
# ─── GHCR Token (image pulls) ──────────────────────────────────────────
# Read-only PAT for GHCR pulls (personal account requires auth).
# Create at: https://github.com/settings/tokens scope: read:packages
# Leave empty to use GITHUB_TOKEN / LPB_GITHUB_TOKEN from environment.
GHCR_TOKEN=
GHCR_USERNAME=lpb-stack
# ─── Agent Date/Time ──────────────────────────────────────────────────
# Set by start.sh at runtime (via $(date)) so the agent always knows
# the current date/time. Available as PI_DATE and PI_TIME environment
# variables. Pi CLI reads these from its own env on startup.