【开源自荐】 AI Selector:一款通用 AI 配置组件,让你的应用快速接入 20+ LLM AI厂商

【开源自荐】 AI Selector:一款通用 AI 配置组件,让你的应用快速接入 20+ LLM AI厂商
在线演示:https://tombcato.github.io/ai-selector/react/index.html
开源地址:https://github.com/tombcato/ai-selector
官网介绍:https://tombcato.github.io/ai-selector

前言

如果你正在开发一个需要用户配置 AI 服务的应用(比如 AI 写作助手、智能客服、代码补全工具等),你可能会遇到这些问题:

  • 🤯 需要对接多家 AI 厂商(OpenAI、Claude、Gemini、DeepSeek…),每家 API 格式都不一样
  • 📜 需要维护一长串模型列表,还要时刻关注厂商更新
  • 🎨 还要设计一套 UI 让用户方便地选择和配置

AI Selector 就是为解决这些问题而生的。

Smart Ticker文字替换特效实现:https://blog.ZEEKLOG.net/tombcato/article/details/156424365
在这里插入图片描述

✨ 核心特性

特性描述
🤖 20+ 厂商OpenAI, Claude, Gemini, DeepSeek, 通义, 智谱, Mistral… 开箱即用
智能模型发现自动调用厂商 API 获取最新模型列表,无需手动维护
📡 连接诊断一键测试 API 连通性与延迟
🔐 AES 加密存储API Key 加密保存到 localStorage,非明文
🎨 开箱即用 UITailwind CSS 设计系统,深色模式,中英双语
🔌 React + Vue双框架适配器,核心逻辑共享
🧩 Headless 模式只用 useAIConfig Hook,完全自定义 UI
🔄 零后端可选支持前端直连(默认) / 后端代理 / 自定义 fetcher

🚀 快速开始

安装

# Reactnpminstall @tombcato/ai-selector-react # Vuenpminstall @tombcato/ai-selector-vue 

使用

// React import { AIConfigForm } from '@tombcato/ai-selector-react'; import '@tombcato/ai-selector-react/style.css'; function App() { return ( <AIConfigForm // 空字符串 = 直连模式 language="zh" // 'zh' | 'en' showPreview // 显示配置预览 onSave={(config) => { console.log('用户保存的配置:', config); // { providerId: 'openai', apiKey: 'sk-xxx', model: 'gpt-4o', ... } }} /> ); } 

就这么简单!用户可以:

  1. 选择 AI 厂商(20+ 内置选项)
  2. 输入 API Key
  3. 选择模型(自动从厂商 API 获取最新列表)
  4. 测试连接
  5. 保存配置

🎯 三种接入模式

1️⃣ 直连模式(零后端)

浏览器 ────────────► AI 厂商 API 
  • ✅ 零配置,开箱即用
  • ⚠️ API Key 暴露在浏览器 Network 中
  • ⚠️ 部分厂商可能阻止 CORS

适合:个人项目、内部工具、原型验证

2️⃣ 代理模式(推荐生产环境)

浏览器 ───► 后端代理 ───► AI 厂商 API 
<AIConfigForm proxyUrl="https://your-backend/ai-proxy" /> 
  • ✅ 隐藏 API Key
  • ✅ 绕过 CORS 限制
  • 📦 需要部署后端(项目内含 Python FastAPI 示例)

3️⃣ 自定义模式(完全控制)

<AIConfigForm modelFetcher={async (params) => { // 自己实现模型获取、连接测试逻辑 return await yourCustomFetch(params); }} /> 

🔐 API Key 安全存储

默认使用 AES 加密 存储到 localStorage:

import{ createConfigStorage, encryptedStorageAdapter // 默认,AES 加密}from'@tombcato/ai-selector-core';const storage =createConfigStorage();const config = storage.load();// 自动解密 storage.save(newConfig);// 自动加密

localStorage 中看到的是密文:

U2FsdGVkX1+abc123... 

🧩 Headless 模式

如果你不想用内置 UI,可以只使用 useAIConfig Hook:

import { useAIConfig } from '@tombcato/ai-selector-react'; function MyCustomUI() { const { providerId, apiKey, model, models, providers, isValid, setProviderId, setApiKey, selectModel, runTest, save, } = useAIConfig({ proxyUrl: '' }); return ( <div> <select value={providerId} onChange={e => setProviderId(e.target.value)}> {providers.map(p => <option key={p.id} value={p.id}>{p.name}</option>)} </select> {/* 完全自定义的 UI */} </div> ); } 

🛠️ 自定义 Provider

需要对接私有部署的模型?或者覆盖内置厂商的配置?

<AIConfigForm config={{ mode: 'default', // 'default' | 'customOnly' custom: { // 覆盖内置配置 openai: { name: 'Enterprise OpenAI', baseUrl: 'https://gateway.company.com/openai/v1', }, // 添加自定义厂商 'my-llm': { name: 'Internal LLM', baseUrl: 'http://localhost:8080/v1', apiFormat: 'openai', needsApiKey: false, models: [{ id: 'llama-3-8b', name: 'Llama 3 8B' }] } } }} /> 

📦 项目结构

ai-selector/ ├── packages/ │ ├── core/ # 核心逻辑(框架无关) │ ├── react/ # React 适配器 │ └── vue/ # Vue 适配器 └── backend/ # Python 代理示例 (FastAPI) 

核心逻辑在 @tombcato/ai-selector-core 中,React 和 Vue 只是薄薄的 UI 封装。


🤝 贡献

欢迎提 Issue 和 PR!

GitHub: https://github.com/tombcato/ai-selector

如果这个项目对你有帮助,欢迎给个 ⭐ Star!


📜 License

MIT © 2026 AI Selector

Read more

GitHub爆火的7个Claude Skills开源AI项目:Anthropic官方Skill 元技能+Superpowers 27k星任务拆解+Code Review自动审查+上下文优化(附开源链接

GitHub爆火的7个Claude Skills开源AI项目:Anthropic官方Skill 元技能+Superpowers 27k星任务拆解+Code Review自动审查+上下文优化(附开源链接

GitHub爆火的7个Claude Skills开源AI项目:Anthropic官方Skill Creator元技能+Superpowers 27k星任务拆解+Code Review自动审查+Context Engineering上下文优化(附安全避坑指南与开源链接) 一句话总结 Skills = Claude的"外挂系统"。 装上这7个开源项目,你的AI从"聊天机器人"秒变"专业打工仔"。 ⚠️ 先读安全警告:第三方Skills已有黑客攻击案例,务必优先使用官方/自制Skills。 文章目录 * GitHub爆火的7个Claude Skills开源AI项目:Anthropic官方Skill Creator元技能+Superpowers 27k星任务拆解+Code Review自动审查+Context Engineering上下文优化(附安全避坑指南与开源链接) * 一句话总结 * 7大工具速查表 * 详细说明 * 1️⃣ Skill Creator|官方元技能制造机 * 2️

By Ne0inhk
一文读懂 Milvus:全球领先的开源向量数据库,AI 应用的“记忆中枢”

一文读懂 Milvus:全球领先的开源向量数据库,AI 应用的“记忆中枢”

公众号:技海拾贝 专注 AI 工程化、云原生、大数据技术实战 | 每周深度解读一个核心技术 ‍ 📖 前言:当 AI 需要“记住”世界 你是否思考过: 🔹 为什么抖音能精准推荐你感兴趣的视频? 🔹 为什么淘宝“拍立淘”能秒搜相似商品? 🔹 为什么 Copilot 能理解你代码的上下文? 答案藏在 向量(Vector) 中。 在 AI 时代,文本、图像、音频被转化为高维向量,而高效存储与检索这些向量,成为智能应用的核心瓶颈。 此时,Milvus 作为专为向量设计的数据库横空出世——它不仅是工具,更是 AI 应用的“记忆中枢”。 本文带你深度解析 Milvus 的前世今生、技术内核与实战价值。 ‍ ‍ 🔍 什么是 Milvus? Milvus 是一个专为非结构化数据检索设计的开源向量数据库,

By Ne0inhk
免费且完全开源的金融平台,金融数据集软件openbb

免费且完全开源的金融平台,金融数据集软件openbb

首个免费且完全开源的金融平台 repo:https://github.com/OpenBB-finance/OpenBB 手册:https://docs.openbb.co/odp/python/quickstart agent:https://github.com/OpenBB-finance/agents-for-openbb 提供股票、期权、加密货币、外汇、宏观经济、固定收益等多种金融工具的访问权限,并提供广泛的扩展功能,以满足用户的不同需求。 注册 OpenBB Hub,充分利用 OpenBB 生态系统。 还开源了一个可以访问 OpenBB 中所有数据的 AI 金融分析师代理,该存储库可以在此找到这里。 1. 安装 OpenBB 平台可以通过运行 pip install openbb 作为 PyPI

By Ne0inhk
[JAVA探索之路]带你理解Git工作流程

[JAVA探索之路]带你理解Git工作流程

目录 引言 一、Git核心概念 二、四种主流工作流 中心化工作流 功能分支工作流 GitFlow工作流 Forking工作流 场景选择推荐 三、Git实用工具和小技巧  Git钩子 急救命令 四、一些小建议 引言 想象一下,你和几个朋友一起写一本小说。如果大家都直接在同一个文档上改,很快就会乱套:有人删了重要情节,有人同时修改同一段落,最后谁也不知道哪个版本是对的。 Git就是解决这个问题的“超级版本管理器”,而工作流程就是大家约定好的“写作规矩”。没有规矩,再好的工具也会用乱。今天,我就带你理清各种Git工作流,找到适合你团队的那一套。 一、Git核心概念 * 仓库:就是你的项目文件夹,Git会记录里面所有文件的变化 * 提交:相当于给当前版本拍张“快照”,并写上说明 * 分支:从主线分出去的“平行世界”,可以在里面大胆实验而不影响主线 * 合并:把分支的改动整合回主线 简单来说,

By Ne0inhk