之前我做过一个简单的 Chat 网站,可以调用多家的大模型进行对话。为了图省事,我当时直接把 API 密钥和请求地址写在前端代码里,让用户的浏览器直接调用 AI 接口。虽然当时就知道这样存在安全风险,但侥幸心理让我没有去改。结果没过多久,有人通过前端拿到了我的密钥,盗刷 API 额度,让我损失了 10 元,这也算是一次“花钱买来的教训”。
这次我对整个网站进行了大幅升级和安全优化,推出 OmniVerse万物聚合体 v2.2。

1. 网站的优化与更新
核心变化:
- API 后端代理化:所有 AI 接口都通过服务器转发,前端不再暴露任何密钥,从根本上解决安全问题。
- 管理后台:新增后台面板,可以动态管理 AI 模型、API 地址和密钥;支持访问日志统计和系统状态监控。
- 用户体验:全面升级 UI,支持深色/浅色主题切换,优化了对 Markdown 和 LaTeX 数学公式的渲染,增强了上下文对话功能。
架构概览:
用户浏览器 → Node.js + Express 后端 → 多家 AI API
后端使用 Express.js 搭建 RESTful API,配合 JWT Token 认证确保管理操作的安全性。
2. 开发工具与技术栈
在这次重构中,我依旧大量借助 AI 编程助手完成了代码生成和调试工作。
这次主要使用了 Claude Code 来辅助开发,它与 Cursor 这样的 IDE 插件不同,而是直接在终端中交互式生成代码。Claude Code 支持按 Token 计费,这意味着我可以提交更多上下文而不用担心调用次数的问题。

最近我在找免费的 AI 中转服务时,尝试了很多网站,最终发现了一个不错的平台:https://anyrouter.top/register?aff=Nyt3。 注册后即可获得100 美元额度,而且每天登录还会额外赠送 25 美元额度,实际使用下来几乎用不完,非常划算。
在开发环境上,我更推荐使用 Linux和Mac 来运行 Claude Code。 虽然 Windows 也能安装,但需要先开启 WSL,步骤相对繁琐,不如 Linux 直接高效。
关于该平台的安装和使用,这里就不做过多介绍,大家可以参考官方的详细文档:AnyRouter | Claude Code 共享平台。
技术栈:
- 前端:HTML5 + CSS3 + 原生 JavaScript + Marked.js(Markdown 渲染) + KaTeX(数学公式)。
- 后端:Node.js 16+ + Express.js 4.x,使用 Axios 调用外部 AI 服务,API Key 存储在
.env
文件中。 - 部署:Ubuntu 20.04 服务器,Nginx 反向代理 + PM2 守护进程,支持自动化部署脚本。
3. 安全性与 API 保护
过去最大的教训就是 API 密钥暴露。在 v2.2 中,我设计了完整的后端代理机制:
用户 → 我的服务器(隐藏密钥) → AI 服务商
安全措施:
- 所有 API Key 都存储在后端
.env
文件中。 - 管理后台受密码和 Token 保护,支持在线密码修改。
- 浏览器开发者工具中不会看到任何密钥。
验证方法:即便打开浏览器的 F12 面板,用户也只能看到请求指向我的服务器,而非真实的 AI 服务 API。
4. Bug 管理与开发习惯
AI 辅助编程虽然高效,但生成的代码难免有问题。我习惯在项目根目录下放置一个 bug.txt
文件,把所有待办 Bug 和功能列出,让 AI 按照清单一项项修复,并同步更新 Todo。
这种方式让我能清楚看到项目的迭代过程,也避免了 AI 乱改代码。
5. 新版本亮点
和上一个版本相比,OmniVerse v2.2 增加了许多新特性:
- 上下文记忆:支持连续对话,自动维护最近 20 轮记录。
- 管理后台:新增动态添加/删除模型、日志查看和统计信息。
- UI 优化:重新设计了模型选择器和滚动条,支持响应式布局和移动端访问。
- 数学公式支持:Markdown 中可以直接写
$$公式$$
,渲染更精美。
6. 部署与快速体验
git clone https://github.com/ayuancloud/OmniVerse.git
cd OmniVerse
npm install
cp .env.example .env # 填写你的 API Key
npm start
访问:
- 主页:
http://localhost:3000
- 管理后台:
http://
localhost:3000
/admin
如果要生产部署,推荐配合 Nginx 和 PM2:
pm2 start server.js --name omniverse
7. 未来计划
目前网站已解决大部分安全问题,但仍有一些优化方向:
- Gemini-2.5-pro 在跨境请求时偶尔会出现 token 丢失,考虑加重试和超时处理。
- 后台管理面板 还需优化模型排序、默认模型选择和 API 地址验证逻辑。
- 更多模型接入:后续计划接入 ChatGPT、Claude 等新模型。

8. 开源与贡献
OmniVerse 已经开源:
GitHub: https://github.com/ayuancloud/OmniVerse
如果你发现了 Bug 或有改进建议,欢迎提交 Issue 或 PR,一起完善这个项目。
如果这个项目对你有帮助,请给一个 Star ⭐!