一个基于 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