ForgeCAD / agent_core /config.py
KaiWu
feat(core): 可配置 artifact root 与 CadQuery STL 预览导出
557e100
import os
from pathlib import Path
try:
from dotenv import load_dotenv
except ImportError:
def load_dotenv(*args, **kwargs):
return False
load_dotenv(override=True)
if os.getenv("ANTHROPIC_BASE_URL"):
os.environ.pop("ANTHROPIC_AUTH_TOKEN", None)
WORKDIR = Path.cwd()
ARTIFACT_ROOT = Path(os.getenv("AIGC_ARTIFACT_ROOT", "outputs"))
if not ARTIFACT_ROOT.is_absolute():
ARTIFACT_ROOT = WORKDIR / ARTIFACT_ROOT
ARTIFACT_ROOT = ARTIFACT_ROOT.resolve()
DEFAULT_CADQUERY_OUTPUT_PATH = str(ARTIFACT_ROOT / "model.step")
DEFAULT_LUX3D_OUTPUT_PATH = str(ARTIFACT_ROOT)
STEP_SUFFIXES = (".step", ".stp")
IMAGE_SUFFIXES = (".png", ".jpg", ".jpeg", ".webp")
LUX3D_API_KEY_ENV = "LUX3D_API_KEY"
LUX3D_CREATE_URL = "https://api.luxreal.ai/global/lux3d/generate/task/create"
LUX3D_GET_URL = "https://api.luxreal.ai/global/lux3d/generate/task/get"
LUX3D_POLL_INTERVAL_SECONDS = 12
LUX3D_TIMEOUT_SECONDS = 600
def get_client():
from anthropic import Anthropic
return Anthropic(base_url=os.getenv("ANTHROPIC_BASE_URL"))
def get_model_id() -> str:
return os.environ["MODEL_ID"]