BeeCount
beecount-website.pages.dev Self-hostedPrivacy-first cross-platform personal expense tracker (Android/iOS/Web) with offline-first design. Multi-cloud sync options — self-hosted BeeCount Cloud, iCloud, Supabase, WebDAV or S3 — keep data under user control.
- Homepage: beecount-website.pages.dev
- GitHub: github.com/TNT-Likely/BeeCount
- iOS App: apps.apple.com/app/id6754611670
- Android App: play.google.com/.../com.tntlikely.beecount
- Web info: web-check.xyz/check/beecount-website.pages.dev
BeeCount Source Code
Author
Description
Local-first bookkeeping for iOS/Android/Web · Self-hosted cloud + iCloud/WebDAV/S3 sync · AI capture · MCP | 本地优先的跨端记账 · 自建云 + iCloud/WebDAV/S3 同步 · AI 记账 · MCP
Homepage
https://count.beejz.comLicense
NOASSERTION
Created
06 Sept 25
Last Updated
12 Jul 26
Latest version
Primary Language
Dart
Size
122,844 KB
Stars
1,909
Forks
262
Watchers
1,909
Language Usage
Star History
Top Contributors
-
@TNT-Likely (604)
-
@e74yp8 (4)
-
@pan071 (2)
-
@LeibNici (2)
-
@pullfrog[bot] (2)
-
@Kratosmax (2)
-
@stoneReg (1)
-
@moduvoice (1)
-
@wait-more (1)
Recent Commits
-
TNT-Likely (12 Jul 26)
feat: 账本支持多币种(v30)——交易记原币+折本位币快照,统计自动折算 (#397) * feat: 账本支持多币种(v30):交易记原币+折本位币快照,统计自动折算 - 交易表加 currency_code/native_amount(schema v30,迁移回填 currency_code=账户币种、native_amount=amount,单币种账本零变化) - 记账录入:账户币种≠本位币自动出汇率行+折算预览(无开关);无账户交易可手选币种(L12);编辑外币交易按隐含汇率回显;汇率缺失阻断保存 - 账本维度统计折本位币:repo 13 处+UI/Service 15 处切 nativeAmount??amount;账户余额/资产页仍原币(回归锁) - Repository 带折算兜底(AI/周期记账落外币账户先查汇率);金额变更联动折算(与云端对称) - 补折算横幅(检测存量未折算外币交易,确认后按当前汇率重算)+改本位币全量重算,重算逐笔记 change(L13) - 同步:payload 带两字段;apply 快照保护(旧客户端改备注不丢折算,改金额退化 1:1 可捞回) - CSV 导入补两列;i18n 三语;统计页折算脚注 * fix: 记账选外币时自动拉取汇率,修复「汇率获取失败」 记账页是汇率的新消费场景:用户可能从没进过资产页/汇率页(exchange_rates 表为空), 且手选币种不在 usedCurrencies(账户币种∪主币种)里,常规 refresh 永远不会拉它。 - refreshExchangeRates 加 extraQuotes 参数,把记账页所选币种并入拉取集合 - 金额弹窗检测「外币且本地无汇率」→ 自动拉一次(同币种只试一次,拉取中显示 1 XXX = … 占位;失败回落「汇率获取失败」由用户手填,L8 阻断兜底不变) * feat: 多币种记账体验优化(测试反馈 1/2/6) - 交易列表外币显示其币种符号(US$/JP¥ 等),本位币维持纯数字(反馈1) - 币种标移到金额旁,点开即选;汇率行常态纯展示,仅获取失败时可点手填(反馈2) - 币种优先联动(反馈6):切币种 → 账户重置不选 + 账户列表按新币种过滤刷新; 修复 AccountSelector 只显示本位币账户的旧过滤(外币账户原本选不到) * fix: 账本编辑改本位币被静默吞掉 + 字段改名「账本本位币」(反馈7) - 确认弹窗误用可能已随入口弹层销毁的参数 context,mounted=false 时静默 return 连基础保存都被吞 → 改用 State 的 context/mounted - 账本编辑里「币种」label 改为「账本本位币」,与资产页用户级「主币种」区分 * style: 编辑弹窗币种标移到金额左侧,折算预览金额下方,去掉汇率行(反馈9) 汇率仍自动拉取/隐含汇率内部计算,只是不再展示数字;获取失败时折算行 变为错误提示,点击可手填(L8 兜底保留) * fix: 币种标固定在金额表达式最左侧,折算预览回归金额模块区域(反馈11) 运算模式下币种标原本夹在「10 + 20」中间;折算预览原本渲染在备注框之后 (视觉落在账户选择上方)——移入金额区 Column 内、金额/等号行正下方 * feat: 交易列表外币金额下方显示 ≈ 折算小字(反馈13) * feat: CSV 导出/导入支持币种列(反馈10)+ 列表折算移到标签右侧(反馈15) - 导出:金额后新增「币种」列(currencyCode??账户币种??本位币,自包含可回导) - 导入:表头自动识别 币种/貨幣/currency;字段映射 UI 加币种项;CSV 币种列 优先于账户币种/本位币兜底,按有效汇率折算(ISO 格式校验防脏值) - 列表 ≈折算小字与标签同行(标签右侧),无标签时独占该行 * style: 列表有折算小字时标签最多展示 1 个,无折算保持 2 个(反馈16) * fix: 改主币种后旧币种交易折算不生效(反馈17)+ 文案改「主币种」 - 根因:改本位币瞬间本地没有「以新主币种为 base」的汇率组,全量重算因缺 汇率整体跳过(绝不 1:1 硬折的红线行为)→ 旧交易折算值保持=原值,显示端 判定为未折算 → 重算前先 force 拉新主币种汇率;L11 横幅补折算同样处理 - 「账本本位币」文案三语改「主币种」(资产页用户级主币种语境不同,值 几乎恒相同,不引入混淆;设计文档保留「本位币」作技术术语) * fix: 转账金额弹窗隐藏币种标(转账币种恒=账户币种,选了会被忽略,纯误导) * fix: 审查修复(App):重算脏值/换账户联动/跨账本移动/synthetic 币种/统计口径 - 改主币种全量重算:缺汇率不再保留旧本位币折算值(native≠amount 使 L11 永远检测不到的永久静默错值)→ 退化 =amount 可被横幅捞回 - 补折算/改主币种前的汇率拉取带上账本实际涉及的外币(extraQuotes),无对应 账户的币种(CSV 导入/手选)此前永远补不上 - updateTransaction 换账户时按新账户币种重新解析折算(此前只联动金额, 转账换账户对后币种残留旧值) - updateTransactionLedger 跨账本移动后按新账本主币种重算折算快照 - 金额弹窗解析共享账本 synthetic 账户(负 id)币种(新 repo 方法 getAccountCurrencyByAnyId),成员选 Owner 外币账户不再被静默按本位币 - getCategorySummary 平均值改折算口径(原 AVG 原币与 SUM 折算混用,平均可 大于总额);getTagStats/getCategorySummary 补 exclude_from_stats 过滤 - 重算包进单事务(万笔账本 2 万次 commit → 1);addTransaction 兜底在两字段 显式传入时零查询直通;删除 2 个 dead i18n key * fix: 改主币种后统计立即刷新(反馈19) 刷新信号(stats/budget/ledgerList)原排在 await 云同步之后——重算产生的 几百条 change push 可能耗时数十秒甚至失败,期间首页/账本页统计一直显示 旧数据。信号提前到本地重算完成后立即发;同步移到最后并 catch(失败不 影响本地展示,下次同步兜底) * fix: 账本余额/日历/年度报告的折算口径漏网(反馈:改主币种余额不更新) 系统排查 lib/data/repositories 全目录(上次 grep 路径漏扫)+ 年度报告: - getLedgerStats 账本余额裸加 t.amount(多币种账本 CNY+JPY 直接相加,改 主币种不随折算更新)→ 折 nativeAmount??amount。这是「我的页面/账本页 余额不更新」的根因,双页面同源一处修复 - getDailyTotalsByMonth(日历日收支)裸加 amount → 折算 + 补 exclude 过滤 (与首页/分析页口径统一) - 年度报告「最大单笔支出/收入」按 amount 原币比较(多币种下 5000 JPY 会 误判为比 300 CNY 大)→ 按折算值比较 - 确认 account_repository 全部账户维度(正确)、allAccountsTotalStats 无 消费者(dead code) * fix: 分类详情金额排序分支的日小计/排序折算口径(穷尽审计) 穷尽核对 210 处 .amount 引用后仅剩这一处活跃 bug: - category_detail 金额排序分支日小计裸加 amount(时间排序分支/顶部汇总 都已折算)→ 同页两套口径,多币种下金额排序下小计偏大 → 折 nativeAmount - 金额排序 ORDER BY 改按 coalesce(native,amount)(多币种下 5000 JPY 不再 因原币面值大而排在 300 CNY 前,与年报 largest 比较同口径) - getAllAccountsTotalStats(死代码,无消费者)加口径警示注释:跨账本总收支 正确口径是 rate 折主币种非 nativeAmount,勿来日误用 * fix: 分类详情/日历/搜索/标签详情列表补传币种+折算给 TransactionListItem TransactionListItem 早已支持币种符号+≈折算小字,但这 4 个页面(共 6 处调用) 只传了 amount、漏传 currencyCode/nativeAmount(默认 null → 组件判定非外币 → 不显示)。补齐后与首页/明细列表一致。 全局审计所有 6 处 TransactionListItem 调用点现均传币种;account_detail (账户维度,用账户币种展示原币,正确)、recurring(周期模板无折算概念)、 category_rank_row(分类汇总已折本位币)按语境正确,非漏传。 * feat: 币种选择弹窗加国旗+汇率;记账币种标国旗胶囊样式(反馈) - 引入 country_flags 包(SVG,两端渲染;emoji 国旗安卓不显示故弃用) - countryCodeForCurrency:币种→国家码(前2位派生 + 欧元/区域法郎/贵金属等 无国旗货币返 null 兜底占位) - 币种选择弹窗:每行加国旗 leading + 汇率 subtitle(rateBase 传入时拉一次 全量 base→quote 汇率展示 1 该币种≈x 主币种;override 优先,缺失省略) - 记账弹窗币种标:纯文字 → 浅底胶囊 + 小国旗 + code + 下拉箭头,更醒目; _pickCurrency 传 rateBase=账本主币种,选币种时看得到汇率 - 多币种记账开关:评估后不做(与 L7 无开关决策冲突,且外币账户 footgun) * fix: 新台币(TWD)国旗改用中国国旗(中国大陆市场合规) * feat: 币种选择弹窗常用货币置顶(CNY/USD/EUR/JPY/HKD 等 11 种) kCommonCurrencyCodes 按顺序置顶,其余按地区原顺序;搜索时常用匹配项同样 优先。中国用户 + 出境/外贸高频币种排前面,不用滚到地区分组里找。 * feat: 欧元显示欧盟旗;币种名全部走 arb(151 三语);补 TOP/常用置顶 - 欧元:country_flags 有 eu.si 资源但 fromCountryCode 不认 EU → 引 jovial_svg 照包内方式直接渲染欧盟旗;抽共享 currencyFlag(弹窗+记账币种标统一,区域 货币符号占位) - 币种名改为全部走 arb(反馈):151 币种补齐 zh/zh_TW/en 三语(简体译名+简转繁+ 英文兜底),删临时内置简体 map 与 locale-aware 逻辑,回到 arb 驱动;缺翻译由 en template 兜底英文 - 补 TOP(汤加潘加)中文名 * style: 记账币种标国旗圆角对齐 4
-
TNT-Likely (11 Jul 26)
style: 关于页/配置页 list 分割线统一缩进避开 icon (#396) about_page(3 处)+ config_import_export_page(2 处)的裸 Divider 换成 BeeTokens.cardDivider(context),与其它设置页一致:左缩进 48 对齐 AppListTile 内容、避开 leading icon,暗黑不显示。
-
TNT-Likely (11 Jul 26)
feat: 关于页重设计、6 款皮肤、云同步状态修复、明细/设置暗黑视觉优化 (#395) * feat(关于页): 重设计为社媒图标按钮布局,新增真实 logo 与 Telegram 群入口 * fix: beecount-cloud 同步完成后刷新「我的」页同步状态 本地新增/修改交易触发的 auto sync push 成功后,SyncEngine.getStatus 的 _statusCache 未失效(手动上传/下载路径都会 remove,唯独 sync() 遗漏),「我的」页一直命中旧缓存显示「本地有更新」,必须手动去详情页下拉刷新才更新。 修复:sync() 完成后清本账本 _statusCache(clearStatusCache);并新增 PushCompleted 事件在 push>0 时 emit,listener 收到后 bump syncStatusRefresh 触发 syncStatusProvider 重读。补 e2e 回归测试(禁用清缓存即复现 localNewer)。 * feat(皮肤): 新增 6 款 Header 皮肤(丝带/气泡/星系/低多边形/棱镜/水磨石) 代码绘制、跟随主题色、亮暗两套,沿用现有皮肤 part 模式;三语言(简/繁/英)i18n,韩语兜底英文;含 smoke test。 * style: 明细列表暗黑模式颜色协调,并迁移 tokens 到 withValues - 每日汇总 header 去掉 surface 深灰底,与交易行一样透明,亮暗都显示同一列表背景 - 暗黑 day 之间补 1px 白 8% 分隔线(原暗黑无线,靠 header 深灰块分隔,header 透明后需显式补上) - tokens.dart 全部 withOpacity → withValues,消除 29 处 deprecated 告警 * style: 设置项分割线缩进避开 icon,暗黑分割线策略调整 - 设置项分割线(cardDivider)默认缩进 48 对齐 AppListTile 内容、避开左侧 icon;卡外全宽线(mine 顶部)传 indent 0 - 暗黑模式:设置项去掉分割线(纯黑极简,靠间距+主题色边框),明细列表 day 线拆出独立 token(listDayDivider)亮暗都保留
-
sunxiao (11 Jul 26)
docs: 修正语言支持描述为「官方三语+社区韩语」,移除虚列的未实现语言
-
moduvoice (11 Jul 26)
feat(i18n): add Korean (ko) translation (#388) * feat(i18n): add Korean (ko) translation Add a complete Korean (ko) localization: lib/l10n/app_ko.arb covering all 2159 keys from the English template (en) with full key parity and placeholder preservation, plus registration of the new locale in MaterialApp.supportedLocales, the language settings page, the appearance settings summary, and the onboarding language picker, following the same pattern already used for zh / zh_TW. 한국어(ko) 번역을 추가합니다. * chore: regenerate l10n files for Korean locale (flutter gen-l10n) Ran `flutter gen-l10n` (Flutter 3.27.3) against the existing app_ko.arb to add ko to supportedLocales/lookupAppLocalizations and generate app_localizations_ko.dart, per maintainer request on PR #388. Co-Authored-By: Claude Sonnet 5 <[email protected]> --------- Co-authored-by: Claude Sonnet 5 <[email protected]>
-
sunxiao (08 Jul 26)
style(搜索): 移除 #383 残留的多余 import(database_providers 已由 providers.dart 提供)
-
Qinian (08 Jul 26)
feat(搜索): 搜索结果页新增收支汇总展示 (#383) * feat(搜索): 搜索结果页新增收支汇总展示 1、search_page.dart结果统计行新增支出/收入金额汇总,按搜索结果实时计算 2、新增_buildSummaryChip辅助方法,复用BeeTokens收支颜色体系 3、ARB及l10n文件新增searchSummaryIncome/searchSummaryExpense多语言文案(简体/繁体/英文) * fix(搜索-汇总统计): 修复搜索结果汇总行大额金额溢出及换行问题 1、_buildSummaryChip金额改用formatBalance紧凑格式(万/k/M),杜绝超长数字 2、chip包Flexible+Text加softWrap:false/ellipsis,防止RenderFlex黄黑条和换行 3、从currentLedgerProvider获取currencyCode传给formatBalance * refactor(搜索页-汇总统计): 优化汇总金额显示稳健性及代码规范 1、汇总chip改为Expanded+Flexible(loose)布局,正常金额取自然宽度展示,极端金额截断省略不再触发RenderFlex溢出 2、新增_totalExpense/_totalIncome缓存字段,在_searchResults更新时计算一次,消除build()中重复全量遍历 3、收入fold统一补充.abs(),与支出写法对称 4、汇总chip的fontSize及间距SizedBox改用.scaled(context,ref),遵循项目字体缩放规范 * fix(搜索页-汇总统计): 修复隐藏金额对汇总行不生效及中英文单位错误 1、_buildSummaryChip改用AmountText替代手写formatBalance,隐藏金额开启时汇总行金额自动打码为****,与列表项行为一致 2、AmountText按languageProvider自动切换万/k/M单位,修复原hardcode中文环境导致英文界面仍显示「万」的问题 3、移除currencyCode参数及build()中的currencyCode变量,币种由AmountText内部自动读取,消除冗余依赖 --------- Co-authored-by: ChangAn <[email protected]>
-
Qinian (08 Jul 26)
feat(分类管理): 实现拖拽排序自动滚动功能 (#387) 1、移除外层ListView包裹,让ReorderableGridView直接可滚动 2、移除shrinkWrap和NeverScrollableScrollPhysics限制 3、调整padding配置,保持原有边距效果 Co-authored-by: ChangAn <[email protected]>
-
sunxiao (08 Jul 26)
ci: 发版补装 Android SDK 36 并同步 iOS Podfile.lock(配合 #380 image_cropper 10.0.0 升级)
-
e74yp8 (08 Jul 26)
fix: 升级 image_cropper 至 10.0.0,修复 Android 15 裁切按钮被状态栏遮挡 (#380) - image_cropper: 8.0.2 → 10.0.0(uCrop 2.2.11 原生支援 edge-to-edge) - compileSdk: 35 → 36(image_cropper 10.0.0 要求) - 新增 okhttp:4.12.0 依賴及 proguard keep 规则 - 保留 image_cropper_platform_interface: 7.1.0 override(7.2.0 需 Flutter ≥ 3.27.6)
-
sunxiao (02 Jul 26)
chore: l10n 生成文件回归 Flutter 3.27.3 标准输出(#372 作者用 3.29 生成致本地 run 后文件变脏)
-
sunxiao (02 Jul 26)
chore: 刷新云同步子包 pubspec.lock(补充主应用新增的传递依赖)
-
Stonely (02 Jul 26)
feat(voice): 语音记账VAD优化(#252) (#372) * docs: 语音记账 #252/#357 三 PR 拆分实施方案 依据维护者 PR #361 Review 将单体 PR 拆为 A(静音/VAD)、B(触发方式)、C(多模态)。 Co-authored-by: Stonely <[email protected]> * feat(voice): #252 触发方式共存与按住说话 + 竞态修复 - VoiceTriggerMode 自动检测/按住说话,设置页可选 - voice_trigger_mode 纳入多设备同步 - 按住说话启动录音期间松手丢弃 orphan 录音 - 录音保持 WAV(多模态 m4a 在 PR C) - 静音滑块 onChangeEnd 写持久化(继承 PR A) Co-authored-by: Stonely <[email protected]> * docs: 定稿 #252 A+B 合并交付方案与测试说明 - 更新三 PR 拆分文档:#252 单 PR(A+B),#357 待合入后从 main 独立开发 - 新增 voice-billing-252-test-delivery.md(8 项单测 + 手测清单) - 明确本 PR 不含 audioMode/多模态/m4a Co-authored-by: Stonely <[email protected]> * fix(voice): #252 修复语音设置多设备同步覆盖,加固按住说话上限/反馈/竞态 依据 PR #372 维护者评审意见整改: - 同步覆盖(必改):snapshotForSync 仅在本机曾显式配置时才携带 voice_trigger_mode / voice_silence_timeout_ms,避免未设置端回推空值清空 server 上他机的语音设置; 补「未设置端不携带语音 key」方向单测。 - 按住说话 60s 上限:上限判定统一挪到两模式共用的 _startTimer,防止长按产出超大 WAV。 - 按住说话失败反馈:_startRecording 失败时 hold 模式直接 toast 兜底并重置状态。 - 竞态与 mounted 加固:_onHoldStart 新增 _isStarting 守卫覆盖启动中窗口; _discardRecording 加 mounted 保护;ensureLoaded 的 Completer 先 complete 再判 mounted。 - 文案/颜色规范化:识别结果/自动提示等硬编码中文走 arb(en/zh/zh_TW);grey/white 换 BeeTokens。 - 同步刷新:sync 路径改用 reload() 替代 invalidate,消除设置页闪回默认值。 - 移除 docs/design 下两个过程性文档;撤回 app_zh.arb 中 searchBatchModeWithCount 无关改动。 Co-authored-by: Cursor <[email protected]> --------- Co-authored-by: Stonely <[email protected]> Co-authored-by: Cursor <[email protected]>
-
sunxiao (02 Jul 26)
ci: 发版变更记录每条 commit 带上提交人(GitHub 主页链接,API 查不到回退作者名)
-
e74yp8 (02 Jul 26)
chore(i18n): 补充繁体中文翻译 (#378) * chore(i18n): 补充繁体中文翻译 * chore(i18n): 补齐 zh_TW 翻译(简体字修正 + 两个遗漏 key + gen-l10n)
-
e74yp8 (02 Jul 26)
fix: 更新Dart最低版本要求至3.6.0 (#359)
-
e74yp8 (02 Jul 26)
refactor: 以dart:math标准库取代自制数学函数 (#375)
-
TNT-Likely (28 Jun 26)
fix: 洞察页日均/月均/年均按已发生单位数计算(原按有记账单位数,高估) (#366) 原 _computeAverage 用"金额>0 的单位数"做分母,会系统性高估:本月过了 30 天、 只在 10 天有消费,会按 10 天平均。改为对 filteredSeriesRaw 全长取平均——它已按 时间裁到"已发生"区间(当前周期天序列到今天、当前年月序列到当前月且尊重自定义 每月起始日、年序列到今年),零值单位照样计入分母。 抽出 lib/utils/analytics_average.dart 的 computeSeriesAverage 便于单测; analytics_page 改调它并删除旧实现。日/月/年三视角口径统一。
-
TNT-Likely (28 Jun 26)
fix: CSV 导入非 ISO 日期按本地时间解析,修复 +8 小时偏差 (#365) DateParser 三条解析路径时区口径不一致:ISO/中文路径返回本地时间, "常见格式"路径却用 DateFormat(fmt).parse(str, /*utc=*/true) 强标 UTC。 非零填充日期(如 2026-6-25,单数字月份)过不了 Dart 严格的 DateTime.parse (要求 2 位月/日),掉进常见格式路径被当成 UTC,本地(UTC+8)展示时整体 +8h; 部分交易因此跨日/跨月,表现为"记账丢失"(实际未丢,1204 笔全部导入)。 修复:常见格式路径去掉 utc:true,按本地墙钟解析,与 ISO/中文路径口径统一 (原则:除非串显式带 UTC 标记,否则一律本地)。更新 date_parser 测试断言 并补单数字月份/月末不跨月/斜杠格式回归用例。
-
TNT-Likely (28 Jun 26)
fix: 去掉登录密码本地强校验(规则交服务端),修复合法密码被挡 (#358) (#364) - 删除 isValidPassword 本地校验(≥6位+字母+数字),服务端能登录的密码不再被 App 挡下 - 修正邮箱校验报错文案误写成字符串字面量的 bug(会把代码当文案显示) - 登录页新增「注册指引」,按当前云后端(Supabase/BeeCount Cloud)跳对应文档,复用帮助中心内嵌 WebView 打开 - 清理已成死文案的 authPasswordRequirementShort
-
TNT-Likely (25 Jun 26)
feat: AI 数据共享合规(应用内告知+同意、隐私政策重写并可达、移除 OpenAI 字眼) 修复 App Store 3.5.2 因 Guidelines 5.1.1(i)/5.1.2(i) 被拒。
-
TNT-Likely (23 Jun 26)
feat: 云同步页新增同步说明(增量/全量、何时走全量、不支持断点续传、日志中心排查入口) (#352)
-
TNT-Likely (23 Jun 26)
feat: 货币扩充至全量 ISO 4217(151 种,新增 KES/XAF/XOF 等;长尾英文名兜底) (#351)
-
TNT-Likely (23 Jun 26)
feat: 明细列表「备注显示方式」开关(分类优先/备注优先) (#350) * feat: 明细行标题组装纯函数(支持备注优先模式) * feat: 新增备注显示方式偏好并入外观同步 * feat: 明细行接入备注显示方式开关 * feat: 外观设置新增备注显示方式下拉选项 * feat: 备注显示方式纳入云端外观读回与对账 * feat: 配置备份带上备注显示方式
-
TNT-Likely (19 Jun 26)
fix: 周期记账首笔包含今天(修复每天周期永不生效)+ 详细日志 (#346)
-
TNT-Likely (19 Jun 26)
fix: 图片识别非账单时提示「未识别到账单」而非「识别失败」 (#345) * fix: 图片识别非账单时提示「未识别到账单」而非「识别失败」(真异常才报失败) * fix: 自动记账非账单通知对齐为「未识别到账单」(failedCount>0 才报识别失败)
-
TNT-Likely (18 Jun 26)
feat: 账单标记 — 不计入收支 / 不计入预算 (#340) (#344) * feat: transactions 加 exclude_from_stats/budget 两列(schema v29) * feat: repo addTransaction/updateTransaction 支持 exclude 标记 * feat: 收支统计按 excludeFromStats 过滤(余额口径不动) * feat: 账户维度收支统计也按 excludeFromStats 过滤(余额/净值不动) * feat: 预算用量按 excludeFromBudget 过滤 * feat: 交易同步 push/apply 接 exclude 标记(apply 缺键保留) * feat: 记账面板更多选项区 + 不计收支/预算开关 + i18n * feat: 账单列表第二排显示不计收支/不计预算标签 * chore: 账单标记回归收尾(周期记账默认 false 无需改码)+ 修复 onSubmit 跨异步 context 告警 + schema 测试对齐 v29 * feat: 账单标记交互改为旗标图标+弹窗(替代更多选项展开区) * style: 账单列表的不计收支/不计预算标记改为标签样式 * test: 补 DateParser 单测;gitignore 忽略 .playwright-mcp/
-
TNT-Likely (18 Jun 26)
fix: 补 _FakeEngine 测试 mock 的 billGuard 参数(#329 接口变更后修复编译) (#343)
-
wait-more (18 Jun 26)
feat(ai): 优化 AI 识别 prompt 非账单过滤与智谱 API 超时配置 (#329) * feat(ai): 优化 AI 识别 prompt 与超时配置 - prompt_builder: 增加非账单内容预判断逻辑,非支付账单/收据/交易凭证时返回空数组 - zhipu_glm_provider: 增加 connectTimeout / receiveTimeout (20s) * feat: 截图记账添加 billGuard 前置过滤;Zhipu 超时可配 1. 截图/自动记账路径注入 billGuard 判断段 - prompt_builder: 新增 {{BILL_GUARD}} 占位符 + billGuardForImage 常量 - ai_extraction_engine / ai_bookkeeper: extractFromText/Image 新增 billGuard 参数 - auto_billing_service / image_billing_helper: 截图路径注入 billGuardForImage 2. ZhipuGLMProvider 超时可配 - connectTimeout / receiveTimeout / sendTimeout 构造函数参数化 - ai_provider_factory: 视觉/语音 120s,对话保持默认 --------- Co-authored-by: wait-more <[email protected]>
-
TNT-Likely (18 Jun 26)
fix: deep-link 经厂商主题变更重建后丢失修复(持久化待处理深链 + 就绪前台后认领打开) (#342) 部分厂商(如 ColorOS)在浏览器→App 拉起 beecount:// 深链时触发主题变更 (themeChanged)导致页面树重建,若在重建前 push 路由会被丢弃,用户看到「没打开」。 改为持久化待处理深链,等 appInitState==ready 且生命周期 resumed 后,在最终稳定页面树 上认领打开(去重 + 20s 过期保护)。快捷项与 URL 深链两条路径统一汇到 _openDeepLink。 demo/applink_test.html 补充 AI 小助手 / 手动记账 / 旧版兼容 / 异常验证条目用于复现。
BeeCount Website
Website
蜜蜂记账 - 简洁安全的个人记账工具 | 蜜蜂记账
蜜蜂记账是一款开源免费的个人记账应用,支持 iOS 和 Android。简洁易用,数据安全,支持多种云同步方式。
Redirects
Does not redirect
Security Checks
3 security checks failed (62 passed)
- Uncommon Clickable URL
- Domain is Blacklisted
- Risky Category Detected
Server Details
- IP Address 172.66.47.91
- Location San Francisco, California, United States of America, NA
- ISP CloudFlare Inc.
- ASN AS13335
Categories
Some proxies may block this service, as it falls into the following categories
- Free Hosting
Associated Countries
-
US
Safety Score
Website marked as very dangerous
0%
Blacklist Check
beecount-website.pages.dev was found on 1 blacklists
- ThreatLog
- AntiSocial Blacklist
- Artists Against 419
- Badbitcoin
- Bambenek Consulting
- CERT Polska
- CoinBlockerLists
- CRDF
- CryptoScamDB
- EtherAddressLookup
- EtherScamDB
- Fake Website Buster
- MetaMask EthPhishing
- NABP Not Recommended Sites
- OpenPhish
- PetScams
- PhishFeed
- PhishFort
- Phishing.Database
- PhishStats
- PhishTank
- Phishunt
- RPiList Not Serious
- Scam.Directory
- SecureReload Phishing List
- Spam404
- StopGunScams
- Suspicious Hosting IP
- ThreatFox
- TweetFeed
- URLhaus
- ViriBack C2 Tracker
Website Preview
BeeCount iOS App
App Info
BeeCount - Simple Ledger
BeeCount is a fully free, open-source personal ledger app that puts privacy protection and data sovereignty first. Open and Transparent - 100% open-source code, trusted by 2000 + users on GitHub - All code is publicly auditable, community-supervised - Business Source License — completely free for personal use - Active developer community with continuous updates Self-Hosted and Multi-Device Sync - Full control of your data — the defining feature of BeeCount - Sync via BeeCountCloud, Supabase, S3, WebDAV, iCloud, and more - A great fit for users with Synology, UGREEN, Nextcloud, and other NAS - Your data sovereignty is yours alone; developers cannot access anything AI Smart Bookkeeping - Snap Alipay or WeChat bill screenshots and AI auto-detects amount and merchant - Categories are auto-matched by merchant name - System shortcut integration for one-tap screenshot logging - Customizable AI: built-in Zhipu GLM, plus other compatible LLM providers (Zhipu / DeepSeek / SiliconFlow / etc.) Complete Ledger Features - Transactions with amount, category, date, note, and attachments - Multiple ledgers — separate personal, work, and investment - Multiple accounts — cash, debit card, credit card - Two-level categories and a tag system for flexible labeling - Image attachments per transaction - Recurring entries for rent, salary, and other fixed flows - Budget management to keep monthly spending in check Data Insights - Monthly and yearly reports with category rankings at a glance - Income and expense trend analysis to stay on top of your finances - Beautiful annual recap posters, one-tap shareable Data Safety - Offline-first — works without a network connection - CSV and TSV import and export, compatible with major apps - One-tap export of categories, tags, budgets, and other settings - Privacy mode to hide sensitive amounts Personalization - Multiple theme colors to express your style - Dark mode for comfortable nighttime use - Font scaling for accessibility - Three languages supported: Simplified Chinese, Traditional Chinese, English Why BeeCount Traditional ledger apps store your data on third-party servers, raise privacy concerns, can lose your data when services shut down, paywall premium features, and push ads. BeeCount lets you self-host with full data control, is 100% open-source and auditable, works offline, is completely free for personal use with no ads, and is community-driven with ongoing updates. More than a ledger — a lifestyle of data sovereignty. Join BeeCount and take charge of your financial data. GitHub: https://github.com/TNT-Likely/BeeCount
Rating
Version Info
- Current Version 3.3.0
- Last Updated 09 Jun 26
- First Released 11 Nov 25
- Minimum iOS Version 15.5
- Device Models Supported 127
App Details
- IPA Size 45.07 Mb
- Price Free (USD)
- Age Advisory 4+
- Supported Languages 3
- Developer 笑笑 孙
- Bundle ID com.tntlikely.beecount
Screenshots
BeeCount Reviews
More Secure Budgeting
-
A local-first personal finance app
-
A lightweight, self-hosted personal finance app for recording daily transactions and analyzing spending patterns. Self-hosted, with all data staying on your own server. Supports 2FA and OICD.
-
A free and open source personal finance manager. Firefly III features a clean and clear UI, is easy to set up and use, and is backed by a strong community. Regular updates bring new features, improvements, and fixes. There's also a hass.io addon, and compatibility with Home Assistant. Ensure your server is securely configured.
-
A full-featured cross-platform accounting application suitable for personal and small business finance. Stable and reliable, GnuCash offers a comprehensive suite of financial management tools. Available for Windows, Mac, Linux, and Android.
-
Utilizes plain text files and scriptable, command-line-friendly software for bookkeeping/accounting, offering full control over data. Popular tools include Ledger, hledger, and Beancount among others, providing a flexible and vendor-independent approach to accounting.
-
A self-hosted, opensource, privacy-first portfolio tracking and accounting tool for crypto and more. Support for all 3 major Operating systems and docker. The tool focus is on data self-sovereignty.
About the Data: BeeCount
Change History
- Added #531
API
You can access BeeCount's data programmatically via our API. Simply make a GET request to:
https://api.awesome-privacy.xyz/v1/services/beecount The REST API is free, no-auth and CORS-enabled. To learn more, view the API Docs or read the API Usage Guide.
Share BeeCount
Help your friends compare Secure Budgeting, and pick
privacy-respecting software and services.
Share BeeCount and Awesome Privacy with your network!