[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-investbrainapp--investbrain":3,"tool-investbrainapp--investbrain":64},[4,17,27,35,48,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",138956,2,"2026-04-05T11:33:21",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,43,44,45,15,46,26,13,47],"数据工具","视频","插件","其他","音频",{"id":49,"name":50,"github_repo":51,"description_zh":52,"stars":53,"difficulty_score":10,"last_commit_at":54,"category_tags":55,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,46],{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},2181,"OpenHands","OpenHands\u002FOpenHands","OpenHands 是一个专注于 AI 驱动开发的开源平台，旨在让智能体（Agent）像人类开发者一样理解、编写和调试代码。它解决了传统编程中重复性劳动多、环境配置复杂以及人机协作效率低等痛点，通过自动化流程显著提升开发速度。\n\n无论是希望提升编码效率的软件工程师、探索智能体技术的研究人员，还是需要快速原型验证的技术团队，都能从中受益。OpenHands 提供了灵活多样的使用方式：既可以通过命令行（CLI）或本地图形界面在个人电脑上轻松上手，体验类似 Devin 的流畅交互；也能利用其强大的 Python SDK 自定义智能体逻辑，甚至在云端大规模部署上千个智能体并行工作。\n\n其核心技术亮点在于模块化的软件智能体 SDK，这不仅构成了平台的引擎，还支持高度可组合的开发模式。此外，OpenHands 在 SWE-bench 基准测试中取得了 77.6% 的优异成绩，证明了其解决真实世界软件工程问题的能力。平台还具备完善的企业级功能，支持与 Slack、Jira 等工具集成，并提供细粒度的权限管理，适合从个人开发者到大型企业的各类用户场景。",70612,"2026-04-05T11:12:22",[26,15,13,45],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":79,"owner_location":79,"owner_email":80,"owner_twitter":79,"owner_website":81,"owner_url":82,"languages":83,"stars":107,"forks":108,"last_commit_at":109,"license":110,"difficulty_score":23,"env_os":111,"env_gpu":112,"env_ram":112,"env_deps":113,"category_tags":116,"github_topics":117,"view_count":10,"oss_zip_url":79,"oss_zip_packed_at":79,"status":16,"created_at":121,"updated_at":122,"faqs":123,"releases":144},913,"investbrainapp\u002Finvestbrain","investbrain","Smart LLM-enabled investment tracker that consolidates and monitors market performance across your different brokerages","Investbrain 是一款智能开源投资追踪工具，它能够整合并监控用户在不同券商平台的投资表现，帮助用户集中管理投资组合。通过连接多个市场数据源，它自动汇总持仓、交易记录和市场行情，让用户在一个仪表盘中清晰掌握整体资产状况。\n\n它主要解决了投资者需要手动在不同平台间切换、数据分散难以统一分析的痛点。用户无需登录多个券商账户即可查看实时盈亏、资产分布和收益趋势，节省了时间并减少了遗漏。\n\n这款工具适合有一定技术基础的个人投资者、理财爱好者或小型投资团队使用。它提供了自托管部署选项，对希望完全掌控数据的用户尤为友好。同时，其模块化设计也吸引了开发者或金融科技爱好者进行二次开发或集成。\n\nInvestbrain 的技术亮点在于其可扩展的市场数据提供商接口，支持用户自定义数据源。此外，它集成了 AI 助手功能，允许用户基于自己的持仓数据与大型语言模型对话，获得投资洞察或决策支持，并兼容 OpenAI、Ollama 等多种 AI 服务。","\n\n\u003Cp align=\"center\">\u003Ca href=\"https:\u002F\u002Finvestbra.in\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Finvestbrainapp_investbrain_readme_c8236110dfd8.png\" width=\"400\" alt=\"Investbrain Logo\">\u003C\u002Fa>\u003C\u002Fp>\n\n[![GitHub Repo Stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Finvestbrainapp\u002Finvestbrain?style=for-the-badge&color=%23CCCCCC)](https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002F)\n[![GitHub Contributors](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fcontributors\u002Finvestbrainapp\u002Finvestbrain?style=for-the-badge)](https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002F)\n[![GitHub Issues](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues\u002Finvestbrainapp\u002Finvestbrain?style=for-the-badge)](https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fissues)\n[![Docker Pulls](https:\u002F\u002Fimg.shields.io\u002Fdocker\u002Fpulls\u002Finvestbrainapp\u002Finvestbrain?style=for-the-badge)](https:\u002F\u002Fhub.docker.com\u002Fr\u002Finvestbrainapp\u002Finvestbrain\u002F)\n\n\n## About Investbrain\n\nInvestbrain is a smart open-source investment tracker that helps you manage, track, and make informed decisions about your investments.\n\n\u003Cp align=\"center\">\u003Ca href=\"https:\u002F\u002Finvestbra.in\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Finvestbrainapp_investbrain_readme_fd0f4564a0ea.png\" width=\"100%\" alt=\"Investbrain Screenshot\">\u003C\u002Fa>\u003C\u002Fp>\n\n## Table of contents\n- [Under the hood](#under-the-hood)\n- [Install (self hosting)](#self-hosting)\n- [Chat with your holdings](#chat-with-your-holdings)\n- [Market data providers](#market-data-providers)\n- [Import \u002F Export](#import--export)\n- [Configuration](#configuration)\n- [Updating](#updating)\n- [Command line utilities](#command-line-utilities)\n- [Troubleshooting](#troubleshooting)\n- [Testing](#testing)\n\n## Under the hood\n\nInvestbrain is a Laravel PHP web application that has an extensible market data provider interface. Out of the box, we feature many market data providers. But intrepid developers can [create their own providers](#custom-providers)! We also offer integrations with OpenAI and Ollama for our [\"chat with your holdings\"](#chat-with-your-holdings) capability. Finally, of course we have robust support for i18n, a11y, and dark mode. \n\n## Self hosting\n\nFor ease of installation, we _highly recommend_ installing Investbrain using the provided [Docker Compose](https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fblob\u002Fmain\u002Fdocker-compose.yml) file, which uses the official Investbrain Docker image and includes all the necessary dependencies to seamlessly build everything you need to get started quickly! \n\nBefore getting started, you should already have [Docker Engine](https:\u002F\u002Fdocs.docker.com\u002Fengine\u002Finstall\u002F) installed on your machine. \n\nReady? Let's get started! \n\n**1. Download copy of Docker Compose file**\n\nGrab a copy of the [docker-compose.yml](https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fblob\u002Fmain\u002Fdocker-compose.yml) using `wget`, `curl` or similar:\n\n```bash\ncurl -O https:\u002F\u002Fraw.githubusercontent.com\u002Finvestbrainapp\u002Finvestbrain\u002Fmain\u002Fdocker-compose.yml\n```\n\n**2. Set your environment**\n\nAdjust the `environment` properties in the compose file to your preferences. \n\n**3. Run `docker compose up`**\n\nIt might take a few minutes to pull the Docker images. But assuming everything worked as expected, you should now be able to access Investbrain in the browser by visiting:\n\n```bash\nhttp:\u002F\u002Flocalhost:8000\u002Fregister\n```\n\nCongrats! You've just installed Investbrain!\n\n## Chat with your holdings\n\nInvestbrain offers an AI powered chat assistant that is grounded on *your* investments. This enables you to use AI as a thought partner when making investment decisions. \n\nMost of the major labs are currently supported (OpenAI, Anthropic, Gemini, xAI, etc). You'll need to obtain API keys from your selected provider and configure that in your [.env](https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fblob\u002Fmain\u002F.env.example) file using the appropriate keys. \n\nInvestbrain is also compatible with Ollama (and other OpenAI compatible APIs). If you are self-hosting your own large language models (\"LLMs\") that exposes an OpenAI compatible API (e.g. [Ollama](https:\u002F\u002Follama.com\u002Fblog\u002Fopenai-compatibility)), you'll need to configure your local endpoint in your [.env](https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fblob\u002Fmain\u002F.env.example) file.\n\nSee available options [below](#configuration).\n\nAlways keep in mind the limitations of LLMs. When in doubt, consult a licensed investment advisor. \n\n## Market data providers\n\nInvestbrain includes an extensible market data provider interface that allows you to retrieve stock market data from multiple providers, such as [Yahoo Finance](https:\u002F\u002Ffinance.yahoo.com\u002F), [Twelve Data](https:\u002F\u002Ftwelvedata.com), [Finnhub](https:\u002F\u002Ffinnhub.io\u002Fpricing-stock-api-market-data), [Alpaca](https:\u002F\u002Falpaca.markets\u002F), and [Alpha Vantage](https:\u002F\u002Fwww.alphavantage.co\u002Fsupport\u002F). The interface includes a built-in fallback mechanism to ensure reliable data access, even if a provider fails.\n\n### Market Data Configuration\n\nYou can specify the market data provider you want to use in your environment variables:\n\n```bash\nMARKET_DATA_PROVIDER=yahoo\n```\n\nYou can also use Investbrain's built-in fallback mechanism to ensure reliable data access. If any provider fails, Investbrain will automatically attempt to retrieve data from the next available provider, continuing through your configured providers until one returns successfully.\n\nYour selected providers should be listed in your environment variables. Each should be separated by a comma:\n\n```bash\nMARKET_DATA_PROVIDER=yahoo,alphavantage\n```\n\nIn the above example, Yahoo Finance will be attempted first. If Yahoo Finance fails to retrieve market data, the application will automatically try Alpha Vantage.\n\n### Custom providers\n\nIf you wish to create your own market data provider, you can create your own implementation of the [MarketDataInterface](https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fblob\u002Fmain\u002Fapp\u002FInterfaces\u002FMarketData\u002FMarketDataInterface.php). You can refer to any existing market data implementation as an example.\n\nOnce you've created your market data implementation, be sure add your custom provider to the Investbrain configuration file, under the interfaces section:\n\n```php\n\n'interfaces' => [\n    \u002F\u002F                       *  *  *\n    'custom_provider' => \\App\\Services\\CustomProviderMarketData::class,\n    \u002F\u002F                       *  *  *\n],\n```\n\nAnd add your custom provider to your .env file:\n\n```bash\nMARKET_DATA_PROVIDER=yahoo,alphavantage,custom_provider\n```\n\nFeel free to submit a PR with any custom providers you create.\n\n## Import \u002F Export\n\nInvestbrain includes a convenient feature which allows you to maintain the portability of your portfolios and transaction data. \n\n### Import\n\nImports are \"upserted\" to the database. If the record does not already exist in the database, the record will be created. However, when a portfolio or transaction exists (i.e. the record's ID matches an existing record), the record will be updated. This way, you can simultaneously create new records, but also bulk update records.\n\n### Export\n\nExporting your portfolios and transactions is a convenient way to back-up your Investbrain data. It is also a convenient way to maintain portability of *your* data.\n\n## Configuration\n\nThere are several optional configurations available when installing using the recommended [Docker method](#self-hosting). These options are configurable using an environment file. Configurations can be added to your [.env](https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fblob\u002Fmain\u002F.env.example) file or to the `environment` property in the [docker-compose.yml](https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fblob\u002Fmain\u002Fdocker-compose.yml) file. \n\n| Option      | Description      | Default      |\n| ------------- | ------------- | ------------- |\n| APP_URL | The URL where your Investbrain installation will be accessible | http:\u002F\u002Flocalhost |\n| APP_PORT | The HTTP port exposed by the NGINX container | 8000 |\n| APP_KEY | Encryption key for various security-related functions | Set automatically during install |\n| MARKET_DATA_PROVIDER | The market data provider to use (either `yahoo`, `twelvedata`, `alphavantage`, `alpaca`, or `finnhub`) | yahoo |\n| ALPHAVANTAGE_API_KEY | If using the Alpha Vantage provider | `null` |\n| FINNHUB_API_KEY | If using the Finnhub provider | `null` |\n| ALPACA_API_KEY | If using the Alpaca provider | `null` |\n| ALPACA_API_SECRET | If using the Alpaca provider | `null` |\n| TWELVEDATA_API_SECRET | If using the Twelve Data provider | `null` |\n| MARKET_DATA_REFRESH | Cadence to refresh market data in minutes | 30 |\n| APP_TIMEZONE | Timezone for the application, including daily change captures | UTC |\n| AI_CHAT_ENABLED | Whether to enable AI chat features | `false` |\n| CHAT_PROVIDER | Which chat provider to use (one of `openai`, `anthropic`, `gemini`, `azure`, `groq`, `xai`, `deepseek`, `mistral`, `ollama`) | `openai` |\n| CHAT_MODEL | The selected LLM used for AI chat | defaults to current smartest model from lab |\n| ANTHROPIC_API_KEY | If using Anthropic for chat | `null` |\n| OPENAI_API_KEY | If using OpenAI for chat | `null` |\n| OLLAMA_BASE_URL | If using Ollama for chat | `http:\u002F\u002Flocalhost:11434` |\n| OLLAMA_API_KEY | May be required if using Ollama for chat | `null` |\n| DAILY_CHANGE_TIME | The time of day to capture daily change | 23:00 |\n| REGISTRATION_ENABLED | Whether to enable registration of new users | `true` |\n\n\n> Note: These options affect the [docker-compose.yml](https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fblob\u002Fmain\u002Fdocker-compose.yml) file and are cached during run-time. If change any environment configurations, you'll have to restart the container before your changes take effect.\n\n## Updating\n\nTo update Investbrain using the recommended [Docker installation](#self-hosting) method, you just need to stop the running containers:\n\n```bash\ndocker compose stop\n```\n\nThen pull the latest Docker image:\n\n```bash\ndocker image pull investbrainapp\u002Finvestbrain:latest\n```\n\nFinally bring the containers back up!\n\n```bash\ndocker compose up\n```\n\nEasy as that!\n\n## Command line utilities\n\nInvestbrain comes bundled with several helpful command line utilities to make managing your portfolios and holdings more efficient. Keep in mind these commands are extremely powerful and can make irreversable changes to your holdings.  Just to be safe, we recommend backing up your portfolios before using these commands.\n\nTo run these commands, you can use `docker exec` like this:\n\n```bash\ndocker exec -it investbrain-app php artisan \u003Creplace with command you want to run>\n```\n\nIf you need more details on what the command does, you can take a look at the options available using the `help` option:\n\n```bash\n\u003Ccommand you want to run> --help\n```\n\n\n| Command      | Description      |\n| ------------- | ------------- |\n| refresh:market-data | Refreshes market data with your configured market data provider. |\n| refresh:dividend-data | Refreshes dividend data with your configured market data provider. Will also re-calculate your total dividends earned for each holding. |\n| refresh:split-data | Refreshes splits data with your configured market data provider. Will also create new transactions to account for any splits. |\n| refresh:currency-data | Grabs the latest daily currency exchange rate data and persists to the database. |\n| capture:daily-change | Captures a snapshot of each portfolio's daily performance. |\n| sync:daily-change | Syncs daily snapshots of your portfolio's daily performance. Useful to fill in gaps in your portfolio charts. (Note: this is an extremely resource intensive query.) |\n| sync:holdings | Syncs performance of holdings with related transactions (i.e. dividends, realized gains, etc). |\n| fix:cost-basis-for-sales | Utility to automatically re-calculates cost basis for sale transactions. |\n\n## Troubleshooting\n\nIf you are facing issues with Investbrain, it can be handy to monitor the application's logs:\n\n```bash\ndocker exec -it investbrain-app cat storage\u002Flogs\u002Flaravel.log\n```\nor you can live monitor logs using `tail`:\n\n```bash\ndocker exec -it investbrain-app tail -f storage\u002Flogs\u002Flaravel.log\n```\n\n### Common issues\n\n\u003Cdetails>\n\n**\u003Csummary>Application styling is broken and images are too big\u003C\u002Fsummary>**\n\nIf you're serving Investbrain from a DNS name (e.g. example.com), it's likely that you haven't updated the `ASSET_URL` environment yet. The URL provided there will be used to generate absolute URLs for images, JS, and CSS assets on the front end of the application.\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n**\u003Csummary>Market data not refreshing on fresh install\u003C\u002Fsummary>**\n\nIf you're unable to refresh market data out of the box (i.e. your market data provider is set to Yahoo), there is a chance Yahoo is being blocked by a firewall or adblocker.  Pihole is known to block `fc.yahoo.com` which is the domain used to query Yahoo. \n\nOnce you whitelist `fc.yahoo.com` in pihole, your market data should begin populating!\n\n\u003C\u002Fdetails>\n\n## Testing\n\nInvestbrain has a robus PHPUnit test suite that creates an in-memory SQLite database and runs any queued jobs synchronously using Laravel's array driver. You can run the entire Investbrain test suite from within the Docker container by running:\n\n```bash\ndocker exec -it investbrain-app php artisan test\n```\n\n## Contributing\n\nWe appreciate any contributions to Investbrain! Please open a pull request on our [Github repository](https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain). Here are some ideas for first time contributors:\n\n- Improve our documentation\n- Create new market data providers\n- Enhance the user interface\n- Additional translations\n- Fix bugs\n\nWhen you submit a contribution, don't forget to include passing tests with your PR!\n\n## Code of Conduct\n\nWe ask that you be kind and polite when interacting with the Investbrain community. \n\n## Security Vulnerabilities\n\nIf you discover a security vulnerability within Investbrain, please submit your report via [Github](https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fsecurity\u002Fadvisories\u002Fnew). All security vulnerabilities will be promptly addressed. We ask that you keep any suspected vulnerabilities private and confidential until they have been appropriately addressed.\n\n## License\n\nInvestbrain is open-sourced software licensed under the [CC-BY-NC 4.0](https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain?tab=License-1-ov-file).\n","\u003Cp align=\"center\">\u003Ca href=\"https:\u002F\u002Finvestbra.in\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Finvestbrainapp_investbrain_readme_c8236110dfd8.png\" width=\"400\" alt=\"Investbrain Logo\">\u003C\u002Fa>\u003C\u002Fp>\n\n[![GitHub Repo Stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Finvestbrainapp\u002Finvestbrain?style=for-the-badge&color=%23CCCCCC)](https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002F)\n[![GitHub Contributors](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fcontributors\u002Finvestbrainapp\u002Finvestbrain?style=for-the-badge)](https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002F)\n[![GitHub Issues](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues\u002Finvestbrainapp\u002Finvestbrain?style=for-the-badge)](https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fissues)\n[![Docker Pulls](https:\u002F\u002Fimg.shields.io\u002Fdocker\u002Fpulls\u002Finvestbrainapp\u002Finvestbrain?style=for-the-badge)](https:\u002F\u002Fhub.docker.com\u002Fr\u002Finvestbrainapp\u002Finvestbrain\u002F)\n\n\n## 关于 Investbrain\n\nInvestbrain 是一个智能的开源投资追踪器，可帮助您管理、追踪您的投资并做出明智的决策。\n\n\u003Cp align=\"center\">\u003Ca href=\"https:\u002F\u002Finvestbra.in\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Finvestbrainapp_investbrain_readme_fd0f4564a0ea.png\" width=\"100%\" alt=\"Investbrain 截图\">\u003C\u002Fa>\u003C\u002Fp>\n\n## 目录\n- [技术栈](#under-the-hood)\n- [安装（自托管）](#self-hosting)\n- [与您的持仓对话](#chat-with-your-holdings)\n- [市场数据提供商](#market-data-providers)\n- [导入 \u002F 导出](#import--export)\n- [配置](#configuration)\n- [更新](#updating)\n- [命令行工具](#command-line-utilities)\n- [故障排除](#troubleshooting)\n- [测试](#testing)\n\n## 技术栈\n\nInvestbrain 是一个基于 Laravel PHP 的 Web 应用程序，具有可扩展的市场数据提供商接口。开箱即用，我们内置了许多市场数据提供商。但勇敢的开发者可以[创建自己的提供商](#custom-providers)！我们还集成了 OpenAI 和 Ollama，以实现我们的[\"与您的持仓对话\"](#chat-with-your-holdings)功能。当然，我们还对国际化 (i18n)、无障碍访问 (a11y) 和深色模式提供了强大的支持。\n\n## 自托管\n\n为了简化安装，我们*强烈建议*使用提供的 [Docker Compose](https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fblob\u002Fmain\u002Fdocker-compose.yml) 文件来安装 Investbrain，该文件使用官方的 Investbrain Docker 镜像，并包含所有必要的依赖项，以无缝构建您快速入门所需的一切！\n\n在开始之前，您的机器上应该已经安装了 [Docker Engine](https:\u002F\u002Fdocs.docker.com\u002Fengine\u002Finstall\u002F)。\n\n准备好了吗？让我们开始吧！\n\n**1. 下载 Docker Compose 文件副本**\n\n使用 `wget`、`curl` 或类似工具获取 [docker-compose.yml](https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fblob\u002Fmain\u002Fdocker-compose.yml) 的副本：\n\n```bash\ncurl -O https:\u002F\u002Fraw.githubusercontent.com\u002Finvestbrainapp\u002Finvestbrain\u002Fmain\u002Fdocker-compose.yml\n```\n\n**2. 设置您的环境变量**\n\n根据您的偏好调整 compose 文件中的 `environment` 属性。\n\n**3. 运行 `docker compose up`**\n\n拉取 Docker 镜像可能需要几分钟时间。假设一切按预期进行，您现在应该可以通过访问以下地址在浏览器中使用 Investbrain：\n\n```bash\nhttp:\u002F\u002Flocalhost:8000\u002Fregister\n```\n\n恭喜！您刚刚安装了 Investbrain！\n\n## 与您的持仓对话\n\nInvestbrain 提供了一个基于*您*的投资数据的人工智能聊天助手。这使您可以在做出投资决策时将 AI 作为思考伙伴。\n\n目前支持大多数主流实验室（OpenAI、Anthropic、Gemini、xAI 等）。您需要从您选择的提供商处获取 API 密钥，并使用相应的密钥在您的 [.env](https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fblob\u002Fmain\u002F.env.example) 文件中进行配置。\n\nInvestbrain 也与 Ollama（以及其他 OpenAI 兼容的 API）兼容。如果您自托管了暴露 OpenAI 兼容 API 的大型语言模型（\"LLMs\"）（例如 [Ollama](https:\u002F\u002Follama.com\u002Fblog\u002Fopenai-compatibility)），您需要在您的 [.env](https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fblob\u002Fmain\u002F.env.example) 文件中配置本地端点。\n\n请参阅[下方](#configuration)的可用选项。\n\n请始终牢记 LLMs 的局限性。如有疑问，请咨询持牌投资顾问。\n\n## 市场数据提供商\n\nInvestbrain 包含一个可扩展的市场数据提供商接口，允许您从多个提供商（如 [Yahoo Finance](https:\u002F\u002Ffinance.yahoo.com\u002F)、[Twelve Data](https:\u002F\u002Ftwelvedata.com)、[Finnhub](https:\u002F\u002Ffinnhub.io\u002Fpricing-stock-api-market-data)、[Alpaca](https:\u002F\u002Falpaca.markets\u002F) 和 [Alpha Vantage](https:\u002F\u002Fwww.alphavantage.co\u002Fsupport\u002F)）获取股票市场数据。该接口包含内置的回退机制，以确保即使某个提供商失败，也能可靠地访问数据。\n\n### 市场数据配置\n\n您可以在环境变量中指定要使用的市场数据提供商：\n\n```bash\nMARKET_DATA_PROVIDER=yahoo\n```\n\n您也可以使用 Investbrain 的内置回退机制来确保可靠的数据访问。如果任何提供商失败，Investbrain 将自动尝试从下一个可用的提供商获取数据，依次遍历您配置的提供商，直到有一个成功返回。\n\n您选择的提供商应在环境变量中列出。每个提供商之间用逗号分隔：\n\n```bash\nMARKET_DATA_PROVIDER=yahoo,alphavantage\n```\n\n在上面的例子中，将首先尝试 Yahoo Finance。如果 Yahoo Finance 无法获取市场数据，应用程序将自动尝试 Alpha Vantage。\n\n### 自定义提供商\n\n如果您希望创建自己的市场数据提供商，您可以创建自己的 [MarketDataInterface](https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fblob\u002Fmain\u002Fapp\u002FInterfaces\u002FMarketData\u002FMarketDataInterface.php) 实现。您可以参考任何现有的市场数据实现作为示例。\n\n创建好您的市场数据实现后，请务必将您的自定义提供商添加到 Investbrain 配置文件的 interfaces 部分：\n\n```php\n\n'interfaces' => [\n    \u002F\u002F                       *  *  *\n    'custom_provider' => \\App\\Services\\CustomProviderMarketData::class,\n    \u002F\u002F                       *  *  *\n],\n```\n\n并将您的自定义提供商添加到您的 .env 文件中：\n\n```bash\nMARKET_DATA_PROVIDER=yahoo,alphavantage,custom_provider\n```\n\n欢迎为您创建的任何自定义提供商提交 PR。\n\n## 导入 \u002F 导出\n\nInvestbrain 包含一个便捷的功能，允许您保持投资组合和交易数据的可移植性。\n\n### 导入\n\n导入操作会\"更新插入\"到数据库中。如果数据库中尚不存在该记录，则会创建该记录。但是，当投资组合或交易已存在时（即记录的 ID 与现有记录匹配），该记录将被更新。这样，您可以同时创建新记录，也可以批量更新记录。\n\n### 导出\n\n导出您的投资组合和交易记录是备份 Investbrain 数据的便捷方式。这也是保持*您*数据可移植性的便捷方法。\n\n## 配置\n\n使用推荐的 [Docker 方法](#self-hosting) 安装时，有几个可选配置可用。这些选项可通过环境文件进行配置。配置可以添加到您的 [.env](https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fblob\u002Fmain\u002F.env.example) 文件或 [docker-compose.yml](https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fblob\u002Fmain\u002Fdocker-compose.yml) 文件中的 `environment` 属性。\n\n| 选项 | 描述 | 默认值 |\n| ------------- | ------------- | ------------- |\n| APP_URL | 您的 Investbrain 安装可访问的 URL | http:\u002F\u002Flocalhost |\n| APP_PORT | NGINX 容器暴露的 HTTP 端口 | 8000 |\n| APP_KEY | 用于各种安全相关功能的加密密钥 | 安装期间自动设置 |\n| MARKET_DATA_PROVIDER | 使用的市场数据提供商（可以是 `yahoo`、`twelvedata`、`alphavantage`、`alpaca` 或 `finnhub`） | yahoo |\n| ALPHAVANTAGE_API_KEY | 如果使用 Alpha Vantage 提供商 | `null` |\n| FINNHUB_API_KEY | 如果使用 Finnhub 提供商 | `null` |\n| ALPACA_API_KEY | 如果使用 Alpaca 提供商 | `null` |\n| ALPACA_API_SECRET | 如果使用 Alpaca 提供商 | `null` |\n| TWELVEDATA_API_SECRET | 如果使用 Twelve Data 提供商 | `null` |\n| MARKET_DATA_REFRESH | 市场数据刷新频率（分钟） | 30 |\n| APP_TIMEZONE | 应用程序的时区，包括每日涨跌幅捕获 | UTC |\n| AI_CHAT_ENABLED | 是否启用 AI 聊天功能 | `false` |\n| CHAT_PROVIDER | 使用的聊天提供商（`openai`、`anthropic`、`gemini`、`azure`、`groq`、`xai`、`deepseek`、`mistral`、`ollama` 之一） | `openai` |\n| CHAT_MODEL | 用于 AI 聊天选择的 LLM | 默认为实验室当前最智能模型 |\n| ANTHROPIC_API_KEY | 如果使用 Anthropic 进行聊天 | `null` |\n| OPENAI_API_KEY | 如果使用 OpenAI 进行聊天 | `null` |\n| OLLAMA_BASE_URL | 如果使用 Ollama 进行聊天 | `http:\u002F\u002Flocalhost:11434` |\n| OLLAMA_API_KEY | 如果使用 Ollama 进行聊天可能需要 | `null` |\n| DAILY_CHANGE_TIME | 每日涨跌幅捕获时间 | 23:00 |\n| REGISTRATION_ENABLED | 是否启用新用户注册 | `true` |\n\n> 注意：这些选项会影响 [docker-compose.yml](https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fblob\u002Fmain\u002Fdocker-compose.yml) 文件，并在运行时被缓存。如果更改任何环境配置，您需要重启容器才能使更改生效。\n\n## 更新\n\n要使用推荐的 [Docker 安装](#self-hosting) 方法更新 Investbrain，您只需停止正在运行的容器：\n\n```bash\ndocker compose stop\n```\n\n然后拉取最新的 Docker 镜像：\n\n```bash\ndocker image pull investbrainapp\u002Finvestbrain:latest\n```\n\n最后重新启动容器！\n\n```bash\ndocker compose up\n```\n\n就这么简单！\n\n## 命令行工具\n\nInvestbrain 捆绑了几个有用的命令行工具，使管理您的投资组合和持仓更加高效。请注意这些命令功能非常强大，可能会对您的持仓造成不可逆的更改。为了安全起见，我们建议在使用这些命令之前备份您的投资组合。\n\n要运行这些命令，您可以像这样使用 `docker exec`：\n\n```bash\ndocker exec -it investbrain-app php artisan \u003C替换为您要运行的命令>\n```\n\n如果您需要了解命令的更多详细信息，可以使用 `help` 选项查看可用选项：\n\n```bash\n\u003C您要运行的命令> --help\n```\n\n| 命令 | 描述 |\n| ------------- | ------------- |\n| refresh:market-data | 使用您配置的市场数据提供商刷新市场数据。 |\n| refresh:dividend-data | 使用您配置的市场数据提供商刷新股息数据。还会重新计算每个持仓的总股息收益。 |\n| refresh:split-data | 使用您配置的市场数据提供商刷新拆股数据。还会创建新交易以处理任何拆股。 |\n| refresh:currency-data | 获取最新的每日货币汇率数据并持久化到数据库。 |\n| capture:daily-change | 捕获每个投资组合每日表现的快照。 |\n| sync:daily-change | 同步您投资组合每日表现的每日快照。用于填补投资组合图表中的空白。（注意：这是一个资源消耗极大的查询。） |\n| sync:holdings | 同步与相关交易（即股息、已实现收益等）关联的持仓表现。 |\n| fix:cost-basis-for-sales | 自动重新计算卖出交易成本基础的实用工具。 |\n\n## 故障排除\n\n如果您遇到 Investbrain 的问题，监控应用程序的日志可能会很有帮助：\n\n```bash\ndocker exec -it investbrain-app cat storage\u002Flogs\u002Flaravel.log\n```\n或者您可以使用 `tail` 实时监控日志：\n\n```bash\ndocker exec -it investbrain-app tail -f storage\u002Flogs\u002Flaravel.log\n```\n\n### 常见问题\n\n\u003Cdetails>\n\n**\u003Csummary>应用程序样式损坏且图片过大\u003C\u002Fsummary>**\n\n如果您通过 DNS 名称（例如 example.com）提供 Investbrain 服务，很可能您尚未更新 `ASSET_URL` 环境变量。那里提供的 URL 将用于为应用程序前端的图片、JS 和 CSS 资源生成绝对 URL。\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n**\u003Csummary>新安装后市场数据无法刷新\u003C\u002Fsummary>**\n\n如果您无法立即刷新市场数据（即您的市场数据提供商设置为 Yahoo），可能是防火墙或广告拦截器阻止了 Yahoo。已知 Pihole 会阻止 `fc.yahoo.com`，这是用于查询 Yahoo 的域名。\n\n一旦您在 pihole 中将 `fc.yahoo.com` 加入白名单，您的市场数据就应该开始填充了！\n\n\u003C\u002Fdetails>\n\n## 测试\n\nInvestbrain 拥有一个健壮的 PHPUnit 测试套件，它创建一个内存中的 SQLite 数据库，并使用 Laravel 的数组驱动程序同步运行任何排队的作业。您可以通过运行以下命令在 Docker 容器内运行整个 Investbrain 测试套件：\n\n```bash\ndocker exec -it investbrain-app php artisan test\n```\n\n## 贡献\n\n我们感谢对 Investbrain 的任何贡献！请在我们的 [Github 仓库](https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain) 上提交拉取请求。以下是一些适合首次贡献者的想法：\n\n- 改进我们的文档\n- 创建新的市场数据提供商\n- 增强用户界面\n- 额外的翻译\n- 修复错误\n\n当您提交贡献时，请不要忘记在您的 PR 中包含通过的测试！\n\n## 行为准则\n\n我们要求您在与 Investbrain 社区互动时保持友善和礼貌。\n\n## 安全漏洞\n\n如果您在 Investbrain 中发现安全漏洞，请通过 [GitHub](https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fsecurity\u002Fadvisories\u002Fnew) 提交报告。所有安全漏洞都将得到及时处理。我们要求您在漏洞得到妥善解决之前，对任何疑似漏洞保持私密和保密。\n\n## 许可证\n\nInvestbrain 是开源软件，采用 [CC-BY-NC 4.0](https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain?tab=License-1-ov-file) 许可证授权。","# Investbrain 快速上手指南\n\nInvestbrain 是一款智能开源投资追踪器，帮助您管理、追踪投资组合并做出明智决策。\n\n## 环境准备\n\n### 系统要求\n- **操作系统**：Linux、macOS 或 Windows（WSL2）\n- **Docker Engine**：最新稳定版本\n- **Docker Compose**：v2.0+\n- **内存**：建议至少 2GB RAM\n- **磁盘空间**：至少 1GB 可用空间\n\n### 前置依赖\n确保已安装以下软件：\n- [Docker Engine](https:\u002F\u002Fdocs.docker.com\u002Fengine\u002Finstall\u002F)\n- [Docker Compose](https:\u002F\u002Fdocs.docker.com\u002Fcompose\u002Finstall\u002F)\n\n## 安装步骤\n\n### 1. 下载 Docker Compose 配置文件\n使用 `curl` 或 `wget` 下载配置文件：\n\n```bash\ncurl -O https:\u002F\u002Fraw.githubusercontent.com\u002Finvestbrainapp\u002Finvestbrain\u002Fmain\u002Fdocker-compose.yml\n```\n\n### 2. 配置环境变量\n编辑 `docker-compose.yml` 文件，根据需要调整环境变量：\n\n```yaml\nenvironment:\n  - APP_URL=http:\u002F\u002Flocalhost:8000\n  - APP_PORT=8000\n  # 其他配置项...\n```\n\n### 3. 启动 Investbrain\n运行以下命令启动服务：\n\n```bash\ndocker compose up -d\n```\n\n首次运行需要下载 Docker 镜像，可能需要几分钟时间。\n\n### 4. 访问应用\n在浏览器中打开：\n```\nhttp:\u002F\u002Flocalhost:8000\u002Fregister\n```\n\n## 基本使用\n\n### 1. 注册账户\n首次访问时，点击注册按钮创建新账户。\n\n### 2. 添加投资组合\n- 点击“新建投资组合”\n- 输入组合名称（如“我的股票投资”）\n- 设置基础货币（支持 USD、CNY 等）\n\n### 3. 添加持仓\n在投资组合中：\n- 点击“添加持仓”\n- 输入股票代码（如：AAPL、00700.HK）\n- 输入持股数量和买入价格\n- Investbrain 会自动获取实时市场数据\n\n### 4. 查看投资表现\n- **仪表板**：查看总体投资表现\n- **持仓列表**：查看单个股票表现\n- **图表**：查看历史收益曲线\n- **AI 聊天助手**：与您的持仓对话获取投资见解（需配置 API 密钥）\n\n### 5. 配置市场数据源\n在 `.env` 文件中配置首选数据提供商：\n\n```bash\n# 支持的数据提供商：yahoo, twelvedata, finnhub, alpaca, alphavantage\nMARKET_DATA_PROVIDER=yahoo\n\n# 如需备用数据源（当首选提供商失败时自动切换）\nMARKET_DATA_PROVIDER=yahoo,alphavantage\n```\n\n### 6. 启用 AI 聊天功能（可选）\n如需使用 AI 投资助手功能：\n\n```bash\nAI_CHAT_ENABLED=true\nCHAT_PROVIDER=openai  # 或 anthropic、gemini、ollama 等\nOPENAI_API_KEY=sk-your-api-key-here\n```\n\n## 常用命令\n\n### 更新 Investbrain\n```bash\n# 停止当前服务\ndocker compose stop\n\n# 拉取最新镜像\ndocker pull investbrainapp\u002Finvestbrain:latest\n\n# 重新启动\ndocker compose up -d\n```\n\n### 查看日志\n```bash\n# 查看应用日志\ndocker logs investbrain-app\n\n# 实时监控日志\ndocker logs -f investbrain-app\n```\n\n### 数据维护命令\n通过 Docker 执行 Investbrain 命令：\n\n```bash\n# 刷新市场数据\ndocker exec investbrain-app php artisan refresh:market-data\n\n# 刷新股息数据\ndocker exec investbrain-app php artisan refresh:dividend-data\n\n# 捕获每日变化\ndocker exec investbrain-app php artisan capture:daily-change\n```\n\n## 配置说明\n\n### 重要环境变量\n| 变量名 | 说明 | 默认值 |\n|--------|------|--------|\n| `APP_URL` | 应用访问地址 | http:\u002F\u002Flocalhost |\n| `MARKET_DATA_PROVIDER` | 市场数据提供商 | yahoo |\n| `AI_CHAT_ENABLED` | 启用 AI 聊天 | false |\n| `REGISTRATION_ENABLED` | 允许用户注册 | true |\n| `APP_TIMEZONE` | 应用时区 | UTC |\n\n### 中国市场数据注意事项\n- **Yahoo Finance**：可直接使用，无需 API 密钥\n- **Alpha Vantage**：需要免费 API 密钥（每日有限额）\n- **国内股票**：使用 `.SS`（上海）和 `.SZ`（深圳）后缀，如：000001.SZ\n\n## 下一步\n- 导入现有投资组合（支持 CSV 格式）\n- 配置自动数据刷新\n- 设置投资目标追踪\n- 探索高级分析功能\n\n现在您可以开始使用 Investbrain 管理您的投资了！如需更多帮助，请参考项目文档或社区讨论。","李明是一位个人投资者，同时在 A 券商持有美股、B 券商持有港股和基金，并使用一个电子表格手动记录持仓。他每周需要花费数小时来整合信息，以评估自己的整体投资组合表现和风险。\n\n### 没有 investbrain 时\n- **数据分散耗时**：李明需要分别登录两个券商的 App 或网站，手动记录各只股票的当前价格、持仓数量和盈亏情况，然后将数据誊抄或输入到一个统一的电子表格中，整个过程繁琐且容易出错。\n- **缺乏实时洞察**：电子表格中的数据是静态的，除非他手动更新价格，否则无法反映实时市场波动。他经常错过重要的价格变动，导致决策滞后。\n- **整体视图缺失**：他的资产分散在不同市场和账户中，难以快速获得一个关于总资产净值、行业分布或货币风险的整体视图。评估一次整体风险敞口需要大量的跨表格计算。\n- **分析能力有限**：当他想知道“我的科技股持仓占比是否过高？”或“最近一个月哪个账户表现最差？”时，他只能依靠自己进行基础计算，缺乏更深度的、基于数据的分析视角。\n\n### 使用 investbrain 后\n- **数据自动整合**：investbrain 通过连接李明的券商账户（或导入交易记录），自动聚合所有持仓数据。美股、港股、基金信息被统一到一个仪表板中，省去了繁琐的手动录入工作。\n- **实时监控与警报**：工具提供实时市场数据，李明可以随时查看组合的实时总市值和个股盈亏。他还可以设置价格警报，当某只股票达到目标价或跌幅超过阈值时，会及时收到通知。\n- **统一的组合仪表板**：investbrain 生成了一个清晰的仪表板，直观展示他的总资产净值、各账户\u002F市场\u002F行业的资产分布、历史表现曲线以及货币敞口，让他对整体财务状况一目了然。\n- **智能分析与决策辅助**：利用内置的 AI 功能，李明可以直接用自然语言提问，例如：“基于我当前的持仓，分析我的风险集中度”或“对比我持有的两只新能源基金近半年的表现”。AI 会分析他的实际持仓数据，提供结构化的洞察和建议，帮助他做出更明智的决策。\n\ninvestbrain 将李明从繁琐的数据搬运工转变为高效的投资管理者，通过自动化和智能分析，让他能更专注于策略本身而非数据整理。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Finvestbrainapp_investbrain_fd0f4564.png","investbrainapp","Investbrain","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Finvestbrainapp_7fa5eccd.jpg","",null,"hello@investbra.in","https:\u002F\u002Finvestbra.in","https:\u002F\u002Fgithub.com\u002Finvestbrainapp",[84,88,92,96,100,103],{"name":85,"color":86,"percentage":87},"PHP","#4F5D95",66.9,{"name":89,"color":90,"percentage":91},"Blade","#f7523f",31.5,{"name":93,"color":94,"percentage":95},"CSS","#663399",0.7,{"name":97,"color":98,"percentage":99},"Shell","#89e051",0.4,{"name":101,"color":102,"percentage":99},"Dockerfile","#384d54",{"name":104,"color":105,"percentage":106},"JavaScript","#f1e05a",0.1,810,54,"2026-04-01T17:20:25","NOASSERTION","Linux, macOS, Windows","未说明",{"notes":114,"python":112,"dependencies":115},"1. 基于 Laravel PHP 框架开发，非 Python 项目。\n2. 强烈推荐使用 Docker Compose 部署，需预先安装 Docker Engine。\n3. 如需 AI 聊天功能，需配置 OpenAI、Anthropic、Gemini 等 API 密钥，或本地部署 Ollama（需 OpenAI 兼容 API）。\n4. 市场数据提供商需配置 API 密钥（如 Alpha Vantage、Finnhub 等）。\n5. 环境变量配置丰富，可通过 .env 文件或 docker-compose.yml 调整。\n6. 更新时需拉取最新 Docker 镜像并重启容器。",[],[15,45],[118,119,120],"portfolio","self-host","stocks","2026-03-27T02:49:30.150509","2026-04-06T07:16:09.150943",[124,129,134,139],{"id":125,"question_zh":126,"answer_zh":127,"source_url":128},3999,"应用无法连接到数据库，出现访问被拒绝错误怎么办？","问题通常是由于数据库连接配置错误或版本不兼容导致的。根据评论中的解决方案，可以尝试将应用版本升级到 beta4。一位用户反馈从 alpha3 切换到 beta4 后问题解决，切换回 alpha3 则再次出现连接问题。建议检查并确保数据库环境变量（如 DB_HOST、DB_USERNAME、DB_PASSWORD）配置正确，并考虑使用更新的稳定版本。","https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fissues\u002F51",{"id":130,"question_zh":131,"answer_zh":132,"source_url":133},4000,"部署 Docker 时设置 APP_KEY 后出现权限错误，如何解决？","当手动设置 APP_KEY 后出现权限错误，特别是 laravel.log 文件无法写入时，这通常是一个文件系统权限问题。解决方案是进入应用容器并更改 storage 目录的所有权。可以执行以下命令：`docker exec -it investbrain-app chown -R www-data:www-data \u002Fvar\u002Fapp\u002Fstorage`。执行此操作后，应用应能正常启动，并且日志文件可以正常写入，从而解决 500 服务器错误。","https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fissues\u002F57",{"id":135,"question_zh":136,"answer_zh":137,"source_url":138},4001,"Docker 镜像在 Kubernetes 中启动缓慢或失败，可能是什么原因？","镜像在 Kubernetes 中启动缓慢或失败，可能因为镜像构建方式不当（在启动时而非构建时进行编译）以及缺少 Kubernetes 特有的配置（如存活探针、就绪探针）。社区反馈指出，镜像应包含预构建的二进制文件，而不是在容器启动时构建。此外，需要为 Kubernetes 环境配置适当的探针以确保服务健康。目前，Kubernetes 支持主要依赖社区贡献，维护者建议通过提交 Pull Request 来完善此功能。","https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fissues\u002F47",{"id":140,"question_zh":141,"answer_zh":142,"source_url":143},4002,"添加交易后，在投资组合页面遇到“Argument must be of type int|float, string given”错误怎么办？","此错误表明代码在处理货币金额时，收到了字符串而非预期的数字类型。这通常是一个数据格式化或类型转换的 Bug。虽然提供的 Issue 正文被截断，但此类错误通常需要检查数据输入和模型处理逻辑。建议确保从数据库或用户输入中获取的数值字段在进行货币格式化（如 `Number::currency()`）之前已被正确转换为数字类型。开发者可能需要检查相关数据表（如 `HoldingsTable`）的代码逻辑。","https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fissues\u002F150",[145,150,155,160,165,170,175,180,185,190,195,200,205,210,215,220,225,230,235,240],{"id":146,"version":147,"summary_zh":148,"released_at":149},103412,"v1.2.3","## What's Changed\r\n* create nginx directory by @Fexiven in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F143\r\n* fixes transaction dates in exports and api (see #148)\r\n\r\n## New Contributors\r\n* @Fexiven made their first contribution in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F143\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fcompare\u002Fv1.2.2...v1.2.3","2025-11-05T02:00:28",{"id":151,"version":152,"summary_zh":153,"released_at":154},103413,"v1.2.2","## What's Changed\r\n* Docs: Remove references to add APP_KEY in README.md by @enterprised1 in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F116\r\n* Fix: standardizes currency from data provider by @hackeresq in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F136\r\n* Chore: Upgrade to Laravel 12 + remove Mary and Jetstream dependencies by @hackeresq in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F141\r\n\r\n## New Contributors\r\n* @enterprised1 made their first contribution in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F116\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fcompare\u002Fv1.2.1...v1.2.2","2025-09-26T22:46:17",{"id":156,"version":157,"summary_zh":158,"released_at":159},103414,"v1.2.1","## What's changed\r\n* Fix: quantity validation should not count current transaction by @hackeresq in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F112\r\n* Fix: do not gracefully fail when symbol not found by @hackeresq in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F109\r\n* Fix: need to chunk alpaca history requests by @hackeresq in [5199bed](https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fcommit\u002Fe4e08091af366e36bcfa794f3f6b7c3815199bed) \r\n* Feat: add fix command for cost basis for sale transaction by @hackeresq in [9d9e153](https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fcommit\u002F7d77b6fbc8126bc2677b9a1fc27295f189d9e153) \r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fcompare\u002Fv1.2.0...v1.2.1","2025-08-29T20:49:20",{"id":161,"version":162,"summary_zh":163,"released_at":164},103409,"v1.2.9","## What's Changed\r\n* Feat (i18n): Add french translations by @hackeresq in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F185\r\n* Fix: Limit transactions table filters to `my portfolios` scope by @hackeresq in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F183\r\n* Fix: Transaction table scope to my portfolios only by @hackeresq in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F184\r\n* Feat: Remove custom date picker element by @hackeresq in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F182\r\n* Fix: Clean up formatting of locale form and dropdowns by @hackeresq in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F186\r\n* Feat (UI): Show only market gain on performance chart by @hackeresq in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F190\r\n* Chore: Upgrade to Laravel 13 by @hackeresq in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F192\r\n* Test: Add missing api tests by @hackeresq in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F193\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fcompare\u002Fv1.2.8...v1.2.9","2026-03-25T00:15:16",{"id":166,"version":167,"summary_zh":168,"released_at":169},103410,"v1.2.8","## What's Changed\r\n* Migrate to **laravel ai sdk** and **tailwind tables** by @hackeresq in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F181\r\n* Fix dividend calculations (Issue #164) by @FossilizedCarlos in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F176\r\n* Upgrade @alpinejs\u002Fpersist from 3.15.0 to 3.15.4 by @hackeresq in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F178\r\n* Update github action workflow to fix build process\r\n* Add intl to satisfy filament deps\r\n\r\n## New Contributors\r\n* @FossilizedCarlos made their first contribution in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F176\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fcompare\u002Fv1.2.4...v1.2.5","2026-03-15T23:27:36",{"id":171,"version":172,"summary_zh":173,"released_at":174},103411,"v1.2.4","This release is a hot fix that bumps the dockerfile to php 8.4 and resolves the issues reported in #150 . \r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fcompare\u002Fv1.2.3...v1.2.4","2025-11-07T03:13:57",{"id":176,"version":177,"summary_zh":178,"released_at":179},103415,"v1.2.0","It's taken longer than expected, but v1.2.0 is finally here!  This latest version of Investbrain brings massive new functionality to help you better manage your holdings!  \r\n\r\n> :warning: **Important**\r\nThis major release _should_ be a stable drop-in replacement for your existing Investbrain installation. **Regardless, I highly recommend you backup before installing.**  If you face issues, [your reports](https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fissues) are greatly appreciated.\r\n\r\n## Noteworthy changes\r\n\r\n1. Investbrain now has multi-currency support! \r\n2. Two brand new market data providers (Alpaca and Twelve Data)\r\n3. Drops official support for MySQL database (users currently on MySQL should consider switching to Postgres or SQLite)\r\n\r\n## What's changed\r\n* Feat: Adds multi currency support by @hackeresq in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F88\r\n* Feat: Adds multi currency to imports and exports by @hackeresq in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F89\r\n* Feat: Adds multi currency support to API by @hackeresq in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F90\r\n* Feat: Add Alpaca provider by @hackeresq in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F106\r\n* Feat: Add Twelve Data provider by @hackeresq in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F107\r\n* Fix: Partial fix for Yahoo market data provider 429 issues (see #102)\r\n* Fix: Multi-currency imports by @hackeresq in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F94\r\n* Fix: Fix postgresql support by @DanSnow in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F100\r\n* Fix: Adds unique constraint to split and dividends by @hackeresq in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F76\r\n\r\n## New Contributors\r\n* @DanSnow made their first contribution in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F100\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fcompare\u002Fv1.1.7...v1.2.0","2025-08-27T01:59:07",{"id":181,"version":182,"summary_zh":183,"released_at":184},103416,"v1.2.0-rc2","This is a release candidate which further optimizes the multi-currency capabilities of Investbrain and adds a new market data provider.\r\n\r\nThis is not a stable release and will have bugs and issues. It should not be installed in a production environment. If you face issues, [your reports](https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fissues) are greatly appreciated.\r\n\r\n## What's Changed\r\n* Feat: add twelve data market data provider by @hackeresq in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F107\r\n* Fix: Fixes multi-currency graphics\r\n* Feat: Delete holding if no transaction (resolves #63)\r\n* Feat: Add Alpaca provider by @hackeresq in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F106\r\n* Docs: Add instructions for Alpaca provider.\r\n* Fix: Fixes locale settings for some screens\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fcompare\u002Fv1.2.0-rc1...v1.2.0-rc2","2025-08-27T01:06:59",{"id":186,"version":187,"summary_zh":188,"released_at":189},103417,"v1.2.0-rc1","This is a release candidate which further optimizes the multi-currency capabilities of Investbrain and adds a new market data provider.\r\n\r\nThis is not a stable release and will have bugs and issues. It should not be installed in a production environment. If you face issues, [your reports](https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fissues) are greatly appreciated.\r\n\r\n## What's Changed\r\n* Fix: Fixes multi-currency graphics\r\n* Feat: Delete holding if no transaction (resolves #63)\r\n* Feat: Add Alpaca provider by @hackeresq in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F106\r\n* Docs: Add instructions for Alpaca provider.\r\n* Fix: Fixes locale settings for some screens\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fcompare\u002Fv1.2.0-beta5...v1.2.0-rc1","2025-08-26T02:09:39",{"id":191,"version":192,"summary_zh":193,"released_at":194},103418,"v1.2.0-beta5","This is an alpha release which further optimizes the multi-currency capabilities of Investbrain.\r\n\r\nThis pre-release will have bugs and issues and should not be installed in a production environment. If you face issues, [your reports](https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fissues) are greatly appreciated.\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fcompare\u002Fv1.2.0-beta4...v1.2.0-beta5","2025-07-16T22:08:43",{"id":196,"version":197,"summary_zh":198,"released_at":199},103419,"v1.2.0-beta4","This is a beta release which further optimizes the multi-currency capabilities of Investbrain.\r\n\r\nThis pre-release will have bugs and issues and should not be installed in a production environment. If you face issues, [your reports](https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fissues) are greatly appreciated.\r\n\r\n## What's Changed\r\n* More optimizations by @hackeresq\r\n* Fix seeders by @hackeresq\r\n* Fix multi-currency imports by @hackeresq in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F94\r\n* Feat: Adds multi currency support by @hackeresq in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F88\r\n* Feat: Adds multi currency to imports and exports by @hackeresq in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F89\r\n* Feat: Adds multi currency support to API by @hackeresq in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F90\r\n* fix: fix postgresql support by @DanSnow in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F100\r\n* fix: migrations failing on mysql by @hackeresq in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fcommit\u002F3e492475c0ace1ee8929579f161d40fa022a1397\r\n\r\n## New Contributors\r\n* @DanSnow made their first contribution in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F100\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fcompare\u002Fv1.2.0-beta1...v1.2.0-beta2","2025-07-12T06:17:51",{"id":201,"version":202,"summary_zh":203,"released_at":204},103420,"v1.2.0-beta3","This is a beta release which further optimizes the multi-currency capabilities of Investbrain.\r\n\r\nThis pre-release will have bugs and issues and should not be installed in a production environment. If you face issues, [your reports](https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fissues) are greatly appreciated.\r\n\r\n## What's Changed\r\n* Fix seeders by @hackeresq\r\n* Fix multi-currency imports by @hackeresq in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F94\r\n* Feat: Adds multi currency support by @hackeresq in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F88\r\n* Feat: Adds multi currency to imports and exports by @hackeresq in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F89\r\n* Feat: Adds multi currency support to API by @hackeresq in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F90\r\n* fix: fix postgresql support by @DanSnow in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F100\r\n* fix: migrations failing on mysql by @hackeresq in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fcommit\u002F3e492475c0ace1ee8929579f161d40fa022a1397\r\n\r\n## New Contributors\r\n* @DanSnow made their first contribution in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F100\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fcompare\u002Fv1.2.0-beta1...v1.2.0-beta2","2025-07-12T02:04:38",{"id":206,"version":207,"summary_zh":208,"released_at":209},103421,"v1.2.0-beta2","This is a beta release which further optimizes the multi-currency capabilities of Investbrain.\r\n\r\nThis pre-release will have bugs and issues and should not be installed in a production environment. If you face issues, [your reports](https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fissues) are greatly appreciated.\r\n\r\n## What's Changed\r\n* Fix seeders by @hackeresq\r\n* Fix multi-currency imports by @hackeresq in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F94\r\n* Feat: Adds multi currency support by @hackeresq in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F88\r\n* Feat: Adds multi currency to imports and exports by @hackeresq in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F89\r\n* Feat: Adds multi currency support to API by @hackeresq in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F90\r\n* fix: fix postgresql support by @DanSnow in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F100\r\n\r\n## New Contributors\r\n* @DanSnow made their first contribution in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F100\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fcompare\u002Fv1.2.0-beta1...v1.2.0-beta2","2025-07-10T01:06:58",{"id":211,"version":212,"summary_zh":213,"released_at":214},103422,"v1.2.0-beta1","This is a beta release which further optimizes the multi-currency capabilities of Investbrain.\r\n\r\nThis pre-release will have bugs and issues and should not be installed in a production environment. If you face issues, [your reports](https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fissues) are greatly appreciated.\r\n\r\n## What's Changed\r\n\r\n* Fix seeders by @hackeresq\r\n* Fix multi-currency imports by @hackeresq in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F94\r\n* Feat: Adds multi currency support by @hackeresq in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F88\r\n* Feat: Adds multi currency to imports and exports by @hackeresq in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F89\r\n* Feat: Adds multi currency support to API by @hackeresq in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F90\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fcompare\u002Fv1.2.0-alpha3...v1.2.0-beta1","2025-05-17T02:24:55",{"id":216,"version":217,"summary_zh":218,"released_at":219},103423,"v1.2.0-alpha3","This is an alpha release which further optimizes the multi-currency capabilities of Investbrain.\r\n\r\nThis pre-release will have bugs and issues and should not be installed in a production environment. If you face issues, [your reports](https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fissues) are greatly appreciated.\r\n\r\n## What's Changed\r\n* Fix seeders by @hackeresq\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fcompare\u002Fv1.2.0-alpha2...v1.2.0-alpha3","2025-05-16T01:26:24",{"id":221,"version":222,"summary_zh":223,"released_at":224},103424,"v1.2.0-alpha2","This is an alpha release which further optimizes the multi-currency capabilities of Investbrain.\r\n\r\nThis pre-release will have bugs and issues and should not be installed in a production environment. If you face issues, [your reports](https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fissues) are greatly appreciated.\r\n\r\n## What's Changed\r\n* Fix multi-currency imports by @hackeresq in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F94\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fcompare\u002Fv1.2.0-alpha...v1.2.0-alpha2","2025-05-03T01:09:06",{"id":226,"version":227,"summary_zh":228,"released_at":229},103425,"v1.2.0-alpha","This is an alpha release which introduces multi-currency capabilities to Investbrain. \r\n\r\n**This pre-release will have bugs and issues and should not be installed in a production environment.**  If you face issues, [your reports](https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fissues) are greatly appreciated.\r\n\r\n## What's Changed\r\n* Feat: Adds multi currency support by @hackeresq in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F88\r\n* Feat: Adds multi currency to imports and exports by @hackeresq in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F89\r\n* Feat: Adds multi currency support to API by @hackeresq in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F90\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fcompare\u002Fv1.1.7...v1.2.0-alpha","2025-04-12T02:08:23",{"id":231,"version":232,"summary_zh":233,"released_at":234},103426,"v1.1.7","## What's Changed\r\n* feat: adds experimental pgsql compatibility by @hackeresq in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F72\r\n* feat: simplify self host install by removing `asset_url` env by @hackeresq in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F75\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fcompare\u002Fv1.1.6...v1.1.7","2025-03-17T23:20:17",{"id":236,"version":237,"summary_zh":238,"released_at":239},103427,"v1.1.6","> [!WARNING]  \r\n> Upgrade to the latest Investbrain (>= v1.1.6) immediately. A downstream package (livewire\u002Fvolt) contains a critical RCE vulnerability. For more information on this vulnerability, you can reference **CVE-2025-27517**.\r\n\r\n## What's Changed\r\n* chore: upgrade livewire\u002Fvolt to >= 1.7.0 due to CVE-2025-27517 (and upgrade other composer deps)\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fcompare\u002Fv1.1.5...v1.1.6","2025-03-07T02:04:34",{"id":241,"version":242,"summary_zh":243,"released_at":244},103428,"v1.1.5","## What's Changed\r\n* refactor: size and speed improvements to Dockerfile by @Karjack182 in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F65\r\n* fix: support mariadb in sync:daily-change by @dataoscar in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F64\r\n* refactor: storage scaffolding and save generated app key to file by @hackeresq in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F69\r\n\r\n## New Contributors\r\n* @Karjack182 made their first contribution in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F65\r\n* @dataoscar made their first contribution in https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fpull\u002F64\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Finvestbrainapp\u002Finvestbrain\u002Fcompare\u002Fv1.1.4...v1.1.5","2025-03-06T22:58:59"]