# Tally **Repository Path**: uny_luo/tally ## Basic Information - **Project Name**: Tally - **Description**: 这是一个基于Avalonia的记账软件 - **Primary Language**: Unknown - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-12-08 - **Last Updated**: 2025-11-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Tally 收支管理应用 ## 项目简介 Tally 是一个基于 Avalonia UI 框架开发的跨平台桌面收支管理应用,旨在帮助用户记录和分析个人财务状况。应用支持预算管理、收支记录、类别管理、全局搜索、数据可视化等功能,并集成了 OCR 识别和大语言模型智能解析账单信息。 ## 主要功能 - **预算管理**:设置预算周期和金额,提供预算预警功能 - **收支记录**:支持手动添加或通过 OCR 识别图片中的账单信息 - **类别管理**:自定义收入和支出分类 - **全局搜索**:根据标题、金额、分类等条件搜索历史记录 - **数据可视化**:图表展示收支趋势和预算执行情况 - **天气与新闻**:集成天气和新闻信息获取功能 - **黄历查询**:提供中国传统黄历信息查询功能 ## 技术架构 - **前端框架**:使用 Avalonia UI 实现跨平台界面 - **数据存储**:采用 SQLite 数据库进行本地数据持久化 - **网络请求**:集成阿里云百炼平台 API 实现 OCR 识别和大语言模型解析 - **架构模式**:采用 MVVM 模式,通过服务定位器实现依赖注入 - **测试框架**:使用 xUnit 进行单元测试 ## 核心模块 - **数据模型**:定义预算、分类、收支记录等核心数据结构 - **数据访问**:提供数据库操作服务,支持 CRUD 操作 - **业务服务**:实现预算计算、数据同步、提醒触发等业务逻辑 - **视图模型**:处理界面交互逻辑,实现数据绑定 - **视图组件**:包含预算管理、收支记录等主要功能界面 ## 第三方服务 - **OCR 识别**:使用阿里云百炼平台的 OCR 服务 - **大语言模型**:集成阿里云百炼平台的 Qwen 模型 - **天气数据**:集成第三方天气 API - **新闻数据**:集成第三方新闻 API ## 许可协议 本项目遵循 MIT 许可协议,详细信息请参阅 LICENSE 文件。 ## 开发环境 - .NET 7 SDK - Avalonia UI 框架 - SQLite 数据库 - 阿里云百炼平台 API ## 项目结构 - **Klear**:主应用程序项目,包含界面和应用逻辑 - **Klear.Library**:核心类库,包含业务逻辑和数据访问层 - **Klear.UnitTest**:单元测试项目 ## 贡献指南 欢迎贡献代码!请先阅读项目文档,了解代码规范和提交要求。建议从简单的问题开始,逐步深入了解项目结构。 ## 联系方式 如有任何问题或建议,请通过 Gitee 平台联系项目维护者。