Skip to content

feat(xiaoyuzhou): add podcast platform adapter#53

Merged
jackwener merged 1 commit intojackwener:mainfrom
Astro-Han:worktree-feat-xiaoyuzhou
Mar 18, 2026
Merged

feat(xiaoyuzhou): add podcast platform adapter#53
jackwener merged 1 commit intojackwener:mainfrom
Astro-Han:worktree-feat-xiaoyuzhou

Conversation

@Astro-Han
Copy link
Contributor

Summary

Add 3 new commands for Xiaoyuzhou (小宇宙) podcast platform, covering the "profile → list → detail" workflow:

  • xiaoyuzhou podcast <id> — podcast profile (title, author, subscribers, episode count, last updated)
  • xiaoyuzhou podcast-episodes <id> [--limit N] — recent episodes list (up to 15, SSR limit)
  • xiaoyuzhou episode <id> — episode details (plays, comments, likes, duration)

Data is extracted from Next.js __NEXT_DATA__ in SSR pages — no auth required (Strategy.PUBLIC, browser: false).

Closes #18 (Phase 1: public data commands)

Test plan

  • npm run build passes (90 entries in manifest)
  • npm run typecheck passes
  • 16 unit tests pass (npx vitest run src/clis/xiaoyuzhou/)
  • 3 E2E tests pass (npx vitest run tests/e2e/public-commands.test.ts)
  • opencli xiaoyuzhou podcast 6013f9f58e2f7ee375cf4216 returns data
  • opencli xiaoyuzhou podcast-episodes 6013f9f58e2f7ee375cf4216 --limit 3 returns 3 episodes
  • opencli xiaoyuzhou episode 69b3b675772ac2295bfc01d0 returns episode detail

Three public commands for Xiaoyuzhou (小宇宙) podcast platform:
- podcast <id>: view podcast profile
- podcast-episodes <id> [--limit]: list recent episodes (up to 15)
- episode <id>: view episode details

Uses __NEXT_DATA__ extraction from SSR pages, no auth required.
Includes unit tests (16), E2E tests (3), and README updates.
@jackwener jackwener merged commit 5e667b9 into jackwener:main Mar 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: 支持小宇宙(Xiaoyuzhou)播客平台

2 participants