feat(install): split into core + optional channels with --channels flag (#237)

Base install now only sets up lightweight zero-config channels (Web, YouTube,
GitHub, RSS, Exa, V2EX, Bilibili basic). Optional channels (Twitter, Weibo,
WeChat, Xiaoyuzhou, XiaoHongShu, Reddit, Bilibili full, Douyin, LinkedIn)
are installed on demand via --channels flag.

- Add --channels param to install subcommand
- Extract twitter/xhs/reddit/bili into independent install functions
- Remove heavy deps (weibo/xiaoyuzhou/wechat/twitter-cli/xhs-cli) from
  default _install_system_deps() and _install_mcporter()
- Cookie import only triggers when cookie-needing channels are selected
- Doctor output: inactive optional channels summarized in one line
- install.md: two-step flow (basics → ask user which channels)

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Pnant
2026-03-31 18:19:59 +08:00
committed by GitHub
parent bc2d554e13
commit 75bc98a7eb
4 changed files with 216 additions and 162 deletions
+2 -3
View File
@@ -95,7 +95,6 @@ class TestDoctor:
plain = re.sub(r"\[[^\]]*\]", "", report)
assert "Agent Reach" in plain
assert "装好即用:" in plain
assert "搜索(mcporter 即可解锁):" in plain
assert "配置后可用:" in plain
assert "1/3 个渠道可用" in plain
assert "agent-reach setup" in plain
# Inactive optional channels should be summarized in one line
assert "可选渠道可以解锁" in plain