掘金 人工智能 05月21日 13:58
ios快捷指令+DeepSeek实现你的自动化智能分析对话账务助手
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

FinBot-Plus是一个基于SpringAI的记账跟踪机器人,它与Telegram深度集成,方便用户通过消息或图片记录收支。该应用利用大型语言模型(LLMs)处理财务数据,支持Claude、DeepSeek和Gemini等多种AI模型。用户可以通过自然语言查询财务数据,并接收每日定时总结。该应用使用SQLite数据库存储财务记录,并提供了详细的配置和使用指南,包括如何设置Telegram Bot、配置API密钥以及构建和运行应用程序。未来计划接入飞书和微信,进一步扩展应用场景。

🤖 **财务记录功能**:FinBot-Plus允许用户通过Telegram发送消息或上传图片来轻松记录收入和支出。机器人能够智能提取关键信息,包括金额、日期、类型(支出/收入)和备注,简化记账流程。

💡 **多模型AI集成**:该应用利用Spring AI 集成了多种主流大型语言模型,如Claude、DeepSeek和Gemini,用于处理和分析财务记录,提升数据处理的智能化水平。

🗣️ **自然语言查询**:用户可以使用自然语言向机器人提问,例如“总结一下昨天的开支”或“我上周在麦当劳花了多少钱?”,机器人将提供汇总的答案和见解,方便用户快速了解财务状况。

📅 **每日定时总结**:机器人会在每天上午9:00自动发送前一天的支出总结到用户配置的Telegram账户,方便用户及时掌握财务动态,养成良好的理财习惯。

⚙️ **数据库与技术栈**:FinBot-Plus使用SQLite数据库存储财务记录,并基于Java 21和Maven构建。用户需要配置Telegram Bot Token和AI模型的API密钥,才能正常使用。

FinBot-Plus

FinBot-Plus 是一个 SpringAI 应用程序,旨在作为记账跟踪机器人,它利用大型语言模型 (LLMs) 并与 Telegram 集成。用户可以通过简单的消息或上传图片来记录他们的支出和收入( iOS用户可以使用快捷指令的方式自动将你的每笔消费上传),然后使用自然语言查询他们的财务数据。该应用程序支持多种 AI 模型,如 Claude、DeepSeek 和 Gemini,用于处理和分析财务记录。

未来准备接入飞书,微信(风险比较高)等

功能特性

如何使用

前置条件

设置

    克隆仓库:

    git clone [https://github.com/your-username/FinBot-Plus.git](https://github.com/your-username/FinBot-Plus.git)cd FinBot-Plus

    配置 application.yml:打开 src/main/resources/application.yml 并填写以下详细信息:

    telegram:  userId: YOUR_TELEGRAM_USER_ID # 你的 Telegram 用户ID,用于定时消息  local: /path/to/save # 文件下载本地保存路径,例如 /Users/username/Downloads/finbot-plus-files  token: YOUR_TELEGRAM_BOT_TOKEN # 你的 Telegram Bot Token  proxyPort: YOUR_PROXY_PORT # 你的 SOCKS5 代理端口,例如 1080spring:  datasource:    url: jdbc:sqlite:/path/to/your/record.db # SQLite 数据库文件路径,例如 jdbc:sqlite:/Users/wanglongjun/Downloads/record.db  ai:    deepseek:      base-url: [https://api.deepseek.com](https://api.deepseek.com) # DeepSeek API 基础URL    anthropic:      base-url: [https://api.gptsapi.net](https://api.gptsapi.net) # Anthropic API 基础URL    gemini:      base-url: [https://openrouter.ai/api](https://openrouter.ai/api) # Gemini API 基础URL      model: google/gemini-2.5-flash-preview # Gemini 模型名称    mcp: # Model Context Protocol (MCP) 相关配置,用于工具调用      client:        stdio:          connections:            sqliteMcp:              command: uv              args:                - --directory                - /path/to/your/servers-2025.4.6/src/sqlite # MCP SQLite 服务路径                - run                - mcp-server-sqlite                - --db-path                - /path/to/your/record.db # MCP SQLite 数据库路径,与 datasource.url 保持一致

    注意

      YOUR_TELEGRAM_USER_ID 可以通过向 @userinfobot 发送消息来获取。YOUR_TELEGRAM_BOT_TOKEN 可以通过 @BotFather 创建机器人后获取。AI 模型的 API 密钥需要设置为系统环境变量,例如 ANTHROPIC_API_KEY, DEEPSEEK_API_KEY, GEMINI_API_KEY

    构建项目:

    mvn clean install

    运行应用程序:

    java -jar target/FinBot-Plus-0.0.1-SNAPSHOT.jar

    或者使用 Maven 运行:

    mvn spring-boot:run

Telegram 机器人使用

    启动机器人: 在 Telegram 中找到你的机器人并点击 "Start"。记录收支:
      直接发送文本消息,例如 "支出 100 晚餐" 或 "收入 500 工资"。上传包含交易信息的图片,机器人会尝试从图片中提取信息。
    更新记录: 如果需要修改已记录的信息,可以使用 recordNo(记录号)进行更新。例如,发送 `请把ID为RC202505140004的备注更新为麦当劳。查询记录: 向机器人提问,例如 "总结一下昨天的开支" 或 "我上周在麦当劳花了多少钱?"。每日总结: 机器人会在每天上午 9:00 自动发送前一天的支出总结到你在 application.yml 中配置的 telegram.userId

数据库结构

项目使用 SQLite 数据库,record 表的结构如下:

create table record(    record_no  TEXT not null        primary key,    date       TEXT not null,    amount     TEXT not null,    type       TEXT not null,    remark     TEXT,    sub_remark TEXT,    created_at TIMESTAMP default CURRENT_TIMESTAMP,    updated_at TIMESTAMP default CURRENT_TIMESTAMP);

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

FinBot-Plus 记账机器人 Telegram SpringAI LLMs
相关文章