NewAPI Stats
一个用于监控 NewAPI/OneAPI 站点使用量的 VS Code 扩展,支持实时显示余额、消耗和使用统计。
🎉 最新更新 v0.2.0 - 多站点管理与智能缓存
本次更新完全兼容 get_api_info
项目的API设置,并新增了多站点管理功能。
✨ 功能特性
核心功能
- 🔍 实时监控: 显示账户余额、今日消耗、总消耗等统计信息
- 💰 多货币支持: 支持 USD 和 CNY 双货币显示
- 📊 剩余率分析: 可视化剩余百分比和进度条
- 🔄 自动刷新: 可配置的自动刷新间隔
- 🎯 精准计算: 基于 NewAPI 官方转换公式的准确计算
- 🛡️ 安全存储: 敏感信息安全存储在 VS Code 密钥库中
🆕 新增功能 v0.2.0
1. 多站点管理
- 添加站点:支持添加多个NewAPI/OneAPI站点
- 站点切换:一键切换当前活动站点
- 站点编辑:灵活编辑站点配置信息
- 站点删除:安全删除不需要的站点
- 批量导入:支持从配置文件批量导入站点
- 配置导出:导出站点配置备份
2. 本地智能缓存
- 自动缓存:减少API调用次数,提升响应速度
- TTL控制:可配置缓存过期时间(默认5分钟)
- 容量管理:自动清理过期缓存,防止内存占用过多
- 一键清除:支持手动清除所有缓存
3. 兼容 get_api_info
- 请求头自动检测:自动识别
New-API-User
和 Veloera-User
请求头
- 认证流程兼容:完全兼容Cookie → Token → API调用的认证方式
- 分页数据处理:支持大量数据的分页获取
- 货币转换:精确的USD/CNY货币转换
4. 增强的用户界面
- 站点管理面板:新增专门的站点管理树视图
- 多站点统计:汇总显示所有站点的统计信息
- 状态指示器:清晰显示当前活动站点
支持的站点
所有基于 OneAPI 和 NewAPI 部署的 AI 中转站点。
安装配置
1. 安装扩展
从 VS Code 扩展市场搜索 "NewAPI Stats" 并安装。
2. 快速开始
首次使用会弹出设置向导:
- 传统单站点模式:如果您之前已经配置过,扩展会继续正常工作
- 新的多站点模式:
- 点击侧边栏的"站点管理"面板
- 点击
+
按钮添加第一个站点
- 按照向导填写站点信息
3. 添加站点步骤
- 站点名称:给站点起个容易识别的名字
- 站点URL:输入完整的API地址
- 用户ID:从站点用户信息页面获取
- Session Cookie:从浏览器开发者工具复制
- 转换参数:设置Token到USD的转换因子和汇率
注意:请求头类型现在会自动检测,无需手动选择
4. 获取 Session Cookie
- 登录到你的 NewAPI 站点
- 按 F12 打开开发者工具
- 切换到 "Application" 或 "存储" 标签
- 在 "Cookies" 中找到你的站点
- 复制
session
字段的值
显示界面
侧边栏视图
📊 NewAPI 使用统计
├── 💰 余额: $2.85 (1,422,586 tokens)
├── 📅 今日消耗: $1.21 (602,835 tokens)
├── 📈 总消耗: $2.15 (1,077,414 tokens)
├── 💎 总金额: $5.00 (余额+总消耗)
├── 📊 剩余率: 57.0% ████████░░
├── 🔢 今日请求: 117次
├── 🔢 总请求: 174次
├── 📝 今日 Tokens: 提示: 650 | 完成: 41,181
└── ⏰ 更新时间: 14:30:25
站点管理面板
🌐 站点管理
├── ✅ Instcopilot API (活动)
├── ⚪ PoloAI
├── ⚪ Huan666 AI
└── ⚪ Aliyah Zombie API
状态栏显示
💰 $2.85 | 📊 57.0% | 🔄 14:30
可用命令
基础命令
NewAPI: 刷新数据
- 手动刷新统计数据
NewAPI: 设置
- 打开设置菜单
NewAPI: 重置所有配置
- 重置所有配置(需确认)
🆕 新增命令
NewAPI: 显示多站点统计
- 显示所有站点的汇总统计
NewAPI: 导入测试站点
- 快速导入预设测试站点
NewAPI: 导出站点配置
- 导出当前站点配置
NewAPI: 从JSON导入站点
- 从JSON配置导入站点
添加站点
- 添加新的API站点
编辑站点
- 编辑现有站点配置
删除站点
- 删除站点
刷新站点
- 刷新站点列表
清除缓存
- 清除所有缓存数据
配置选项
在 VS Code 设置中搜索 "newapi-stats" 可以找到以下配置项:
基础配置
newapi-stats.baseUrl
: NewAPI 站点地址
newapi-stats.userId
: 用户 ID
newapi-stats.refreshInterval
: 自动刷新间隔(秒)
newapi-stats.conversionFactor
: Token 到 USD 转换因子(默认:500000)
newapi-stats.exchangeRate
: USD 到 CNY 汇率(默认:7.2)
🆕 新增配置
{
"newapi-stats.cacheTtl": 300, // 缓存时间(秒)
"newapi-stats.cacheMaxSize": 10, // 最大缓存条数
"newapi-stats.cacheEnabled": true, // 启用缓存
"newapi-stats.autoRefresh": false // 自动刷新
}
站点管理
添加站点
- 点击站点管理面板的 "+" 按钮
- 按照向导输入站点信息
- 系统会自动检测正确的请求头类型
站点操作
- 激活站点:点击站点名称即可切换
- 编辑站点:右键点击站点选择编辑选项
- 删除站点:右键点击站点选择删除
- 查看统计:在统计面板查看当前活动站点数据
批量导入
- 使用
NewAPI: 导入测试站点
快速导入预设站点
- 使用
NewAPI: 从JSON导入站点
导入自定义配置
🔒 隐私安全
- 敏感信息保护:Session Cookie等敏感信息存储在VS Code安全密钥库
- 本地存储:所有数据仅存储在本地,不会上传到云端
- 安全清除:删除站点时自动清除相关敏感信息
- 不会向第三方发送任何数据
- 所有请求直接发送到你配置的 NewAPI 站点
🔄 向后兼容
- 完全兼容v0.1.x版本的配置
- 已有的单站点配置会自动迁移
- 无需重新配置即可使用新功能
故障排除
常见问题
认证失败
- 检查Session Cookie是否过期
- 确认请求头类型检测正确(系统会自动尝试)
- 验证用户ID是否正确
数据获取失败
- 检查网络连接
- 确认API站点地址正确
- 尝试清除缓存后重新获取
站点切换问题
- 确保目标站点配置正确
- 检查站点是否可访问
- 重启VS Code后重试
数据显示不准确:
- 检查转换因子和汇率设置是否正确
- 可以在设置中调整这些参数
重置配置
如果遇到严重问题,可以使用"重置所有配置"命令:
- 打开命令面板(Ctrl+Shift+P)
- 输入"NewAPI: 重置所有配置"
- 确认重置后重新配置
获取支持
如果遇到问题,请:
- 检查 VS Code 的输出面板是否有错误信息
- 在项目 GitHub 页面提交 Issue
- 包含错误信息和配置(隐去敏感信息)
📊 技术架构
核心组件
MultiSiteService
:多站点管理服务
SiteManagerProvider
:站点管理界面提供者
智能缓存系统
:基于TTL的本地缓存
兼容层
:与get_api_info的API兼容处理
数据流
用户界面 → 多站点服务 → 缓存层 → API服务 → NewAPI站点
更新日志
v0.2.0
- 🎉 新增多站点管理功能
- 🚀 新增智能缓存系统
- 🔧 兼容 get_api_info API
- 🎨 全新的站点管理界面
- 🔒 增强的安全性
- 📦 支持配置导入导出
v0.1.0
- 初始版本发布
- 支持基础的余额和消耗统计
- 支持自动刷新和状态栏显示
开发
本项目基于 TypeScript 开发,使用 VS Code 扩展 API。
本地开发
# 克隆项目
git clone https://github.com/newapi-stats/newapi-stats.git
# 安装依赖
npm install
# 编译
npm run compile
# 在 VS Code 中按 F5 启动调试
🤝 贡献
欢迎提交Issue和Pull Request来改进这个扩展!
许可证
MIT License
致谢