Commit Graph
24 Commits
Author SHA1 Message Date
weiyuqing bcd4cd3759 feat: render health pages from server summaries 2026-10-17 14:10:27 +08:00
weiyuqing c9ca625de1 feat: expose health view API and streaming CSV exports 2026-10-17 14:02:40 +08:00
weiyuqing 9dbfcd73f8 feat: add SQL health view summaries and stable pagination 2026-10-17 13:48:26 +08:00
weiyuqing 497fd1c1b0 记录已批准的后端汇总与分页实施计划 2026-10-17 13:39:46 +08:00
weiyuqing 8546ba23ff 保存 NAS 健康系统 UI7 代码与本机维护基线 2026-10-17 13:29:12 +08:00
HUAYUE1024 1767b4921a Update README.md 2026-10-10 18:01:12 +08:00
binglua addd2849cc chore: remove docs unrelated to running the project
- Remove docs/PROJECT_DOCUMENTATION.md (internal refactoring spec)
  and docs/QR_LOGIN.md (implementation walkthrough); protocol
  reference lives in source comments (adapters/, api.py)
- Keep docs/PRIVACY.md (data-flow audit backing the no-upload claim)
- Update README/CHANGELOG links accordingly
2026-09-03 22:56:56 +08:00
binglua 45f1d2e701 fix(privacy): zero third-party requests from browser (v0.2.2)
- Remove Google Fonts links from web dashboard and testpage: opening
  the page no longer sends requests (IP/UA) to Google; system font
  stack renders identically, works offline and loads faster in CN
- Override default python-httpx User-Agent with a browser UA on all
  Xiaomi requests (matches cookie-based login origin, removes script
  fingerprint)
- PRIVACY.md: document zero-CDN frontend and minimal outbound headers
2026-09-03 22:47:34 +08:00
binglua a47a8470f8 feat(security): privacy hardening + data export (v0.2.1)
- CORS: default localhost-only origins (was *, allowed any webpage
  to read local health data cross-site); env override MI_FITNESS_CORS_ORIGINS
- Host header allowlist middleware on FastAPI and Flask (DNS-rebinding
  protection); auto-configured for non-loopback binds via CLI
- Move API key passTokens from SQLite plaintext to system keyring,
  with automatic migration on startup and cleanup for revoked keys
- Disable uvicorn access log by default (query params out of terminals)
- New GET /api/export: JSON/CSV export of local data (offline, Excel BOM)
- Add docs/PRIVACY.md: full data-flow audit, outbound endpoint inventory,
  threat model, self-verification steps
- 6 new tests (host allowlist, keyring roundtrip, CSV)
2026-09-03 22:43:15 +08:00
binglua 42c42b2c9e docs: point badges and clone URL to this repository 2026-09-03 22:33:57 +08:00
binglua 99bc32e862 docs: polish README for open-source release
- Add CI/license/version/python badges and bilingual one-liner
- Add mermaid architecture diagram
- Feature list: add MCP access, incremental sync engine, local-first
- Add FAQ (data freshness, passToken expiry, mcp<2, sync duration)
- Consolidate auth levels into a table; add key issuance example
- Fix imprecise bare-sync description (resume from cursor, not fixed 30d)
- Add docs navigation and repo file layout notes
2026-09-03 22:30:24 +08:00
binglua 2dd32f1ee6 feat: REST API with API keys, QR login, and web dashboard (v0.2.0)
- REST API (FastAPI): all data endpoints, sync (foreground/background),
  coverage stats, interactive docs at /docs
- API key system: exchange Xiaomi credentials for mif_sk_* keys
  (multi-account contexts, last-used tracking, prefix revocation);
  static key via MI_FITNESS_API_KEY, admin endpoints via MI_FITNESS_ADMIN_KEY
- QR code login: reverse-engineered Xiaomi universal QR flow
  (sid=xiaomiio), auto-issues API key after scan confirmation
- Built-in web dashboard (Flask): visual console for all endpoints,
  key management, QR login; reverse proxy with server-side key relay
- Standalone testpage/ console (python app.py, no install needed)
- Fix: pin mcp<2 (SDK 2.x removed Server.list_tools, broke startup)
- CI: install [all,dev] extras; docs: full technical documentation
  and QR login implementation guide
2026-09-03 22:28:31 +08:00
binglua 7fcd06980f feat: improve cloud sync reliability and background status 2026-07-13 04:03:57 +00:00
binglua ebc94b50e9 chore: localize CLI output and comments to Chinese 2026-06-29 02:49:10 +00:00
binglua 636d2857c3 fix: preserve daily activity timezone metadata 2026-06-29 02:38:41 +00:00
binglua f73fcb6659 fix: sync all supported Mi Fitness data types by default 2026-06-29 02:21:44 +00:00
binglua c901e712d7 fix: preserve Mi Fitness local timezone offsets 2026-06-22 02:10:55 +00:00
binglua eef795672d feat: sync spo2 stress and abnormal heart beat 2026-06-22 01:31:54 +00:00
binglua 0ff3dd1c82 feat: sync spo2 stress and abnormal heart beat 2026-06-22 01:31:54 +00:00
binglua b532ee652d docs: translate README to Chinese 2026-06-21 11:45:54 +00:00
binglua 62be8dfc2b Add Mi Fitness sleep and workout sync support 2026-06-21 11:45:53 +00:00
Aleksej Kubulashvili 6440121d67 docs: add repository badges 2026-03-16 14:13:56 +03:00
Aleksej Kubulashvili df914ea56a feat: prepare mi-fitness-mcp for first public release
Package the standalone Mi Fitness MCP with clearer public docs, release metadata, CI, and safer local repository hygiene so it is ready to publish without secrets or work identity leakage.
2026-03-12 14:12:49 +03:00
Aleksej Kubulashvili 6771fc841c Initialize standalone Mi Fitness MCP repository 2026-03-12 10:03:58 +03:00