Skip to content

Repository files navigation

cabbage — CSGO 倒余额计算器

一个基于 Tauri 2 的桌面应用,用于计算 CS:GO/CS2 饰品倒余额的利润与亏损,支持完整的记录生命周期管理。

倒余额:在 BUFF 平台用人民币买入饰品,在 Steam 市场卖出获得余额(等同于人民币打折兑换成 Steam 余额)。

功能

  • 计算器 — 输入 BUFF 买入价与 Steam 市场参考价,自动计算折扣率、利润率、净收入、手续费
  • 历史记录 — 完整的记录生命周期:计算 → 购入 → 冷却中 → 可出售 → 已售出
  • 参数管理 — 自定义 Steam 服务费率、冷却天数,以及皮肤字典管理(类别 → 系列 → 皮肤名称)
  • 皮肤字典 — 自动收集历史输入的系列与皮肤名称,支持自动补全、手动编辑、重命名、删除
  • 分析与导出 — 按类别/系列/状态/折扣率筛选记录,聚合统计面板,CSV/JSON 导出
  • 设置 — 语言切换(中文/English)、重置字典、重置所有设置

技术栈

技术
桌面壳 Tauri 2
前端框架 React 19 + TypeScript 5.8 (strict mode)
构建工具 Vite 7
存储 @tauri-apps/plugin-store (JSON 文件)
后端 Rust 2021 edition
样式 Dell 1996 设计系统(详见 DESIGN.md

快速开始

前置依赖

安装与运行

# 安装依赖
bun install

# 启动开发模式(前端 Vite 开发服务器)
bun run dev

# 启动 Tauri 桌面应用开发模式
bun run tauri dev

# 生产构建
bun run tauri build

构建产物的安装包位于 src-tauri/target/release/bundle/

项目结构

cabbage/
├── AGENTS.md                  # AI agent 开发上下文
├── DESIGN.md                  # Dell 1996 视觉设计系统规范
├── src/
│   ├── main.tsx               # React 入口
│   ├── App.tsx                # Shell:导航、视图路由
│   ├── App.css                # 全局样式(实现 DESIGN.md tokens)
│   ├── types/index.ts         # 领域类型定义
│   ├── utils/calculate.ts     # 利润/费率计算逻辑
│   ├── hooks/
│   │   ├── useSkinRecords.ts  # 饰品记录持久化
│   │   ├── useSkinDictionary.ts  # 皮肤字典持久化
│   │   └── useAppSettings.ts  # 应用设置持久化
│   ├── components/
│   │   ├── CalculatorView.tsx
│   │   ├── SkinEntryForm.tsx  # 计算器表单(含自动补全)
│   │   ├── HistoryView.tsx
│   │   ├── SkinRecordList.tsx # 记录列表(筛选、排序、聚合、导出)
│   │   ├── ParamsView.tsx     # 费率设置 + 字典编辑器
│   │   ├── SettingsView.tsx   # 应用信息 + 数据管理
│   │   └── Sidebar.tsx
│   └── i18n/
│       ├── zh-CN.json
│       └── en-US.json
├── src-tauri/                 # Rust 后端
│   ├── src/lib.rs
│   ├── src/main.rs
│   └── tauri.conf.json
└── docs/
    └── roadmap.md             # 产品路线图

开发路线

所有计划的 P 级(P0-P5)已经完成。详情见 docs/roadmap.md

许可

MIT

About

一个基于 Tauri 2 的桌面应用,用于计算 CS:GO/CS2 饰品倒余额的利润与亏损,支持完整的记录生命周期管理。

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages