How 666666999999666/proxy works
JChatMind Proxy combines a Vue management console with a Spring service that authenticates users and forwards client API requests to configured LLM providers. The main serving path is an API client calling an LLM or generic proxy endpoint, which forwards upstream and records call results; the console separately supports authentication, monitoring, and administration. The README documents credential encryption, temporary proxy tokens, fallback, and header filtering, but credential implementation files are absent from the supplied tree, so their internal wiring is not shown.
Main entry points: views Console pages · LlmProxyController.java LLM endpoint · GenericProxyService.java Generic forwarding · DashboardApiController.java Dashboard API
Components 27
Management console
- Vue application
frontend/src/main.js - Console pages
frontend/src/views - API clients
frontend/src/api - HTTP utility
frontend/src/utils/api.js
Identity and access
- Auth endpoints
src/main/java/com/jchatmind/proxy/auth/controller/AuthController.java - Auth service
src/main/java/com/jchatmind/proxy/auth/service/AuthService.java - MFA service
src/main/java/com/jchatmind/proxy/auth/service/MfaService.java - JWT filter
src/main/java/com/jchatmind/proxy/auth/filter/JwtAuthenticationFilter.java - User repository
src/main/java/com/jchatmind/proxy/auth/repository/UserRepository.java - Token permissions
src/main/java/com/jchatmind/proxy/auth/AccessControlService.java
Proxy serving
- LLM endpoint
src/main/java/com/jchatmind/proxy/proxy/LlmProxyController.java - Generic endpoint
src/main/java/com/jchatmind/proxy/proxy/GenericProxyController.java - Generic forwarding
src/main/java/com/jchatmind/proxy/proxy/GenericProxyService.java - Proxy configuration
src/main/java/com/jchatmind/proxy/config/ProxyProperties.java
Operations and audit
- Dashboard API
src/main/java/com/jchatmind/proxy/audit/DashboardApiController.java - Provider health
src/main/java/com/jchatmind/proxy/proxy/ProviderHealthService.java - Health history
src/main/java/com/jchatmind/proxy/proxy/HealthHistoryService.java - Call logging
src/main/java/com/jchatmind/proxy/audit/service/ApiCallLogService.java - Call log store
src/main/java/com/jchatmind/proxy/audit/repository/ApiCallLogRepository.java - Audit endpoints
src/main/java/com/jchatmind/proxy/audit/controller/AuditLogController.java - Audit service
src/main/java/com/jchatmind/proxy/audit/service/AuditLogService.java - Audit store
src/main/java/com/jchatmind/proxy/audit/repository/AuditLogRepository.java - Config reload
src/main/java/com/jchatmind/proxy/config/ConfigWatchService.java
Other components
- Console user
- API client
- PostgreSQL
- LLM providers
Connections 32
- Console user → Vue application: uses
- Vue application → Console pages: renders
- Console pages → API clients: requests
- API clients → HTTP utility: uses
- HTTP utility → Auth endpoints: HTTP calls
- Auth endpoints → Auth service: delegates
- Auth service → User repository: reads/writes
- Auth service → MFA service: verifies MFA
- User repository → PostgreSQL: persists users
- API client → LLM endpoint: sends requests
- API client → Generic endpoint: sends requests
- LLM endpoint → LLM providers: forwards; fallback
- LLM endpoint → Call logging: records calls
- Generic endpoint → Generic forwarding: delegates
- Generic forwarding → LLM providers: forwards requests
- Generic forwarding → Call logging: records calls
- LLM endpoint → Proxy configuration: reads routing
- Generic forwarding → Proxy configuration: reads configuration
- Generic endpoint → Token permissions: checks permissions
- JWT filter → Auth endpoints: guards requests
- Console pages → Dashboard API: requests status
- Dashboard API → Provider health: reads health
- Dashboard API → Health history: reads history
- Dashboard API → Proxy configuration: reads models
- Call logging → Call log store: stores and queries
- Call log store → PostgreSQL: persists logs
- Console pages → Audit endpoints: requests audit
- Audit endpoints → Audit service: delegates
- Audit service → Audit store: queries and writes
- Audit store → PostgreSQL: persists audit
- Config reload → Proxy configuration: reloads configuration
- Config reload → Provider health: refreshes dependencies