How xs19895310614/english-learning-agent works
English Learning Agent is a Windows-oriented desktop app for spoken-English practice and vocabulary study. A learner sends a message from the React interface; the Electron bridge dispatches it to DeepSeek-backed chat, which uses saved conversation history and persists the exchange. The same interface supports dictionary lookup, enrichment, and saving words, phrases, or sentences as study cards. Lookup prioritizes the local ECDICT database and can fall back to DeepSeek; Collins lookup is a separate capability. IPC and preload wiring is represented from the API contract and file layout; their source was not sampled.
Main entry points: ipc.ts IPC handlers · dictionary.ts Lookup router · deepseek.ts Chat service · store.ts User data store
Components 14
Desktop interface
- React app
src/App.tsx - Electron main
electron/main.ts - Preload bridge
electron/preload.ts - IPC handlers
electron/ipc.ts
Conversation practice
- Chat service
electron/deepseek.ts
Vocabulary study
- Card relations
src/study-analysis.ts - Lookup router
electron/dictionary.ts - ECDICT lookup
electron/local-dictionary.ts - ECDICT database
resources/dictionary - Collins lookup
electron/collins.ts
Local persistence
- User data store
electron/store.ts
Other components
- Learner
- DeepSeek API
- Collins Dictionary
Connections 19
- Learner → React app: uses
- Electron main → IPC handlers: registers handlers
- Electron main → Preload bridge: loads bridge
- Electron main → ECDICT lookup: warms lookup
- React app → Preload bridge: invokes API
- Preload bridge → IPC handlers: forwards requests
- IPC handlers → Chat service: dispatches chat
- Chat service → DeepSeek API: requests replies
- Chat service → User data store: reads and writes history
- IPC handlers → Lookup router: dispatches lookup
- Lookup router → ECDICT lookup: tries local lookup
- ECDICT lookup → ECDICT database: reads entries
- Lookup router → Chat service: requests AI lookup
- Lookup router → User data store: reads and writes cache
- IPC handlers → Collins lookup: opens Collins
- Collins lookup → Collins Dictionary: fetches pages
- Collins lookup → User data store: reads and writes cache
- IPC handlers → User data store: handles card and settings data
- React app → Card relations: finds card relations