forked from LiteReality/LiteReality-Agent
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmodels.env
More file actions
80 lines (68 loc) · 5.4 KB
/
Copy pathmodels.env
File metadata and controls
80 lines (68 loc) · 5.4 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
# ============================================================================
# models.env — ONE place to choose every model the pipeline uses.
# ============================================================================
# `LiteRealitySettings` loads this before `.env`; environment and `.env` values win.
#
# Precedence: anything already set in `.env` or your shell WINS (each line uses
# `${VAR:-default}`), so this file is the default source of truth, not a lock.
# ----------------------------------------------------------------------------
# ── Agent harness — WHICH coding agent drives the file-editing sessions ─────
# The harness is the agent loop (file tools, capability tools, hooks, event stream); the model
# knobs below are the brain inside it. They are independent.
# claude — logged-in `claude` CLI via claude_agent_sdk (default). Full capability: capability
# tools in-process, graceful step-budget wind-down, cost reporting, tool allowlist.
# codex — `codex exec` CLI. Capability tools bridged over stdio MCP; NO pre-tool hook (the
# step budget becomes a hard stop), NO tool allowlist (shell is always available),
# no cost reporting. Needs `codex` on PATH and a signed-in Codex account.
export LR_AGENT_PROVIDER="${LR_AGENT_PROVIDER:-claude}"
# Per-role overrides — EMPTY means "inherit LR_AGENT_PROVIDER". Set one to mix harnesses, e.g.
# author on claude and the procedural object agent on codex. (Left empty rather than
# `${...:-$LR_AGENT_PROVIDER}` because this file is read by python-dotenv, which does not expand
# a `$VAR` used as a default — it would arrive as the literal string.)
export LR_AUTHOR_PROVIDER="${LR_AUTHOR_PROVIDER:-}" # Room.py authoring
export LR_MATERIALS_PROVIDER="${LR_MATERIALS_PROVIDER:-}" # materials pass
export LR_QUALITY_PROVIDER="${LR_QUALITY_PROVIDER:-}" # QC pass
export LR_REFINE_PROVIDER="${LR_REFINE_PROVIDER:-}" # object refinement
export LR_PROCEDURAL_PROVIDER="${LR_PROCEDURAL_PROVIDER:-}" # articulated GLB
# Codex-only knobs (ignored when the harness is claude). The model names below are Codex's, not
# Claude's — the HARNESS_MODEL family does not apply to a codex session. Leave the model unset to
# take whatever `codex` is configured to use.
export LR_CODEX_MODEL="${LR_CODEX_MODEL:-}"
export LR_CODEX_EFFORT="${LR_CODEX_EFFORT:-high}" # minimal | low | medium | high
# ── Claude — reasoning / VLM (logged-in `claude` CLI, not metered) ──────────
# Options (any your `claude` CLI / provider can serve). Runs through the logged-in
# `claude` CLI (subscription, not per-token metered) — the $/MTok list prices below
# are for relative reference only:
# claude-fable-5 — most capable overall; highest cost ($10/$50) [This is way too expensive and does not outperform claude-opus-5]
# claude-opus-5 — current Opus; strongest agentic/coding tier ($5/$25) (default)
# claude-opus-4-8 — prior Opus ($5/$25)
# claude-opus-4-7 — older Opus ($5/$25)
# claude-sonnet-5 — balanced, cheaper ($3/$15)
# claude-haiku-4-5 — cheapest / fastest ($1/$5)
# The editor that authors & edits Room.py. Also drives classify, the VLM reader,
# and (unless overridden below) the critic. This is the main knob.
export HARNESS_MODEL="${HARNESS_MODEL:-claude-opus-5}"
# VLM critic. Defaults to HARNESS_MODEL — set only to run the critic on its own model.
export HARNESS_CRITIC_MODEL="${HARNESS_CRITIC_MODEL:-$HARNESS_MODEL}"
# Chair type-judge (frame/armrest/upholstery/base attributes during grouping).
# Same options as HARNESS_MODEL above — a stronger model here helps grouping accuracy.
export LR_CHAIR_JUDGE_MODEL="${LR_CHAIR_JUDGE_MODEL:-claude-opus-5}"
# Articulated-GLB procedural agent (doors/windows/articulated objects).
# Same options as HARNESS_MODEL above.
export LR_PROCEDURAL_MODEL="${LR_PROCEDURAL_MODEL:-claude-opus-5}"
# Completeness gate (reference-vs-render "is anything missing"). Runs once per build attempt per
# object and sits on the critical path. Defaults to HARNESS_MODEL. Lowering it is tempting but
# two-sided: too lenient ships objects missing parts, too strict costs a full agent rebuild.
export LR_COMPLETENESS_MODEL="${LR_COMPLETENESS_MODEL:-$HARNESS_MODEL}"
# ── OpenAI — reference image generation only ────────────────────────────────
# Options: gpt-image-2 (default, latest) · gpt-image-1 (legacy). Latest gives sharper, more
# faithful object renders; gpt-image-1 kept only as a fallback.
export LR_OPENAI_IMAGE_MODEL="${LR_OPENAI_IMAGE_MODEL:-gpt-image-2}"
# Which backend generates reference images: openai (default) or gemini. Naming a gemini-* model
# via --image-model switches on its own, so this is for pinning the choice across a whole run.
# Gemini needs $GEMINI_API_KEY and is roughly half the cost per reference (~$0.04 vs ~$0.08).
export LR_IMAGE_PROVIDER="${LR_IMAGE_PROVIDER:-openai}"
export LR_GEMINI_IMAGE_MODEL="${LR_GEMINI_IMAGE_MODEL:-gemini-2.5-flash-image}"
# ── Detection / embedding — HuggingFace checkpoints (local, CPU/GPU) ─────────
export LR_DINO_MODEL="${LR_DINO_MODEL:-IDEA-Research/grounding-dino-tiny}" # GroundingDINO (detect)
export LR_DINO_EMBED_MODEL="${LR_DINO_EMBED_MODEL:-facebook/dinov2-small}" # DINOv2 (grouping embeddings)