Skip to content

Releases: Sliky1/modelmeter

ModelMeter v1.1.0

22 May 14:16

Choose a tag to compare

ModelMeter v1.1.0

ModelMeter v1.1.0 是一次面向正式 VS Code 扩展产品的稳定升级版本。

本版本重点完成了架构拆分、安全增强、配置项修复、使用记录能力补充和发布文档完善,使 ModelMeter 从原型型扩展进一步升级为更适合长期维护和正式发布的产品版本。


核心定位

ModelMeter 是一个用于 VS Code 的 AI 模型用量与费用监控扩展,帮助开发者在本地查看多家 AI Provider 的余额、模型价格、Token 用量和费用估算。

当前版本支持的主要能力包括:

  • 多 Provider 账号管理
  • API Key 本地安全存储
  • Provider 余额查询
  • 本地 Token 用量记录
  • 模型费用估算
  • 30 天用量趋势展示
  • 手动添加用量记录
  • CSV 使用记录导出
  • 状态栏余额显示
  • 多语言界面支持

v1.1.0 主要更新

架构重构

本版本将原先集中在 src/extension.ts 中的大量逻辑拆分为多个模块,提升可维护性和后续扩展能力。

新增 / 调整后的主要结构:

src/
  extension.ts
  commands.ts
  refresh.ts
  i18n.ts

  providers/
    index.ts
    types.ts

  services/
    accountStore.ts
    pricingService.ts
    proxy.ts
    usageStore.ts

  views/
    usageViewProvider.ts

  ui/
    statusBar.ts

  shared/
    date.ts
    types.ts

extension.ts 现在主要负责扩展启动、命令注册、状态栏注册和刷新调度,不再承载所有业务逻辑。


Webview 安全增强

本版本对 Webview 安全策略进行了重点优化:

  • 移除外部 CDN 依赖
  • 不再从 cdn.jsdelivr.net 加载 Chart.js
  • 新增本地 media/chart-lite.js
  • 强化 CSP 策略
  • Webview 不再依赖外部网络资源
  • 修复账户别名渲染中的 innerHTML 注入风险
  • 改用 DOM API 安全创建账户选项

这些改动提升了扩展在离线、内网和受限网络环境下的稳定性,也降低了供应链风险。


配置项修复

本版本修复了多个已声明但未完整生效的配置项。

现在以下配置已经可以正常工作:

{
  "modelmeter.showStatusBar": true,
  "modelmeter.refreshInterval": 300000,
  "modelmeter.customPricing": {}
}

其中 modelmeter.customPricing 支持用户覆盖内置模型价格,例如:

{
  "modelmeter.customPricing": {
    "openai:gpt-4o": {
      "input": 2.5,
      "output": 10,
      "cachedInput": 1.25
    }
  }
}

价格查找顺序:

provider:model
model
provider 内置 model
provider default model
zero-cost fallback

新增用量管理能力

本版本新增了更完整的本地用量记录能力。

新增命令:

ModelMeter: Add Manual Usage Record
ModelMeter: Export Usage CSV
ModelMeter: Clear Usage History

对应功能:

  • 手动添加模型 Token 使用记录
  • 根据模型价格估算费用
  • 导出最近 30 天使用记录为 CSV
  • 清空当前账号的本地使用历史

错误提示改进

余额刷新失败时,现在不仅会更新状态栏,也会在 Webview 中显示错误状态。

支持的错误类型包括:

UNAUTHORIZED
TIMEOUT
HTTP_ERROR
NETWORK_ERROR
UNKNOWN_ERROR

这可以避免用户看到过期余额却误以为刷新成功。


文档完善

本版本新增和完善了正式产品所需的文档:

CHANGELOG.md
SECURITY.md
PRIVACY.md

docs/
  USAGE.md
  PROVIDERS.md
  PRICING.md

README 也已更新为 v1.1.0 产品说明,去除了无效截图链接,并修正了过度承诺的功能描述。


安全与隐私

ModelMeter v1.1.0 遵循以下原则:

  • API Key 使用 VS Code SecretStorage 存储
  • 不主动上传 API Key
  • 不主动收集遥测数据
  • 本地使用历史保存在 VS Code 扩展状态中
  • 余额查询仅请求用户配置的对应 Provider API
  • 用户可以清空本地使用历史

更多说明请查看:

SECURITY.md
PRIVACY.md

验证方式

发布前建议执行:

npm install
npm run compile

可选打包命令:

npx vsce package

生成 VSIX 后可在 VS Code 中本地安装测试:

code --install-extension modelmeter-1.1.0.vsix

推荐 Release 资产

建议在本 Release 中上传:

modelmeter-1.1.0.vsix
modelmeter-v1.1.0-optimized.zip
modelmeter-v1.1.0-optimized.sha256

其中:

  • modelmeter-1.1.0.vsix:VS Code 扩展安装包
  • modelmeter-v1.1.0-optimized.zip:源码包
  • modelmeter-v1.1.0-optimized.sha256:源码包校验文件

升级建议

从旧版本升级到 v1.1.0 后,建议:

  1. 重新打开 VS Code
  2. 检查 ModelMeter: Add Account 中的账号配置
  3. 检查状态栏是否正常显示
  4. 测试一次余额刷新
  5. 根据需要配置 modelmeter.customPricing
  6. 使用 ModelMeter: Add Manual Usage Record 测试本地用量记录

兼容性说明

本版本保持原有 Provider 支持方向,包括:

  • OpenAI
  • Anthropic / Claude
  • DeepSeek
  • SiliconFlow
  • Moonshot / Kimi
  • Zhipu / GLM

不同 Provider 的余额接口和鉴权方式可能存在差异,请以实际 API 返回为准。


版本类型

Stable Release

版本号:

v1.1.0

modelmeter

05 Apr 16:45

Choose a tag to compare