# x2rr/funds: A Chrome Extension for Watching Chinese Mutual Fund Valuations

> 自选基金助手 is a Vue 2 browser extension that keeps a self-selected list of Chinese mutual funds and shows intraday estimated values in the toolbar badge. It is built for a very specific habit, and it is not a portfolio tracker for every market.

**x2rr/funds** — 自选基金助手是一款Chrome扩展，用来快速获取关注基金的实时数据，查看自选基金的实时估值情况

- Repository: https://github.com/x2rr/funds
- Website: https://x2rr.github.io/funds/docs/dist/index.html
- Stars: 3,226 · Forks: 410
- Language: Vue
- License: GPL-3.0
- Published: 2026-09-24 · Updated: 2026-09-24 · Language: en
- Canonical page: https://hysenlabs.com/projects/x2rr-funds

## What 自选基金助手 Actually Solves

The README opens with the author's own reason for building it: after buying funds, the author wanted a PC Chrome extension for watching them, could not find one, and wrote it. The stated appeal is that trading hours fall on weekdays, and a small popup window is less conspicuous at work than an open finance site.

The workflow it targets is narrow and concrete. You type a fund code to add it. The extension then polls for data and can push the change percentage or the profit amount into the browser toolbar badge, so the number is visible without opening anything. The README lists badge content as configurable per fund or across all funds, as amount or as rate.

Who it is for: someone who already holds Chinese public mutual funds, tracks them daily, and wants a glanceable estimate rather than a research terminal. Who it is not for: anyone expecting order execution, tax lots, or multi-currency accounting. Nothing in the README suggests it talks to a broker. It reads valuation data and does arithmetic on the shares or cost basis you type in yourself.

## How the Extension Gets and Displays Fund Data

The repository is a Vue 2 single-page extension built on the vue-web-extension template, bundled with Webpack, styled with Element UI, and charted with ECharts. The top-level layout shows index.html, edge.html, holiday.json, manifest-related pages, and a src/ directory, which is the normal shape for this template: each entry point becomes an extension page.

The data flow implied by the README and release notes is: a background timer fetches fund data, the popup renders the list, and the badge is updated from the same values. The release notes support this reading. v2.3.1 mentions fixing a scheduled task that affected performance, and v1.7.0 mentions fixing a case where the script kept updating after a specially-watched fund was deleted. Both are symptoms of a periodic fetch loop.

Two local data sources matter. holiday.json plus a setting to refresh holiday information drives the market-closed logic, and v3.3.3 records a fix for wrong badge values after the market closed. The extension also stores your fund list, shares, and cost basis, and v3.4.3 records a fix for data loss after an update, which tells you that persistence is extension-side and has not always been stable across upgrades.

Charting is client-side. The README lists valuation trend charts, net value and profit charts, and stock holding breakdowns, all of which fit the ECharts dependency. The stock holdings view is a lookup of the fund's disclosed positions, not a live feed of those stocks.

## Installing from the Chrome Web Store or a CRX File

The README strongly recommends the Chrome Web Store install because that is the only path that gets automatic updates. The extension is also listed on the Microsoft Edge add-ons store. If network problems block the store, the README points to the GitHub releases page for a CRX file and states plainly that a manual CRX install will not auto-update.

For a manual install you download the CRX from the releases page and load it into the browser. The README does not document the exact browser-side steps for that, so treat the store listing as the supported route.

Building from source is documented. You need Node, with package.json declaring node >=10, then install dependencies and run the watch task, which produces a dist folder you load as an unpacked extension.

## A First Real Use: Add a Fund and Turn On the Badge

The README describes the first action as entering a fund code to add a fund. After that, the settings page is where the badge behaviour is configured. The README says the badge can show one fund or all funds, and either the profit amount or the rate, and that shares and profit display are enabled separately in settings.

To make the numbers meaningful you either enter the shares you hold, or an amount, and optionally a holding cost price. With shares set, the extension computes an estimated daily profit and a total profit. The README notes in the v1.5.3 entry that the held amount is the previous settlement day's amount while the estimated profit is the current estimate, which is the distinction that keeps the two numbers from looking inconsistent.

The build and packaging commands, if you are running from source rather than the store, are these. The first produces a dist folder for unpacked loading; the second packages a zip whose name is read from the name and version fields of manifest.json.

## Where It Breaks: Estimates, Holidays and Sync

The central limitation is in the name of the feature. The extension shows an estimated value, not a settled one. The README's v2.0.0 note says the interface was changed to support the actual net value for the day, with a check mark on funds that have updated. That check mark exists precisely because the estimate and the final number diverge, and several releases (v3.3.7, v3.4.4) are described as tuning the valuation calculation. An estimate that needs repeated tuning is an estimate you should not treat as an account balance.

The holiday logic is a second soft spot. It depends on holiday.json and a manual refresh of holiday information, and v3.3.3 records a badge error after market close. If you do not refresh the holiday data around a long holiday, the extension's idea of whether the market is open can drift from reality.

Sync is the third. Account login is optional, but v3.4.0 states that the account service request address changed and older versions will no longer be able to log in. That is a server-side dependency the user cannot pin. If you never log in, you avoid it; you also give up cross-device sync. The README also mentions a 韭菜计算助手 mini-program companion, and v3.4.2 and v3.4.3 describe fixes for syncing large fund datasets and for data loss after an update. Cross-platform sync has been the least stable part of the project.

Finally, platform coverage shrank. The README shows the Firefox add-on store listing struck through and marked as taken down, leaving Chrome and Edge.

## Compared with a General Portfolio Tracker

A general portfolio tracker such as a spreadsheet or a multi-asset app takes the opposite approach: it holds positions across asset classes and computes returns from transactions you record, but it does not sit in your browser toolbar and it generally does not know Chinese fund intraday estimates.

The difference that matters here is the data source and the update cadence. x2rr/funds is built around a scheduled fetch of fund valuation data, with the badge as the primary output and the chart views as secondary. A spreadsheet has no fetch loop and no badge; you update it. If your need is a glanceable number during trading hours, the extension's architecture is the point. If your need is a correct historical record, the extension is the wrong tool, because its own release history shows the estimate and the persistence layer being fixed repeatedly.

There is also a distribution difference. This project ships through browser stores and a CRX file, which means updates arrive without your involvement when you use the store. A self-hosted tracker puts that control back in your hands at the cost of maintaining it.

## Licence, Maintenance and the Cost of Upgrading

The repository is GPL-3.0, and package.json repeats that licence field. If you fork and redistribute the extension, GPL-3.0 obligations travel with it; the README's privacy policy page and the source entry in settings suggest the author expects people to look at the code. This is not legal advice, and store distribution terms are a separate question from the licence.

The last push to the default branch was on 2026-07-22, and the most recent release is 3.4.4 from 2026-07-21, with 3.4.3 and 3.4.2 before it in April 2026. Releases are not on a fixed cadence; the gap between 3.4.2 and 3.4.3 is one day, and the gap before that is roughly three months.

Upgrade cost is mostly on the user side. Because the extension stores your list, shares and cost basis locally, and because v3.4.3 is a fix for data loss after an update, exporting your configuration before a major upgrade is the sensible precaution the README already enables through its import and export features. Note that the source package.json version reads 2.5.2 while the release tags are at 3.4.x, so the source tree and the published extension are not obviously in lockstep; if you build from source, check what you actually produced.

## Conclusion

Adopt it if you hold Chinese public mutual funds, want an always-visible intraday estimate without a browser tab, and are comfortable with a third-party account service for sync. Do not adopt it if you need brokerage-grade accounting, non-Chinese funds, or a Firefox build, since the README states the Firefox store listing has been taken down. Before installing, verify the manifest permissions it requests, confirm the Chrome Web Store listing is current, and decide whether you want to sign in at all, because the settings can be exported as text or Excel if you would rather keep the data local.

## FAQ

### What is x2rr/funds and who is it for?

It is a Chrome extension, also listed on the Microsoft Edge add-ons store, for watching Chinese mutual funds you have added by code. It is aimed at people who hold such funds and want the intraday estimate visible in the toolbar badge rather than on an open website.

### How do I install x2rr/funds?

The README strongly recommends installing from the Chrome Web Store so you get automatic updates, and notes a Microsoft Edge add-ons listing as well. If network problems block the store, it points to the GitHub releases page for a CRX file, warning that a manual CRX install will not auto-update.

### Does x2rr/funds work in Firefox?

No. The README shows the Firefox add-on store link struck through and states the Firefox extension store listing has been taken down, leaving Chrome and Edge as the supported browsers.

### Is the value shown by x2rr/funds the final net value?

It is an estimate during trading hours. According to the README, after the trading day's actual net value is published, the corresponding fund gets a check mark, and several releases were spent tuning the valuation calculation.

### Can I move my fund list to another device with x2rr/funds?

The README lists an account login feature for cross-platform sync, and also import and export of the fund list and configuration. Note that v3.4.0 states the account service request address changed and older versions will no longer be able to log in.

### What licence does x2rr/funds use?

GPL-3.0, as declared in the repository and repeated in the package.json licence field. Any redistribution you make carries the same licence obligations.

## Sources

- [License: GPL-3.0](https://github.com/x2rr/funds/blob/master/LICENSE)
- [Project website](https://x2rr.github.io/funds/docs/dist/index.html)
- [README](https://github.com/x2rr/funds/blob/master/README.md)
- [Releases](https://github.com/x2rr/funds/releases)
- [x2rr/funds on GitHub](https://github.com/x2rr/funds)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/x2rr-funds
