# CodeAssist 전용 OpenCode 서버 (opencode/ 폴더에서 `opencode serve --port 4096`) OPENCODE_BASE_URL=http://localhost:4096 OPENCODE_AGENT=codeassist # 이미지 요청만 이 모델로 (로컬 OpenRouter). 고객사는 비우고 AAF_FABRIX_VISION_MODEL_ID 사용 OPENCODE_VISION_MODEL=openrouter/google/gemma-4-31b-it # 고객사는 gateway/605 (deploy.sh 가 채움) # 토큰 서명 키 (비우면 data/.auth_secret 자동 생성) AUTH_SECRET= # DB — 비우면 SQLite(data/app.db) DB_HOST= DB_PORT=5432 DB_USER= DB_PASSWORD= DB_NAME= DB_SCHEMA=codeassist # SSL: prefer(기본, 되면 씀) / require / disable. 고객사 내부 PG 는 SSL 미지원이라 prefer 면 알아서 평문 DB_SSLMODE=prefer # 프론트 origin (dev 는 Vite proxy 라 안 탐. Tauri 빌드용) CORS_ORIGINS=http://localhost:15173,http://tauri.localhost,tauri://localhost # 채팅 스트림 타임아웃(초) — Gemma4 느릴 때 올림. 첫 이벤트까지 / 한 턴 전체 STREAM_FIRST_EVENT_TIMEOUT_S=300 STREAM_TURN_TIMEOUT_S=600 # ── 사내 LLM(FabriX) — 고객사 전용. 개발(OpenRouter)에선 전부 비워둠 ── # OpenCode 는 opencode/opencode.json 을 FabriX 용으로 렌더해서(opencode/render_opencode.py) 이 서버의 /api/ito 로 붙음. AAF_FABRIX_BASE_URL= AAF_FABRIX_MODEL_ID=581 AAF_FABRIX_MODELS=581:GaussO Think,339:GaussO Flash,605:Gemma4 AAF_FABRIX_CLIENT_KEY= AAF_FABRIX_OPENAPI_TOKEN= AAF_FABRIX_USER_EMAIL= # 이미지 붙은 요청만 이 모델로. Gemma4 가 텍스트엔 너무 느려서(안녕 94s vs 339 0.7s) 기본은 339 AAF_FABRIX_VISION_MODEL_ID=605 # 게이트웨이마다 다를 수 있는 것 — 보통 비워둠(401 나면 자동으로 다른 형식도 시도함) AAF_FABRIX_CLIENT_HEADER= AAF_FABRIX_TOKEN_PREFIX=bearer AAF_FABRIX_MAX_TOKENS= AAF_RELAY_STREAM_USAGE= # FabriX 스트림 타임아웃(초) — 조각 사이 무수신 / 전체. 기본 300 / 600 AAF_FABRIX_READ_TIMEOUT_S=300 AAF_FABRIX_TOTAL_TIMEOUT_S=600 # OpenCode → 이 서버 사이 잠금. 같은 PC 안이면 비워도 됨. 서버를 바깥에 열면 반드시 랜덤 문자열 AAF_GATEWAY_KEY= # OpenCode 가 붙을 이 서버 포트 (render_opencode.py 가 씀) BACKEND_PORT=8001 # ── SAP 조회 MCP (고객사 전용, -12 에 따로 띄움. ABAP_OPENCODE mcp.bundle.cjs 재활용) ── # MCP_API_KEY 가 있으면 render_opencode.py 가 OpenCode 에 sap-icf 를 켬. 비우면 꺼짐(로컬). MCP_PORT=8888 MCP_API_KEY= # 아래는 MCP 프로세스가 읽는 SAP 접속값 — ABAP_OPENCODE bare/.env 와 같은 키 SAP_HOST_ICF= SAP_USERNAME_ICF= SAP_PASSWORD_ICF= SAP_CLIENT_ICF=100 SAP_VERIFY_SSL_ICF=false SAP_API_BASE_ICF= # ── ABAP 소스 인덱스(ABAP_INDEXING, 별도 서버 :8100) — OpenCode 툴 abap_index_* 가 씀 ── # 비우면 기본 127.0.0.1:8100. 서버가 없어도 앱은 돌아감(툴이 "없음"으로 답하고 생성 코드로). ABAP_INDEX_URL=http://127.0.0.1:8100 # ── Langfuse(LLM 관측, 자체 호스팅 deploy/langfuse/) — HOST 비우면 안 보냄 ── LANGFUSE_HOST= LANGFUSE_PUBLIC_KEY= LANGFUSE_SECRET_KEY= # Phoenix(도커 없이 뜨는 관측 서버, deploy/phoenix/) — 주소만. 비우면 안 보냄. 예: http://127.0.0.1:8915 PHOENIX_HOST= # /phoenix/ 관리자 화면 비번(브라우저 Basic 인증, 아이디는 아무거나). 비우면 잠금 없음 PHOENIX_UI_PASSWORD= # 1 이면 FabriX 호출 원문(프롬프트 전체·응답)도 별도 fabrix 트레이스로. 기본 0 — 질문 하나 = 행 하나 유지 LANGFUSE_TRACE_GATEWAY=0