ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

Wealthfolio 产品路线图深度解析:本地优先的个人投资追踪器如何从「基础记账」走向「智能投资分析」

Wealthfolio 产品路线图深度解析:本地优先的个人投资追踪器如何从「基础记账」走向「智能投资分析」 Wealthfolio 产品路线图深度解析本地优先的个人投资追踪器如何从「基础记账」走向「智能投资分析」【免费下载链接】wealthfolioA beautiful, private, local-first personal finance tracker. Investments, net worth, spending, and simulations.项目地址: https://gitcode.com/GitHub_Trending/we/wealthfolioWealthfolio 是一款主打**隐私、本地优先local-first**的个人理财与投资追踪桌面应用数据完全保存在用户自己的电脑上。本文以仓库根目录下的 ROADMAP.md 为骨架逐条解读其产品愿景、战略原则与五阶段路线图并结合src-coreRust 核心逻辑与srcReact 前端的真实实现验证哪些规划已经落地、哪些仍在演进帮助开发者与使用者理解该项目的产品方向与架构脉络。产品愿景帮助个人安全地积累财富ROADMAP.md 开篇即点明了项目的根本使命To help individuals build their wealth by providing a safe, privacy-focused and easy-to-use tool to track their investments and goals.即通过一款安全、注重隐私、易于使用的工具帮助个人追踪自己的投资与财务目标。愿景的核心词有三个——安全safe、隐私优先privacy-focused、易用easy-to-use它们贯穿了整份路线图的所有阶段也是后续判断每个功能优先级的第一原则。战略原则克制比堆功能更重要ROADMAP.md 列出五条战略构成产品决策的底层过滤器打磨一款聚焦核心功能的精致应用——不做大而全只做小而美通过「低于同行」Underdo the competition来竞争——用更简单、更聚焦的替代方案切入而不是在功能数量上硬拼对抗功能蔓延feature creep——主动拒绝把应用做臃肿不惜一切代价避免复杂性提供关于组合相对目标表现如何的清晰洞察——即用数据说话让用户一眼看清组合离目标还有多远。这五条战略与前端架构高度呼应从src/pages的目录结构看dashboard / holdings / performance / income / activity / settings整个应用只围绕持仓、绩效、收支、账户设置几个核心场景组织没有为营销或虚荣指标堆砌无关模块正是聚焦 essentials的具体体现。五大产品信念Wealthfolio 的价值锚点ROADMAP.md 明确列出了团队信奉的五条原则它们是路线图中每个勾选项背后的评判标准信念原文要点在仓库中的体现你的隐私财务信息只保存在你的电脑上你完全掌控自己的数据核心逻辑全部为本地 SQLitesrc-core Diesel SqliteConnection无强制云同步易于使用简洁设计任何人都能上手src/pages/onboarding/onboarding-page.tsx提供引导流程UI 组件高度组件化无隐藏成本免费或一次付费永久使用无订阅与意外费用项目为开源仓库见根目录 LICENSE功能丰富支持多种投资类型与实用工具支持股票/ETF/现金/房地产等资产类别与贡献限额等工具美观、聚焦、克制视觉美观但不喧宾夺主src/styles.css与 Tailwind 组件体系src/components/ui其中隐私信念在技术层面最扎实src-core/src/db.rs通过 Diesel 连接本地 SQLite 数据库所有账户、活动、行情、历史数据都写入用户本机文件portfolio_history表见 迁移脚本直接以account_id date为唯一键持久化每日快照。这意味着数据留在本机不是宣传语而是架构的默认形态。路线图全景五个阶段的演进脉络ROADMAP.md 将演进划分为五个递进阶段从基础可用逐步走向智能工具与生态连接阶段时间窗口主题核心内容Step 1Now当前基础功能投资追踪、本地存储、简洁设计Step 2未来 3-6 个月更多功能数据导出、第二行情 API、拆股支持、多资产类型、历史计算增强、其余平台安装包Step 36-12 个月智能工具高级 CSV 导入、组合分析与洞察、Monte-Carlo 投影、另一个行情 APIStep 412-18 个月增长手机端安全应用、券商/平台自动同步Step 518 个月以上社区建设期权交易支持Always持续维护安全与更新、基于用户反馈持续优化下面逐阶段结合源码验证现状。Step 1基础功能已完成——本地优先的最小闭环路线图第一步的三个勾选项已经全部完成它们是整个产品的地基[x] Track your investments追踪你的投资src-core/src/portfolio/holdings_service.rs与portfolio_service.rs负责持仓与组合聚合前端由 holdings-page.tsx 呈现[x] Store data on your computer数据存在本地Diesel SQLite 的完整持久化层见src-core/src/db.rs、schema.rs与 init_db 迁移[x] Simple, easy-to-use design简洁易用设计src/components/ui下 40 余个基础组件button、dialog、table、form 等构成统一设计系统另有 onboarding 引导。从测试用例看历史计算的正确性已有保障portfolio_history_test.rs 覆盖了组合历史的核心计算路径。基础阶段的完成度可以认为已达到可日常使用的稳定水平。Step 2更多功能3-6 个月——多数规划已提前落地这是整份路线图中源码证据最丰富的阶段。有趣的是其中多项功能在仓库中已经具备实现说明路线图是愿景草案实际开发进度已部分超前数据导出CSV / JSON / SQLite 三格式全支持路线图勾选项 Let you export your data (CSV, sqlite file, json) 在源码中已是完整功能。前端入口在 exports-form.tsx用户可在设置页选择三种格式CSV适用于电子表格的简单通用格式JSON结构化数据便于程序化访问SQLite完整的数据库备份可直接查询全部数据。每种格式可选择的数据集也不同CSV/JSON 支持 Accounts账户、Activities交易活动、Goals目标、Portfolio History组合历史四类独立导出SQLite 则提供Full Database Backup完整数据库备份。实际导出链路由 useExportData.ts 驱动exportDataMutation根据格式分支处理——SQLite 走backupDatabase()见 settings.ts直接备份数据库文件CSV/JSON 则通过fetchAndFormatData拉取对应数据后交给 export-utils.ts 的formatData序列化。文件命名规则统一为{dataType}_{YYYY-MM-DD}.{ext}例如accounts_2026-09-15.csv最后调用openFileSaveDialogfile.ts弹出系统保存对话框。值得注意的细节formatData对 CSV 中字符串类型的值使用JSON.stringify包裹正确处理了含逗号、引号的字段保证导出文件可被 Excel / Numbers 等工具无损解析。行情 API 的可插拔设计为 Bring your own API keys 预留的抽象层路线图提到要支持第二个行情数据 API自带 API Key例如 Alpha Vantage。尽管该第三方 provider 尚未落地但架构早已为此做好准备——src-core/src/providers/目录定义了清晰的数据源抽象market_data_provider.rsMarketDataProvidertrait 定义了四个异步方法——search_ticker搜索代码、get_symbol_profile资产档案、get_latest_quote最新报价、get_stock_history历史行情外加AssetProfilertrait 负责资产画像market_data_factory.rsMarketDataFactory工厂负责装配具体实现当前默认 provider 为YahooDEFAULT_MARKET_DATA_PROVIDER并同时注册了一个私有资产画像器ManualProvider用户手动维护的资产见 manual_provider.rs错误模型MarketDataError已包含Unauthorized、RateLimitExceeded、NotFound等枚举这些正是第三方 API 接入时必然会遇到的错误类型。从这一设计可以推断新增第二个 provider 只需实现MarketDataProvidertrait 并在工厂中注册即可无需改动上层行情服务——自带 API Key的规划在架构上是低成本的扩展点。股票拆分支持拆股计算的完整实现路线图的 Support Stock Splitting 勾选项在 history_service.rs 中已有完整实现且逻辑相当考究calculate_split_factors筛选所有SPLIT类型活动按资产收集(拆分日期, 拆分比例)adjust_activities_for_splits将每个拆分日之后发生的拆分比例以倒序累积的方式乘到历史活动的数量上quantity * cumulative_factor同时反向调整单价unit_price / cumulative_factor保证拆股后总市值不变调整后的活动再进入calculate_historical_value逐日计算组合价值。换句话说系统通过把未来的拆分反向施加到过去的活动这一方式保证了历史净值曲线的连续性这是投资记账工具中常见的处理手法代码注释也明确写了 Reverse the splits to apply future splits to past activities。同时activity类型枚举中还包含SPLIT与前端活动表单activity-form.tsx的类型选择一一对应。追踪更多资产类型房子、黄金、汽车路线图 Let you track more things like houses, gold, and cars 的落地思路是资产档案asset profile不绑定单一证券类型。NewAsset模型包含asset_type字段股票、ETF、房地产等而ManualProvider允许用户为无法自动拉取行情的资产房产、贵金属、收藏品等手工录入档案与价格配合 asset-profile-page.tsx 与 asset-detail-card.tsx 进行管理。从MarketDataFactory中 private asset profiler 与 public data provider 双轨并行的结构可以看出这类非标准资产是产品明确要支持的场景。组合历史计算增强增量计算 并行化路线图 Enhance portfolio History calculation 对应HistoryService::calculate_historical_data其设计亮点有三增量计算当force_full_calculation为 false 时先查出每个账户最后一条历史记录get_all_last_portfolio_histories只从上次断点 1 天开始重算见calculate_start_dates_and_last_histories大幅降低重复计算开销并行处理各账户的历史计算通过rayon的par_iter并行执行注释明确写 Parallel calculations without database access即把计算与 I/O 分离TOTAL 汇总calculate_total_portfolio_history按日期分组汇总所有活跃账户按汇率折算到基准货币后重新计算总盈亏与日盈亏生成TOTAL虚拟账户记录。此外还内置了max_history_days 36500约 100 年的回溯上限与多币种汇率折算fx_service计算健壮性相当完整。其余平台安装包路线图提到为剩余平台构建安装包。仓库中src-tauri目录Tauri 2 工程已包含 tauri.conf.json、完整的桌面图标集Windows ico、macOS icns、Linux 及移动端图标src-tauri/src/updater.rs还实现了应用更新逻辑说明跨平台发布的基础设施已经就绪。Step 3智能工具6-12 个月——组合洞察与模拟的未来高级 CSV 导入基础设施已存在路线图的 Advanced CSV import 在仓库中已有相当完整的实现基础迁移脚本 csv_import_profiles 建立了activity_import_profiles表用于持久化每个账户的字段映射field_mappings、活动映射activity_mappings与代码映射symbol_mappings前端 activity-import-page.tsx 提供完整导入向导配套import-mapping-table映射预览表、file-dropzone文件拖放、csv-error-viewer错误查看器等组件useCsvParser.ts 与 csvValidation.ts 负责解析与校验。高级体现在映射的可定制性上字段映射、活动类型映射、代码映射均可按账户保存下次导入同券商 CSV 时可直接复用。这意味着 Step 3 的导入功能已经从能导入走向智能映射。组合分析与洞察 Monte-Carlo 投影这两项目前属于规划中状态但相关数据基础已经具备portfolio_history表含每日 total_value、market_value、net_deposit、total_gain_value/percentage、day_gain_value/percentage与exchange_rates表迁移脚本 中一并建立为收益分析、回撤计算与收益率分布模拟提供了原始数据。此外 income_service.rs 已实现按月的股息/利息/其他收入汇总输出 TOTAL / YTD / LAST_YEAR / TWO_YEARS_AGO 四档摘要并计算同比YoY增长率可作为组合洞察中现金流维度的先导能力。Monte-Carlo 投影则可基于这些历史收益与波动数据进行随机模拟——可以推断一旦实施HistoryService与fx_service已积累的数据管线会直接复用。第二个行情 API与 Step 2 中 Support another market data API 的架构预留一致见上文MarketDataFactory分析Step 3 再次出现该条目说明团队计划在智能工具阶段正式落地第二个 provider。当前MarketDataProvidertrait 已把接入成本降到最低。Step 4增长12-18 个月——移动端与券商自动同步手机端应用规划是Make a mobile app that works with your phone securely。仓库的src-tauri/icons/下已包含完整的 Androidmipmap 系列与 iOSAppIcon 各尺寸图标资源src-tauri/capabilities/提供了权限清单说明 Tauri 工程的移动端打包基础已经铺设券商/平台自动同步规划是Connect with some brokers/platforms to fetch and update activities automatically。这一步本质是把手动录入活动升级为自动拉取活动依赖 Step 2/3 的数据导入与映射能力作为技术铺垫。需要说明该功能目前没有可确认的实现代码仍属于明确的未来规划。Step 5社区建设18 个月以上——期权交易支持路线图把期权Options trading支持列为最远期目标。期权涉及行权、到期、希腊值Greeks等复杂语义与当前活动类型BUY / SELL / DIVIDEND / INTEREST 等的记账模型差异较大这解释了为何它被排在18 个月以上。从战略原则avoid complexity at all costs看期权这类高复杂度功能被谨慎地放在路线图末端恰好体现了团队对复杂度控制的坚持。持续进行安全、更新与用户反馈路线图的 Always Doing 部分明确了两个永不停止的优先级Keeping the app safe and up-to-datesrc-tauri/src/updater.rs实现了应用自更新机制capabilities/desktop.json定义了 Tauri 权限最小化配置Making the app faster and better using user feedback这与开篇 Our plan might change based on what users tell us 的声明一致——路线图是draft vision草案愿景允许根据反馈调整。仓库中src-core/tests/portfolio_history_test.rs与src/test/setup.ts的存在也从工程层面支撑了持续改进而不破坏既有功能的目标。从路线图看架构演进方向综合五个阶段与源码证据可以总结出 Wealthfolio 的演进主线本地优先是永恒基线无论未来接入多少 API、券商或移动端src-core的本地 SQLite Diesel 持久化层都不会被云同步取代隐私是产品不可妥协的底层契约数据源与功能解耦MarketDataProvider/AssetProfilertrait 与MarketDataFactory工厂让第二个行情 API从 Step 2 到 Step 3 都是低成本的增量扩展计算能力前置组合历史增量 并行、多币种汇率折算、收入同比分析等数据管线已在src-core就绪Step 3 的洞察与Monte-Carlo 投影大概率复用这套管线克制原则贯穿始终期权被排到最后、功能蔓延被明确抵制产品通过聚焦 essentials换取长期可维护性。对于想要参与贡献或二次开发的工程师来说ROADMAP.md 不仅是一份产品愿景更是一份优先级排序的开发指南——仓库源码已经回答了哪些规划已实现导出、拆股、导入映射、历史增强、哪些仍需共建第二个行情 API、Monte-Carlo、移动端、券商同步、期权。沿着这份路线图既能读懂产品为什么长成这样也能找到下一步最值得投入的方向。【免费下载链接】wealthfolioA beautiful, private, local-first personal finance tracker. Investments, net worth, spending, and simulations.项目地址: https://gitcode.com/GitHub_Trending/we/wealthfolio创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表