How veinsurelee/auto-cx works
This is a Playwright-based Chaoxing learning assistant. Its main workflow logs in, discovers incomplete courses, reads lesson catalogs, then resumes each eligible lesson through assessment followed by natural video playback; it persists progress and reports outcomes. Separate entry points support read-only course progress and a visible video preview. The README documents additional quiz, concurrency, and recovery behavior beyond the sampled excerpts; those branches are included where paths are supported, while uncertain internal wiring is omitted.
Main entry points: lesson.mjs Lesson workflow · login.mjs Login workflow · course-worker.mjs Course worker · study-cli.mjs Study command
Components 24
Entry workflows
- Login workflow
src/login.mjs - Video preview
src/video/preview.mjs - Progress command
src/progress-cli.mjs - Study command
src/study-cli.mjs
Platform discovery
- Course discovery
src/platform/courses.mjs - Course navigation
src/platform/course-navigation.mjs - Lesson catalog
src/platform/task-manifest.mjs - Progress reader
src/platform/course-progress.mjs - Task status
src/platform/task-point-status.mjs
Lesson execution
- Course worker
src/learning/course-worker.mjs - Lesson scheduler
src/learning/scheduler.mjs - Lesson workflow
src/learning/lesson.mjs
Assessment and media
- Chapter assessment
src/assessment/chapter-quiz.mjs - Answer generation
src/assessment/answerer.mjs - Video pop-up quiz
src/assessment/video-popup.mjs - Video runner
src/video/runner.mjs - Media playback
src/video/media.mjs
Progress and records
- Study memo
src/persistence/memo.mjs - Study reports
src/persistence/study-report.mjs - Progress reports
src/persistence/report-builder.mjs
Other components
- User
- Chaoxing platform
- DeepSeek API
- Local artifacts
Connections 34
- User → Login workflow: starts login
- Login workflow → Chaoxing platform: authenticates
- Login workflow → Course discovery: discovers courses
- Course discovery → Chaoxing platform: reads courses
- Login workflow → Course navigation: opens target
- Course navigation → Chaoxing platform: navigates
- Login workflow → Local artifacts: writes session and courses
- User → Progress command: requests progress
- Progress command → Progress reader: reads catalogs
- Progress reader → Chaoxing platform: reads lesson state
- Progress command → Progress reports: builds reports
- Progress reports → Local artifacts: writes progress
- User → Study command: starts study
- Study command → Course worker: runs courses
- Course worker → Lesson catalog: opens catalogs
- Course worker → Lesson scheduler: schedules lessons
- Course worker → Study memo: refreshes catalog
- Course worker → Lesson workflow: processes lessons
- Lesson scheduler → Lesson workflow: dispatches work
- Lesson workflow → Lesson catalog: discovers tasks
- Lesson workflow → Chapter assessment: handles assessment
- Chapter assessment → Answer generation: requests answers
- Answer generation → DeepSeek API: requests completion
- Lesson workflow → Video runner: runs video tasks
- Video runner → Media playback: controls playback
- Lesson workflow → Task status: reads task status
- Lesson workflow → Study memo: updates lesson state
- Lesson workflow → Video pop-up quiz: handles embedded quizzes
- Study command → Study reports: builds study report
- Study command → Study memo: loads and saves memo
- Study memo → Local artifacts: persists memo
- Study reports → Local artifacts: writes study reports
- User → Video preview: requests preview
- Video preview → Chaoxing platform: plays lesson video