feat(analytics): add privacy-safe product telemetry

Add self-hosted Umami reporting alongside existing telemetry across Desktop and CLI Web.

Track normalized startup, import, feature, and AI usage with a stable anonymous ID and strict privacy allowlists. Keep incremental usage platform-independent and preserve accurate failure classifications and platform metadata across import paths.
This commit is contained in:
digua committed 2026-07-29 14:28:48 +08:00
1 parent db60339829
commit 860bf52d62
48 files changed
+1615 -162

No files matched your search

+6 -3
View File
@@ -174,7 +174,8 @@ jobs:
APPLE_API_KEY_ID: ${{ secrets.APPLE_API_KEY_ID }}
APPLE_API_ISSUER: ${{ secrets.APPLE_API_ISSUER }}
# 分析服务
APTABASE_APP_KEY: ${{ secrets.APTABASE_APP_KEY }}
UMAMI_ENDPOINT: ${{ secrets.UMAMI_ENDPOINT }}
UMAMI_WEBSITE_ID: ${{ secrets.UMAMI_WEBSITE_ID }}
working-directory: apps/desktop
run: pnpm run build && pnpm exec electron-builder --mac --${{ matrix.arch }} --config electron-builder.yml -p never
@@ -286,7 +287,8 @@ jobs:
env:
GH_TOKEN: ${{ secrets.GH_TOKEN }}
# 分析服务
APTABASE_APP_KEY: ${{ secrets.APTABASE_APP_KEY }}
UMAMI_ENDPOINT: ${{ secrets.UMAMI_ENDPOINT }}
UMAMI_WEBSITE_ID: ${{ secrets.UMAMI_WEBSITE_ID }}
working-directory: apps/desktop
run: pnpm run build:win
@@ -354,7 +356,8 @@ jobs:
- name: Build CLI (with Web UI)
env:
APTABASE_APP_KEY: ${{ secrets.APTABASE_APP_KEY }}
UMAMI_ENDPOINT: ${{ secrets.UMAMI_ENDPOINT }}
UMAMI_WEBSITE_ID: ${{ secrets.UMAMI_WEBSITE_ID }}
run: pnpm --filter chatlab-cli run build:full
- name: Upload CLI build output