feat(bilibili,twitter): yt-dlp exits bilibili; OpenCLI joins both

bilibili:
- live-verified 2026-06: bilibili 412-blocks yt-dlp in every
  configuration (latest version, direct, proxied, warmed cookies) while
  bili-cli works fine without login — so yt-dlp no longer serves this
  channel (it remains the YouTube backend)
- backends = [bili-cli, OpenCLI, B站搜索 API]: bili-cli covers
  search/hot/rank/video-detail/audio, OpenCLI adds subtitles through the
  browser session, the search API is the zero-dependency fallback
- when a broken candidate is bypassed by a working fallback, its
  reinstall prescription is appended to the winning message instead of
  being swallowed
- skill docs (social.md + video.md): "do NOT use yt-dlp for bilibili"
  warning, bili-cli/OpenCLI command groups, curl fallback recipe,
  B站 audio transcription path via `bili audio` + agent-reach transcribe

twitter:
- OpenCLI joins as the middle candidate [twitter-cli, OpenCLI, bird]
- social.md: explicit 4-step search retry chain (retry → upgrade →
  OpenCLI → stable-command detour)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Pnant
2026-06-11 16:18:00 +08:00
parent d7551bf19d
commit 2c766af477
5 changed files with 226 additions and 111 deletions
+34 -20
View File
@@ -50,35 +50,48 @@ agent-reach transcribe ./local_audio.mp3 -o /tmp/transcript.txt
> 需要先配置 key`agent-reach configure groq-key gsk_xxx`(免费,console.groq.com
> 或 `agent-reach configure openai-key sk-xxx`。默认 auto 模式:groq 失败自动降级 openai。
## B站 / Bilibili (yt-dlp + bili-cli)
## B站 / Bilibilibili-cli 为主,OpenCLI 补字幕)
### 视频元数据 (yt-dlp)
> ⚠️ **不要用 yt-dlp 读 B站**B站风控已全面 412 拦截 yt-dlp(实测最新版、直连/代理/带 Cookie 全部无效)。yt-dlp 只用于 YouTube。
### 视频详情/搜索/热门/排行 (bili-cli,只读无需登录)
```bash
yt-dlp --dump-json "https://www.bilibili.com/video/BVxxx"
```
# 视频详情(标题/UP主/时长/播放互动数据/字幕可用性)
bili video BVxxx
### 字幕 (yt-dlp)
```bash
yt-dlp --write-sub --write-auto-sub --sub-lang "zh-Hans,zh,en" --convert-subs vtt --skip-download -o "/tmp/%(id)s" "URL"
```
### 搜索/热门/排行 (bili-cli)
```bash
# 搜索视频
bili search "query" --type video -n 5
# 热门视频
# 热门视频 / 排行榜
bili hot -n 10
# 排行榜
bili rank -n 10
# 下载音频并切分为 ASR-ready WAV(无字幕时配合 agent-reach transcribe 转写)
bili audio BVxxx
```
> **412 风控**: 海外 IP 必须提供 Cookie`--cookies-from-browser chrome` 或 `--cookies /path/to/cookies.txt`),国内 IP 一般不受影响。
> **安装 bili-cli**: `pipx install bilibili-cli`,然后 `bili login` 扫码登录。
### 字幕 (OpenCLI,需要桌面 Chrome)
```bash
# 字幕逐句带时间轴
opencli bilibili subtitle BVxxx
# OpenCLI 也能搜索/读视频元数据(备选)
opencli bilibili search "query" -f yaml
opencli bilibili video BVxxx -f yaml
```
### 零配置兜底:搜索 API 直连
```bash
UA="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36"
curl -s -c /tmp/bili_ck.txt -o /dev/null -A "$UA" "https://www.bilibili.com/"
curl -s -b /tmp/bili_ck.txt -A "$UA" -e "https://www.bilibili.com/" \
"https://api.bilibili.com/x/web-interface/search/all/v2?keyword=QUERY&page=1"
```
> **安装 bili-cli**: `pipx install bilibili-cli`(上游 2026-03 起停更但实测健康;只读场景无需登录,`bili login` 扫码可解锁动态/收藏等个人功能)。
## 小宇宙播客 / Xiaoyuzhou Podcast
@@ -111,6 +124,7 @@ agent-reach doctor
| 场景 | 推荐工具 |
|-----|---------|
| YouTube 字幕 | yt-dlp |
| B站字幕 | yt-dlp |
| B站视频详情/搜索 | bili-cli |
| B站字幕 | opencli bilibili subtitle |
| 播客转录 | 小宇宙 transcribe.sh |
| 无字幕音视频 | agent-reach transcribe |
| 无字幕音视频 | agent-reach transcribeB站音频先 `bili audio` |