Metadata-Version: 2.4
Name: b2a777
Version: 0.5.0
Summary: B2A (Bilibili to Agents) — 让 AI Agent 能「观看」B站视频，现已原生支持 MCP 协议
Author: fanzhongli
License: MIT
Project-URL: Homepage, https://github.com/e8b298/B2A
Project-URL: Repository, https://github.com/e8b298/B2A.git
Project-URL: Bug-Tracker, https://github.com/e8b298/B2A/issues
Keywords: bilibili,agent,ai,subtitle,asr,video,multimodal,mcp
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Multimedia :: Video
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: httpx>=0.25.0
Requires-Dist: yt-dlp>=2024.0.0
Requires-Dist: python-dotenv>=1.0.0
Requires-Dist: mcp>=1.0.0
Provides-Extra: dev
Requires-Dist: pytest>=8.0.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.23.0; extra == "dev"
Requires-Dist: build>=1.0.0; extra == "dev"
Requires-Dist: twine>=5.0.0; extra == "dev"
Dynamic: license-file

# B2A

让 AI Agent（Claude Code、Codex、Cursor、Antigravity、Windsurf 等）原生具备「观看」和「倾听」B站视频能力的多模态 MCP 插件。

## 🌟 核心能力（v0.5.0 全新架构）
在 v0.5.0 的“三刀重构”后，B2A 彻底摒弃了可能造成大模型死锁或 C盘爆满的无脑提取模式。我们为所有 AI Agent 注入了**最省流、防剧情断层的分层多模态阅读能力**：

- **CC 字幕与元数据（最快）**：以毫秒级速度直接拉取视频信息与自带字幕文本，是了解视频的最快轨道。
- **全景故事板雷达（防反转架构）**：AI 将以极低分辨率均匀抽取视频的缩略图，以上帝视角综观整片节奏走向，绝不错过片尾的惊天大反转！
- **局部下钻特写（精准截取）**：看完缩略图后，AI 能敏锐地锁定特定时间段（如 `05:00-05:30`）重新索取对应的高清切片，精准看清 PPT 甚至代码！
- **强制缓存回收（绝对干净）**：你的存储守护神！分析结束后，AI 助手将强制调用清理协议，瞬间抹除由于抽帧与视频提取产生的各种残骸碎屑。

## 📦 安装说明

### 1. 安装 FFmpeg (前置依赖)
视觉抽帧和长音频处理依赖网络串流和 FFmpeg。如果忘记装，AI 会在聊天里贴心提示你如何一键上车：
- **Windows**: `winget install Gyan.FFmpeg` (安装后需重启终端)
- **macOS**: `brew install ffmpeg`
- **Linux**: `apt install ffmpeg`

### 2. 安装 B2A 插件
```bash
pip install b2a777
```

## 🔌 MCP 接入指南 (核心用法)

安装完成后，你可以将它原生挂载到各种大模型 IDE 的上下文中。**请根据你使用的客户端选择对应的配置方式：**

### 1. Claude Code
在 Claude Code 的聊天对话框中输入以下斜杠命令：
```text
/mcp add b2a-vision b2a-mcp
```

### 2. Codex
由于 Codex 同样深度集成了指令模式，可以直接在其命令行终端中添加挂载命令：
```text
/mcp add b2a-vision b2a-mcp
```

### 3. Cursor
1. 打开 **Cursor Settings** -> **Features** -> **MCP**
2. 点击 **+ Add New MCP Server**
3. **Type**: 选择 `command`
4. **Name**: `b2a-vision`
5. **Command**: `b2a-mcp`

### 4. Antigravity
作为直接的衍生环境，与 Claude Code 保持一致，在对话框内执行即可：
```text
/mcp add b2a-vision b2a-mcp
```

### 5. Windsurf
在配置目录下的 `mcp_config.json` 中添加：
```json
{
  "mcpServers": {
    "b2a-vision": {
      "command": "b2a-mcp",
      "args": []
    }
  }
}
```

### 6. Claude Desktop
在配置目录下的 `claude_desktop_config.json` 中添加：
```json
{
  "mcpServers": {
    "b2a-vision": {
      "command": "b2a-mcp",
      "args": []
    }
  }
}
```

## 💬 与 Agent 互动的提示词示例
配置好 MCP 后，你不需要写任何代码。得益于内置的 `[CRITICAL SAFETY LOCK]` 安全锁，Agent 会以极度省流和尊重你的方式展开工作：

- *"总结一下这个视频的核心观点：BV1xx411c7mD"* -> (Agent 瞬间抓取 CC 字幕并给你答复)
- *"帮我看看这个视频讲了什么？BV..."* -> (Agent 返回询问：“为了更准确，是否允许我为您消耗空间去提取故事板画面？”)
- *"这没字幕，帮我听一下这个视频的 1分30秒 到 3分钟 说了什么"* -> (Agent 自动调度 ASR 识别，并在结束后默默打扫卫生)

---

## 🛠️ 进阶：作为 CLI 工具独立使用

B2A 同时也可以作为极简的命令行工具在未接入 MCP 的环境中独立运行。

### 基础用法
```bash
# 获取视频信息与字幕
b2a BV1xx411c7mD

# 结构化 JSON 输出
b2a BV1xx411c7mD --format json
```
### 更多参数
```text
  --asr              启用语音识别（提取音频轨并转文字）
  --visual           启用视觉提取（抽取视频关键帧截图）
  --start TIME       截取开始时间（如 01:30）
  --end TIME         截取结束时间（如 02:40）
  --page N           指定分P编号（从1开始）
```

## 🔑 极致简单的 ASR 语音配置
如果需要无字幕视频的听力功能，B2A 接入了火山引擎（豆包）。你甚至不需要自己去找环境变量文件怎么写，**直接在聊天框里对 AI 说：**
> “我的豆包 API Key 是 XXXX，帮我存一下以备后面听译 B站 视频用。”

AI 会调用底层安全协议帮你自动安置好一切配置！

## License
MIT
