V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
shuaixiaoxiao
V2EX  ›  分享创造

做了个开源记账 App,支持自建 Supabase/WebDAV 同步

  •  2
     
  •   shuaixiaoxiao ·
    TNT-Likely · 1 天前 · 1622 次点击

    用了 10 年某记账 App ,越来越多广告和付费功能,索性自己做了个替代品。

    核心特性

    • 数据自主:支持自建 Supabase 或 WebDAV 服务器
    • 离线优先:本地 SQLite ,无网也能用
    • 完全开源:MIT License ,代码全公开
    • 无广告无追踪:零数据收集

    技术栈

    • Framework: Flutter 3.27
    • 状态管理: Riverpod
    • 数据库: Drift (SQLite ORM)
    • 云同步: Supabase / WebDAV
    • 支持平台: Android / iOS

    功能

    • 多账本管理
    • 分类统计和图表
    • CSV 导入导出
    • 自建云同步( Supabase/WebDAV )
    • 8 种语言支持

    为什么做这个?

    主要是想要一个纯粹的记账工具:

    • 不被广告打扰
    • 数据不被第三方控制
    • 不担心 App 突然跑路
    • 功能简单够用就行

    链接

    目前已经全家在用( 4 人),运行稳定。

    欢迎试用和提意见,感谢 🙏

    第 1 条附言  ·  13 小时 50 分钟前

    🎉 v1.5.3 更新发布

    感谢大家的关注和反馈!刚刚发布了新版本,主要更新:

    支持支付宝/微信账单导入

    • 新增账单类型选择器(通用CSV/支付宝/微信)
    • 支持 XLSX 格式导入(微信账单)
    • 智能表头检测,自动识别字段映射
    • 新增日语、韩语界面翻译

    📥 下载地址:https://github.com/TNT-Likely/BeeCount/releases/latest

    感谢 @*桥 成为第一位捐赠者(¥12),iOS TestFlight 众筹进度 1.67%

    有任何问题欢迎反馈!

    第 2 条附言  ·  7 小时 37 分钟前

    🎉 重大公告:筹款目标达成!iOS 版本即将到来

    📢 好消息

    非常激动地向大家宣布:蜜蜂记账的 iOS TestFlight 筹款目标已经达成!

    💰 筹款情况

    • 🎯 目标: $99(约 ¥720,Apple 开发者账号年费)
    • 💰 已筹集: ¥732(约 $101)
    • 📈 进度: 101.67% ✅

    感谢所有支持者的慷慨捐赠!

    🙏 特别感谢

    • *桥 - ¥12 - 2025-10-27
    • *睿 - ¥720 - 2025-10-27 🎉

    特别感谢 *睿 的大额捐赠,让我能够立即启动 iOS 版本的开发和发布!

    36 条回复    2025-10-27 22:28:50 +08:00
    xinru
        1
    xinru  
       1 天前 via iPhone
    支付宝等账单导入不了?
    yidinghe
        2
    yidinghe  
       1 天前 via Android
    @xinru 支付宝账单怎么导出?
    xinru
        3
    xinru  
       1 天前 via iPhone
    @yidinghe 账单-右上角三点-开具交易流水
    shuaixiaoxiao
        4
    shuaixiaoxiao  
    OP
       1 天前
    @xinru 我加一下
    xinru
        5
    xinru  
       1 天前 via iPhone
    @shuaixiaoxiao 支付宝,微信这些常用的支付工具账单导入适配一下。导入账单方便一些
    shuaixiaoxiao
        6
    shuaixiaoxiao  
    OP
       1 天前
    @xinru 好主意
    brsyrockss
        7
    brsyrockss  
       1 天前
    NB 手动点个赞
    cheese
        8
    cheese  
       18 小时 38 分钟前
    考虑下添加自动记账吗?现在在用一木,自动记账确实方便
    sutking
        9
    sutking  
       16 小时 37 分钟前 via iPhone
    前几天看到这个感觉挺棒的: https://github.com/glink25/Cent
    直接在浏览器里交互,完全没有跨平台的麻烦,数据库直接放在 GitHub 里,几乎完美的安全,再用上 pwa ,感觉非常理想了。
    FeranyDev
        10
    FeranyDev  
       16 小时 34 分钟前
    可以考虑加一个 ai 识图,将支付成功的截图分享到这个软件里面,可以自动识别金额、商家和消费类型以及消费时间、地点什么的
    runningman
        11
    runningman  
       16 小时 33 分钟前
    挺好的,已 clone
    pangdundun996
        12
    pangdundun996  
       15 小时 57 分钟前
    感谢分享,一直想做个类似的 app
    Ziuc
        13
    Ziuc  
       15 小时 46 分钟前
    感谢分享,学习了一下,看起来项目里没有针对 WebDAV 场景下跨设备同步时的并发修改与删除问题?
    ( WebDAV 同步状态下,在一台设备上执行删除后,将删除操作传播给其他触发同步的设备)
    shuaixiaoxiao
        14
    shuaixiaoxiao  
    OP
       15 小时 42 分钟前
    @brsyrockss 感谢支持!🙏
    shuaixiaoxiao
        15
    shuaixiaoxiao  
    OP
       15 小时 41 分钟前
    @runningman 感谢 clone !如果有任何问题或建议,欢迎提 Issue 或 PR 。
    shuaixiaoxiao
        16
    shuaixiaoxiao  
    OP
       15 小时 41 分钟前
    @pangdundun996 欢迎参考!代码完全开源( MIT ),可以随意使用和修改。
    shuaixiaoxiao
        17
    shuaixiaoxiao  
    OP
       15 小时 38 分钟前
    @sutking Cent 这个思路确实很赞!直接用浏览器 + GitHub 存储,很聪明。

    不过我还是选择了原生 APP ,主要是:
    - 离线体验更好,本地 SQLite 没网也能用
    - 性能会好一点,数据多了也不卡
    - 能做桌面小组件、通知这些

    其实各有优势,看个人需求。Cent 适合喜欢 Web 的,蜜蜂记账适合要原生的。

    都挺好,不冲突 👍
    shuaixiaoxiao
        18
    shuaixiaoxiao  
    OP
       15 小时 37 分钟前
    @FeranyDev 这个建议很好!识别截图自动记账确实能省很多事。

    技术上没问题,OCR + AI 提取信息,但有几个头疼的地方:

    1. 调 AI API 要钱(虽然不贵,但开源免费项目不太好搞)
    2. 本地跑 AI 模型,APP 会大几十 MB
    3. 隐私问题 - 用第三方 API 的话数据又出去了

    可能的办法是让用户自己申请 API key ,比如阿里云 OCR 、百度 OCR 这些,有免费额度。或者做成可选功能?

    我加到 TODO 里,看看有没有更好的方案。感谢建议!
    shuaixiaoxiao
        19
    shuaixiaoxiao  
    OP
       15 小时 30 分钟前
    @cheese 我下载了一木看了下,原理大概是挂一个悬浮窗识别截图,这里我记个 todo 吧,主要是考虑两点:
    1.隐私问题
    2.OCR 成本问题
    shuaixiaoxiao
        20
    shuaixiaoxiao  
    OP
       15 小时 30 分钟前
    @Ziuc 理解,有点类似于协同编辑?这个功能目前确实没有,我先记个 todo 研究下。
    thedog
        21
    thedog  
       14 小时 54 分钟前
    ios 国区好像没搜到,是还没上架吗?
    shuaixiaoxiao
        22
    shuaixiaoxiao  
    OP
       13 小时 47 分钟前
    @thedog 目前还没上架 App Store ,主要是需要 Apple 开发者账号($99/年)。

    现在有两个方案:

    **方案 1:自签名**(免费,稍微麻烦)
    - 用 Xcode 自己编译签名
    - 需要 Mac 电脑
    - 每 7 天需要重新签一次(免费账号限制)

    **方案 2:等 TestFlight**(推荐)
    - 正在众筹开发者账号费用
    - 目前进度 1.67%(¥12/$99 )
    - 达到目标后会立即上架 TestFlight

    如果你急着用,可以试试方案 1 。我可以提供详细的自签教程。

    或者如果方便的话,也欢迎支持一下众筹,早日让所有 iOS 用户都能用上 😄
    rcg1997
        23
    rcg1997  
       12 小时 34 分钟前
    自动识别这个功能,我用过一段时间现成的快捷指令,是苹果自带的屏幕识别,设定双击背板运行此快捷指令就可以自动识别付款界面,然后把结果填写到表格中,不涉及到在线 OCR 的 api 数量问题, 你看这个思路能有帮助吗?
    ldlywt
        24
    ldlywt  
       12 小时 32 分钟前 via Android
    很不错,就是图标不咋好看,建议换个简洁点的🥹
    Librola
        25
    Librola  
       10 小时 59 分钟前
    @shuaixiaoxiao #18 我觉得让用户自己配置 API 是很好的方案。另外我看安卓端有一些基于无障碍功能的自动记账方案是非 AI 的,单纯的针对特定界面进行关键词匹配,我觉得也可以作为一个备选方案,缺点就是可能 app 改了界面就得重新适配。
    runningman
        26
    runningman  
       10 小时 53 分钟前
    @shuaixiaoxiao 不知道是不是版本问题,flutter 版本比较新,但是编译打包的时候,总提示 plugin loader 相关的插件找不到
    tysb777
        27
    tysb777  
       9 小时 23 分钟前
    能不能导入京东 淘宝的账单
    yaoliyc
        28
    yaoliyc  
       9 小时 16 分钟前
    @shuaixiaoxiao #22 我用 altstore 安装 beecount-1.5.2-unsigned.ipa
    没成功 报什么参数错误 也不知道怎么回事。
    shuaixiaoxiao
        29
    shuaixiaoxiao  
    OP
       7 小时 36 分钟前
    @rcg1997 是个好的思路,我记下 todo 尝试下看看。
    shuaixiaoxiao
        30
    shuaixiaoxiao  
    OP
       7 小时 35 分钟前
    @ldlywt 我试试看,或者看能不能摇个专业的设计师参与进来重新设计下。
    shuaixiaoxiao
        31
    shuaixiaoxiao  
    OP
       7 小时 34 分钟前
    @runningman 我用的是 3.27.3 ,可以试试看,如果不行可以私我下报错看看。
    shuaixiaoxiao
        32
    shuaixiaoxiao  
    OP
       7 小时 33 分钟前
    @tysb777 还没支持,我加一下,应该就是和支付宝呢微信类似,适配下导出文件的格式即可。
    shuaixiaoxiao
        33
    shuaixiaoxiao  
    OP
       7 小时 32 分钟前
    @yaoliyc 没安装成功?我之前使用某思助手安装的,但是要先签名才可以安装。
    shuaixiaoxiao
        34
    shuaixiaoxiao  
    OP
       7 小时 30 分钟前
    @Librola 大致实现思路是这样子的,我调研一下哪个 ocr 准确点,不行的话就是适配常用支付软件的一些截图做纯文字识别。
    runningman
        35
    runningman  
       4 小时 5 分钟前
    @shuaixiaoxiao 我是升级到了最新的
    * What went wrong:
    An exception occurred applying plugin request [id: 'dev.flutter.flutter-plugin-loader', version: '1.0.0']
    > Could not find implementation class 'com.flutter.gradle.FlutterAppPluginLoaderPlugin' for plugin 'dev.flutter.flutter-plugin-loader' specified in jar:file:/Users/abc/.gradle/caches/jars-9/o_04e218ae1edf2416b8380193ef85b73c/gradle-1.0.0.jar!/META-INF/gradle-plugins/dev.flutter.flutter-plugin-loader.properties.
    shuaixiaoxiao
        36
    shuaixiaoxiao  
    OP
       3 小时 51 分钟前
    @runningman grade 安装的不对 这个 ai 搜下解决办法就好了
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   1055 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 18:20 · PVG 02:20 · LAX 11:20 · JFK 14:20
    ♥ Do have faith in what you're doing.