kyush-llm-router/AGENTS.md
2026-03-25 17:38:51 +09:00

2.6 KiB

Kyush LLM Router

다중 사용자 LLM 라우팅 프록시. API 키 인증, 백엔드 라우팅, 스크립트 기반 요청/응답 조작, 사용량 모니터링을 제공한다.

Tech Stack

pnpm monorepo | Express 5 + TypeScript | Solid.js + Vite | SQLite (better-sqlite3) | isolated-vm

Project Structure

server/          Express 백엔드 (포트 3000)
client/          Solid.js 어드민 대시보드 (포트 3002)
shared/          공유 TypeScript 타입
database/        SQL 스키마 원본
docs/            세부 문서
scripts/         개발 스크립트

Entry Points

  • Server: server/src/index.ts
  • Client: client/src/index.tsx
  • Shared types: shared/types.ts
  • DB schema: database/schema.sql, database/analytics-schema.sql

Key Concepts

인증: Authorization: Bearer <api_key>auth.ts 미들웨어 → 사용자 식별 + 권한 로드

요청 흐름:

Client → Auth → Script(onRequest) → RouterService → Backend → Script(onResponse) → Response
                                                                                  → AnalyticsService(log)

Script Engine: isolated-vm 샌드박스에서 JS 실행. 3가지 타입: per-user, per-backend, per-user-backend

Database: core.db (users, backends, permissions, user_scripts) + analytics.db (request_logs, usage_stats, backend_metrics)

Development

pnpm install        # 의존성 설치
pnpm run dev        # 서버 + 클라이언트 동시 실행
pnpm test           # 서버 테스트 실행
pnpm run bench      # 벤치마크 실행

Environment Variables

Variable Default Description
SERVER_PORT 3000 Express 서버 포트
CLIENT_PORT 3001 Vite 개발 서버 포트
CORE_DB_PATH ./data/core.db Core DB 경로
ANALYTICS_DB_PATH ./data/analytics.db Analytics DB 경로
ADMIN_PASSWORD (필수) 어드민 비밀번호
CORS_ORIGINS localhost origins 허용 CORS 오리진

Detailed Docs

클라이언트 중심

서버 중심