编程 将真实浏览器变成本地 API:web-model 项目解析

2026-04-22 19:31:17 +0800 CST views 11

将真实浏览器变成本地 API:web-model 项目解析

如果有一种方式,能让你直接调用已经登录好的 Kimi、ChatGPT 等 AI 对话页面,不需要任何 API Key,不需要破解逆向,只需要一个 Chrome 扩展和本地服务?那就是 web-model。

它能做什么

web-model 是一个轻量级本地服务器,配合 Chrome/Edge MV3 扩展使用。它的核心思路非常巧妙:不逆向任何 API,而是让真实的浏览器标签页来响应请求。

技术架构很清晰:

your app / script
       |
       v
web-model server (本地)
       |
       v
Chrome 扩展 (bridge)
       |
       v
真实浏览器标签页 (已登录)
       |
       v
AI 提供商网站

服务器提供标准的 OpenAI 兼容接口:

  • GET /v1/models - 列出当前注册的标签页
  • POST /v1/chat/completions - 发起对话(支持流式)
  • GET /healthz - 健康检查
  • GET /providers - 查看支持的提供商

快速上手

第一步:下载并启动服务

tar -xzf macos-amd64-all.tgz
cd macos-amd64
./web-model

默认监听 http://127.0.0.1:18080,WebSocket 接口在 ws://127.0.0.1:18080/ws

第二步:加载浏览器扩展

将包内的 extension/ 目录作为未打包扩展加载到 Chrome 或 Edge。

第三步:在扩展 popup 中配置

  • Server URL 填 ws://127.0.0.1:18080/ws
  • 启用当前标签页
  • 打开想要作为 API 使用的 AI 对话页面(需要预先手动登录、解决验证码等)

扩展图标状态说明:

  • 绿色 ON:已注册
  • 黄色 ...:连接中/等待
  • 红色 !:出错
  • 空白:未启用

第四步:调用 API

# 列出可用模型
curl http://127.0.0.1:18080/v1/models

# 对话请求(随机选一个空闲标签)
curl http://127.0.0.1:18080/v1/chat/completions \
  -H content-type: application/json \
  -d "{\"model\": \"kimi-tab-xxx\", \"messages\": [{\"role\": \"user\", \"content\": \"hello\"}]}"

# web-model 内置 quick 子命令
./web-model quick kimi "hi"
./web-model quick --stream chatgpt "hello world"

路由策略与错误处理

model 参数支持三种形式:

  1. 精确匹配kimi-tab-2123080689 直接指定某标签
  2. 通配符kimi* 匹配所有 Kimi 类型标签,随机选一个
  3. 全匹配* 随机选任意空闲标签

错误惩罚机制:当某个标签页返回对话错误,该标签会被标记 1 分钟惩罚窗口,期间通配符路由会跳过它。

支持的提供商

官方支持:ChatGPT、Qwen(通义千问)、Gemini、Kimi、元宝。

适合的场景

  • 开发者本地调试,不想暴露 API Key
  • 个人使用已付费账号,避免额外计费
  • 测试特定账号/登录状态的 AI 对话
  • 快速验证 OpenAI 兼容代码,不需要真实 API

不适合的场景

  • 大规模生产环境(依赖浏览器,可靠性有限)
  • 需要高并发(浏览器标签页有限)
  • 自动化脚本(页面刷新需要手动重连)

总结

web-model 是一个很有创意的工具,特别适合本地开发调试、个人 AI 助手聚合、快速验证 OpenAI 兼容代码。

如果你有已经付费的 ChatGPT/Kimi/元宝账号,又想在本地脚本里方便地调用,web-model 是一个值得一试的方案。项目 MIT 协议。

复制全文 生成海报 工具 浏览器 AI OpenAI

推荐文章

OpenCV 检测与跟踪移动物体
2024-11-18 15:27:01 +0800 CST
windows安装sphinx3.0.3(中文检索)
2024-11-17 05:23:31 +0800 CST
JavaScript设计模式:桥接模式
2024-11-18 19:03:40 +0800 CST
JavaScript中的常用浏览器API
2024-11-18 23:23:16 +0800 CST
PHP解决XSS攻击
2024-11-19 02:17:37 +0800 CST
JavaScript 实现访问本地文件夹
2024-11-18 23:12:47 +0800 CST
如何将TypeScript与Vue3结合使用
2024-11-19 01:47:20 +0800 CST
gin整合go-assets进行打包模版文件
2024-11-18 09:48:51 +0800 CST
前端如何优化资源加载
2024-11-18 13:35:45 +0800 CST
如何在 Vue 3 中使用 Vuex 4?
2024-11-17 04:57:52 +0800 CST
CSS 中的 `scrollbar-width` 属性
2024-11-19 01:32:55 +0800 CST
Elasticsearch 聚合和分析
2024-11-19 06:44:08 +0800 CST
程序员茄子在线接单