slug
category
type
status
password
icon
summary
FloChatAI - 悬浮智能聊天助手

一个基于 Cloudflare Workers 的现代化智能聊天助手,支持多种 AI 模型、文件上传、URL 解析等功能。
FloChatAI
wob25 • Updated Aug 10, 2025
✨ 特性
- 🤖 13个 AI 平台支持: 国外平台(OpenAI GPT、Anthropic Claude、Google Gemini等) + 国内平台(通义千问、智谱AI、DeepSeek等)
- 📝 Markdown 语法: 完整支持 Markdown 渲染,包括 GFM 扩展语法
- 🎨 代码高亮: 支持多种编程语言的语法高亮和代码复制
- 📁 文件上传: 支持图片、文档等多种文件格式,拖拽上传
- 🔗 URL 解析: 智能解析网页内容和元数据
- 💬 实时聊天: 流式响应,打字效果,上下文记忆
- 📚 聊天历史: 本地和云端同步,搜索功能
- 🔄 多密钥轮换: 自动API密钥轮换和负载均衡
- ⚡ 智能选择: 根据内容类型自动选择最适合的AI平台
- 📱 响应式设计: 完美适配桌面和移动设备
- 🎯 悬浮组件: 优雅的右下角入口,类似ChatbaseAI
- ⌨️ 快捷键支持: Ctrl+Enter发送,提升操作效率
- 📊 配额管理: 智能的 API 使用量控制和监控
- 🔒 安全可靠: 基于 Cloudflare Workers 的边缘计算
🎨 界面展示

主界面

国外AI平台

菜单栏

国内AI平台
📁 项目结构
🏗️ 技术架构
架构概览
前端技术栈
技术 | 版本 | 用途 |
React | 18.2+ | 核心UI框架,现代React特性 |
Next.js | 14.0+ | 全栈框架,SSR/SSG支持 |
Framer Motion | 10.16+ | 流畅动画效果,交互体验 |
React Markdown | 9.0+ | Markdown渲染,支持GFM |
React Syntax Highlighter | 15.5+ | 代码高亮,多语言支持 |
Tailwind CSS | 3.0+ | 原子化CSS,响应式设计 |
后端技术栈
技术 | 用途 | 特点 |
Cloudflare Workers | 边缘计算平台 | 全球分布,低延迟,无服务器 |
Hono | Web框架 | 轻量级,高性能,TypeScript友好 |
KV Storage | 键值存储 | 聊天历史,用户会话,配额管理 |
R2 Storage | 对象存储 | 文件上传,图片存储,成本低 |
Durable Objects | 状态管理 | 实时聊天,WebSocket连接 |
AI平台集成
🌍 国外平台 (7个)
- OpenAI GPT: GPT-4/3.5,通用能力最强
- Anthropic Claude: Claude-3,安全性突出
- Google Gemini: Gemini Pro,多模态能力
- Groq: 超快推理速度,免费额度
- Mistral AI: 欧洲开源模型
- Cohere: 企业级AI平台
- Perplexity: 搜索增强AI
🇨🇳 国内平台 (6个)
- 通义千问: 阿里云,中文优化
- 智谱AI: GLM-4,多模态
- DeepSeek: 代码能力强
- 月之暗面: Kimi,长文本
- 百度文心: 文心一言
- MiniMax: 海螺AI
核心特性实现
🔄 多密钥轮换系统
⚡ 智能AI选择
📝 Markdown渲染引擎
🗄️ 数据存储架构
安全架构
🔒 API密钥管理
- Wrangler Secrets: 安全存储API密钥
- 环境隔离: 开发/生产环境分离
- 密钥轮换: 自动故障转移机制
🛡️ 安全防护
- CORS配置: 跨域请求控制
- 速率限制: 防止API滥用
- 输入验证: XSS和注入攻击防护
- 会话管理: 安全的用户会话
🌐 边缘计算优势
- 全球分布: 200+数据中心
- 低延迟: 就近响应用户请求
- 高可用: 99.9%+服务可用性
- 自动扩展: 无需容量规划
🚀 快速开始
环境要求
- Node.js 18+
- npm 或 yarn
- Cloudflare 账户
安装步骤
- 克隆项目
- 安装依赖
- 配置环境变量
- 配置和部署 Cloudflare Workers
配置步骤详解:
- KV 命名空间: 用于存储聊天历史和会话数据
- R2 存储桶: 用于存储用户上传的文件
- API 密钥: 支持多个密钥,用逗号分隔实现轮换
- 环境配置: 可以分别配置开发和生产环境
- 启动开发服务器
📖 使用方法
🚀 快速集成(3分钟上手)
步骤 1: 复制组件文件
将
components
文件夹复制到您的项目中:步骤 2: 安装依赖
步骤 3: 在您的应用中使用
🎯 不同框架的集成方式
Next.js 项目
React 单页应用
Vue.js 项目集成
⚙️ 详细配置选项
🎨 样式自定义
自定义CSS样式
🔧 环境变量配置
创建
.env.local
文件:在代码中使用:
📱 实际使用场景
1. 客服网站集成
2. 技术文档网站
3. 教育平台
🔧 常见问题解决
Q1: 组件不显示怎么办?
Q2: 如何自定义样式?
Q3: 如何处理多语言?
⚡ 性能优化建议
1. 懒加载组件
2. 条件渲染
🎯 下一步
集成完成后,您可以:
- 📊 查看 配置选项 了解更多自定义选项
- 🚀 阅读 部署指南 部署后端服务
- 🔧 参考 API 文档 了解后端接口
🛠️ 配置选项
环境变量
变量名 | 描述 | 默认值 |
NEXT_PUBLIC_CHATAI_WORKER_URL | Workers 服务地址 | - |
CHATAI_ENABLE | 是否启用 ChatAI | true |
CHATAI_NAME | AI 助手名称 | your-AI-name |
CHATAI_POSITION | 显示位置 | bottom-right |
Workers 配置
在
chatai-workers/wrangler.toml
中配置:配置说明:
基本配置:
name
: Workers 项目名称,影响部署后的 URL
main
: 指定入口文件,通常是src/index.js
compatibility_date
: 确保使用特定版本的 Workers 运行时
环境变量:
ENVIRONMENT
: 区分开发/生产环境
MAX_FILE_SIZE
: 限制上传文件大小,防止滥用
ALLOWED_ORIGINS
: CORS 安全配置,限制访问来源
存储配置:
KV 存储
: 用于保存聊天历史和会话数据
R2 存储
: 用于保存用户上传的文件
重要提醒:
- 所有
your-*
占位符需要替换为实际值
- KV 和 R2 资源需要先在 Cloudflare 控制台创建
- API 密钥通过
wrangler secret put
命令单独设置
🔧 开发指南
本地开发
测试
部署
📊 Star History
🤝 贡献
欢迎提交 Issue 和 Pull Request!
- Fork 项目
- 创建特性分支 (
git checkout -b feature/AmazingFeature
)
- 提交更改 (
git commit -m 'Add some AmazingFeature'
)
- 推送到分支 (
git push origin feature/AmazingFeature
)
- 打开 Pull Request
📄 许可证
本项目基于 MIT 许可证开源 - 查看 LICENSE 文件了解详情。
👨💻 作者
wob - GitHub
🙏 致谢
- Cloudflare Workers - 边缘计算平台
- Google - Gemini 模型
- Framer Motion - 动画库
Made with ❤️ by wob
- 作者:✨𝔀𝓸𝓫•𝓢𝓱𝓪𝓻𝓮✨
- 链接:https://wobshare.us.kg//FloChatAI
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。