Files
jackwener__opencli/docs/adapters/browser/xiaoe.md
yulin7645 6364934423 feat(xiaoe): add 小鹅通 (Xiaoe-tech) student platform adapter (#617)
* feat(xiaoe): add 小鹅通 (Xiaoe-tech) student platform adapter

Add 5 YAML adapters for 小鹅通 (xiaoe-tech.com), the leading Chinese
online education platform:

- courses: list purchased courses with URLs and shop names
- detail: course info (name, price, user count, shop)
- catalog: full course outline supporting normal courses (type 50),
  columns (type 6), and big columns (type 8)
- play-url: get M3U8 play URL via direct API for video courses,
  and Vue component tree search + Performance API polling for
  live replay courses
- content: extract rich-text page content as plain text

Technical notes:
- Strategy: cookie (reuses Chrome login session)
- Framework: Vue 2 + Vuex Store (SPA)
- Video courses use a two-step API chain:
  detail_info.get → play_sign → getPlayUrl → M3U8
- Live replays use Performance API + Vue data tree polling
- Catalog expands chapters via Vue component method getSecitonList()
- Supports multiple stores (cross-domain cookie sharing via
  study.xiaoe-tech.com)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* review: stop truncating xiaoe content

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: jackwener <jakevingoo@gmail.com>
2026-04-04 15:54:14 +08:00

1.8 KiB

Xiaoe (小鹅通)

Mode: 🔐 Browser · Domain: study.xiaoe-tech.com / *.h5.xet.citv.cn

Commands

Command Description
opencli xiaoe courses List purchased courses with course URLs and shop names
opencli xiaoe detail <url> Read course metadata such as title, price, student count, and shop
opencli xiaoe catalog <url> Read the full course outline for normal courses, columns, and big columns
opencli xiaoe play-url <url> Resolve the M3U8 playback URL for video lessons or live replays
opencli xiaoe content <url> Extract rich-text lesson or page content as plain text

Usage Examples

# List purchased courses
opencli xiaoe courses --limit 10

# Read course metadata
opencli xiaoe detail "https://appxxxx.h5.xet.citv.cn/p/course/ecourse/v_xxxxx"

# Read the course outline
opencli xiaoe catalog "https://appxxxx.h5.xet.citv.cn/p/course/ecourse/v_xxxxx"

# Resolve a lesson M3U8 URL
opencli xiaoe play-url "https://appxxxx.h5.xet.citv.cn/v1/course/video/v_xxxxx?product_id=p_xxxxx" -f json

# Extract page content
opencli xiaoe content "https://appxxxx.h5.xet.citv.cn/v1/course/text/t_xxxxx"

Prerequisites

Notes

  • courses starts from study.xiaoe-tech.com and matches purchased course cards back to Vue data to recover shop names and course URLs
  • catalog supports normal courses, columns, and big columns by reading Vuex / Vue component state after the course page loads
  • play-url uses a direct API path for video lessons and falls back to runtime resource inspection for live replays
  • Cross-shop course URLs are preserved, so you can take a URL from courses and pass it directly into detail, catalog, play-url, or content