KevRojo/ia-web-parser

GitHub: KevRojo/ia-web-parser

将多个 AI 网页聊天服务的一次性登录会话转化为支持流式输出和工具调用的编程接口,让你无需额外 API 费用即可在代码中使用已订阅的模型。

Stars: 2 | Forks: 0

# ia-web-parser [![PyPI](https://img.shields.io/pypi/v/ia-web-parser.svg?color=ff6b1f&labelColor=07070a&label=pypi)](https://pypi.org/project/ia-web-parser/) [![Python](https://img.shields.io/pypi/pyversions/ia-web-parser.svg?color=ff6b1f&labelColor=07070a)](https://pypi.org/project/ia-web-parser/) [![License](https://img.shields.io/badge/license-MIT-ff6b1f?labelColor=07070a)](LICENSE) ## 功能简介 大多数 AI 提供商会对 API 访问收费,而它们的 **Web UI 对于您已有的订阅是免费的**。 `ia-web-parser` 弥合了这一差距。它可以: 1. 通过 Playwright **获取**您的认证会话(您只需在真实的 Chrome 窗口中登录一次)。 2. 使用浏览器相同的 Bearer/cookie 认证,将聊天响应**流式传输**回您的代码。 3. 将工具清单**注入**到提示词中,并从模型输出中**解析 `_semaphore_` 块**,为您提供原生 API 相同的工具调用循环——即使对于那些不公开暴露此功能的提供商也同样适用。 最初专为 [**dulus**](https://github.com/KevRojo/dulus)(`pip install dulus`)构建——这是一个支持工具调用 Web 提供商的多提供商 AI CLI——现在已作为独立库提取出来,以便任何 Python 项目都可以使用它。 ## 支持的提供商 | 提供商 | 模块 | 端点 | |---|---|---| | **Claude** | `claude-web` | claude.ai | | **Kimi** | `kimi-web` | kimi.com | | **Gemini** | `gemini-web` | gemini.google.com | | **DeepSeek** | `deepseek-web` | chat.deepseek.com | | **Qwen** | `qwen-web` | chat.qwen.ai | ## 安装 ``` pip install ia-web-parser[harvester] playwright install chromium ``` `[harvester]` 扩展包会拉取 Playwright(仅在一次性登录步骤中需要)。 对于获取认证后的纯聊天使用场景,只需 `pip install ia-web-parser` 即可。 ## 快速开始 ### 1. 获取认证(每个提供商运行一次) ``` from ia_web_parser import SessionManager, ClaudeHarvester sm = SessionManager() ClaudeHarvester(sm).harvest() # → 打开一个真实的 Chrome 窗口。进行登录。Cookies + Bearer 会被存储 # 至 ~/.ia-web-parser/claude.json ``` ### 2. 使用工具进行聊天 ``` from ia_web_parser import ClaudeWebProvider, SessionManager sm = SessionManager() provider = ClaudeWebProvider(session_manager=sm) tools = [{ "name": "Read", "description": "Read a file from disk", "parameters": { "type": "object", "properties": {"file_path": {"type": "string"}}, "required": ["file_path"], }, }] for chunk in provider.chat( messages=[{"role": "user", "content": "Read /etc/hosts and summarize"}], tool_schemas=tools, ): if hasattr(chunk, "text"): print(chunk.text, end="", flush=True) elif hasattr(chunk, "tool_calls"): for call in chunk.tool_calls: print(f"\n→ tool call: {call.name}({call.arguments})") ``` 就是这样。相同的方式适用于所有五个提供商——只需将 `ClaudeWebProvider` 替换为 `KimiWebProvider`、`GeminiWebProvider` 等。 ## 架构 ``` ia_web_parser/ ├── core/ # WebToolParser, history consolidation, manifest formatting ├── harvester/ # Playwright auth harvesters (one persistent profile per provider) ├── providers/ # Streaming chat clients └── session.py # Cookie + auth file + state management ``` 认证信息存储在 `~/.ia-web-parser/` 中。 持久的 Chrome 配置文件存储在 `~/.ia-web-parser/profiles//` 中。 只需登录一次。再次运行时会重用相同的配置文件——无需再次认证。 ## 想要完整的 Agent 体验? `ia-web-parser` 是一个**库**。如果您想要**完整的 CLI** 功能——REPL、斜杠命令、子 Agent、MemPalace、语音、TTS、Mesa Redonda、27 个内置工具、MCP、插件——那就是 [dulus](https://github.com/KevRojo/dulus): ``` pip install dulus dulus ``` dulus 集成了 `ia-web-parser`,外加 11 个云 API(Anthropic、OpenAI、Gemini、NVIDIA 的免费 14 模型层、Ollama、自定义端点)以及完整的代理循环。 ## 为什么会有这个项目 您已经付费的 Web 订阅(20美元/月的 Claude Pro,20美元/月的 Gemini Advanced 等)为您提供了旗舰模型的访问权限。而 API 则会按 token 再次收费。`ia-web-parser` 让您的脚本可以使用您已经付费的内容——以编程方式,支持工具调用、流式传输和持久会话。 这与 `youtube-dl` 在视频网站上使用的技巧相同:直接在用户已有的认证环境中提供服务。 ## 许可证 MIT。随意 Fork、发布,构建您想要的任何东西。
标签:AI聊天机器人, API代理, API网关, Claude, Cookie提取, CVE检测, DeepSeek, Gemini, JSON 请求, Playwright, Python, Web UI逆向, 云资产清单, 会话劫持, 多平台支持, 开源库, 搜索引擎爬虫, 无后门, 流式API, 浏览器插件开发, 浏览器自动化, 浏览器配置, 熵值分析, 特征检测, 绕过付费, 网络协议分析, 网络抓包, 身份验证绕过, 逆向工具, 逆向工程