打开 “懒猫微服客户端” 下载应用

SHM

隐私优先的自托管遥测仪表盘 - 收集使用统计、验证活跃实例,了解用户群体而不侵犯隐私。支持多应用追踪、动态仪表盘、Ed25519加密身份验证。

2 次下载
0 次点赞
0 条评论
0 次催更
2

安装次数

0

点赞

0

应用评论

0

催更次数

桌面端

应用描述

SHM (Self-Hosted Metrics) 让您在不侵犯用户隐私的情况下,收集自托管软件的使用统计数据,了解活跃实例数量和功能使用情况。 ## 核心功能 - 🔐 **Ed25519 加密身份** - 每个实例生成唯一密钥对,防止数据伪造 - 📦 **多应用支持** - 单个 SHM 服务器可追踪多个软件产品 - 🎨 **动态仪表盘** - 自动适应您发送的任何 JSON 数据结构 - ⚙️ **业务/系统指标分离** - 自动区分业务 KPI 和系统资源数据 ## 1. 访问仪表盘 打开浏览器访问您的 SHM 地址(如 `https://shm.your-domain.com`),仪表盘会自动显示已注册的应用和实例。 ### 2. 集成 SDK 可参考https://github.com/btouchard/shm 中 Readme 文档 在您的自托管应用中集成 SHM SDK,开始收集遥测数据。 #### Node.js SDK 集成举例 ```bash npm install @btouchard/shm-sdk ``` ```typescript import { SHMClient } from '@btouchard/shm-sdk'; const telemetry = new SHMClient({ serverUrl: 'https://shm.your-domain.com', appName: 'MyApp', appVersion: '1.0.0', environment: 'production', enabled: true, }); // 定义业务指标 telemetry.setProvider(() => ({ users_active: countActiveUsers(), documents_created: countDocuments(), })); // 启动(返回 AbortController) const controller = telemetry.start(); ``` --- ## 查看数据 ### 仪表盘界面 | 区域 | 说明 | |------|------| | **应用列表** | 左侧显示所有注册的应用 | | **KPI 卡片** | 顶部展示业务指标汇总 | | **实例表格** | 显示每个实例的详细信息 | | **趋势图表** | 可视化指标变化趋势 | ### 数据说明 - **Business Metrics**: 您通过 `SetProvider` 定义的业务指标 - **System Metrics**: SDK 自动采集的系统信息(CPU、内存、OS 等) - **Instance ID**: 每个实例的唯一加密身份

相关攻略

SHM 使用攻略 :不窥探用户隐私的数据收集工具

## 这玩意儿是干嘛的? 如果你开发了一个开源软件,让用户自己部署到他们自己的服务器上(就是那种 self-hosted 的应用),你肯定想知道:有多少人在用?他们用的什么版本?有没有出问题? 但问题来了——因为是用户自己部署的,你根本看不到任何数据。就像把孩子送出去了,生死未卜。 SHM 就是解决这个痛点的。它能帮你收集一些**不涉及用户隐私**的统计数据,比如: - 有多少个实例在跑 - 每个实例用的什么版本 - 你定义的业务指标(比如创建了多少文档、处理了多少任务) - 系统信息(CPU、内存、操作系统) 关键是,**它不会偷窥用户的个人信息**,所有数据都是加密签名的,而且用户可以随时关掉。 https://appstore.lazycat.cloud/#/shop/detail/cloud.lazycat.app.shm --- ### 集成流程 假设你有个 Node.js 应用,想加上 SHM: **第 1 步:装 SDK** ```bash npm install @btouchard/shm-sdk ``` **第 2 步:在代码里加几行** ```javascript import { SHMClient } from '@btouchard/shm-sdk'; // 模拟业务数据 let usersActive = 5; let documentsCreated = 100; let jobsProcessed = 50; // 初始化客户端 const client = new SHMClient({ serverUrl: 'https://shm.lanmao168.heiyu.space', appName: 'TestApp', appVersion: '1.0.0', environment: 'development', enabled: true, dataDir: '.', reportIntervalMs: 60000, // 每分钟上报一次(最小间隔) }); // 设置业务指标 client.setProvider(() => { // 模拟数据变化 usersActive += Math.floor(Math.random() * 3) - 1; if (usersActive < 1) usersActive = 1; documentsCreated += Math.floor(Math.random() * 10); jobsProcessed += Math.floor(Math.random() * 5); const metrics = { users_active: usersActive, documents_created: documentsCreated, jobs_processed: jobsProcessed, api_requests: Math.floor(Math.random() * 1000) + 100, cache_hit_rate: (Math.floor(Math.random() * 30) + 70) / 100, }; console.log(`📊 Metrics prepared: users=${usersActive}, docs=${documentsCreated}, jobs=${jobsProcessed}`); return metrics; }); // 启动 client.start(); ``` **第 3 步:跑起来** 运行上面的代码后,每隔一分钟,数据会自动发送到你的 SHM 服务器。 在微服上可以看到效果,数据已经收集到了 ![image.png](https://lzc-playground-1301583638.cos.ap-chengdu.myqcloud.com/guidelines/496/0a33f672-0813-470b-bdaa-28a09e29ccab.png "image.png") ### 实战场景:我该怎么用它? #### 场景 1:你是开源项目作者 假设你做了个项目管理工具,发布后有人在用,但你不知道到底有多少人,也不知道哪些功能最受欢迎。 **用 SHM 你可以:** - 看到全球有多少个活跃实例 - 知道每个实例创建了多少项目、多少任务 - 发现有人还在用老版本(该催更新了) - 统计每天的活跃度变化 **怎么做?** 在你的应用代码里集成 SHM SDK(支持 Go 和 Node.js),定义你关心的指标就行了。比如: ```javascript telemetry.setProvider(() => ({ projects_created: db.count('projects'), tasks_completed: db.count('tasks', { status: 'done' }), active_users: db.count('users', { last_login: 'recent' }) })); ``` 这样每隔一段时间(默认一小时),你的应用就会把这些数字发给你的 SHM 服务器。 #### 场景 2:追踪版本分布 你发布了新版本,但不确定有多少人升级了。 SHM 会自动收集版本信息,你能在 Dashboard 上看到: - v1.0: 10 个实例 - v1.1: 5 个实例 - v2.0: 2 个实例(新版本,刚发布) 这样你就知道该不该继续维护老版本了。 --- ## Dashboard 实用操作 ### 查看总览 打开 Dashboard(默认 `http://localhost:8080`),你会看到: #### 概览卡片 (顶部) | 卡片 | 含义 | |------|------| | **OS Distribution: Darwin (1)** | 操作系统分布统计,显示有 1 个 macOS 实例 | | **DOCUMENTS CREATED: 100** | 业务指标 - 创建的文档数量 (由 SDK setProvider 上报) | | **USERS ACTIVE: 10** | 业务指标 - 活跃用户数量 (由 SDK setProvider 上报) | 这些卡片会**自动适应您上报的任何指标**,无需预先配置。 ![image.png](https://lzc-playground-1301583638.cos.ap-chengdu.myqcloud.com/guidelines/496/5b4fe855-3c0a-4399-93c4-248c6e5cd77a.png "image.png") ### 查看单个实例 点击某个实例,能看到: - 最后活跃时间 - 系统信息(操作系统、CPU、内存) - 历史数据曲线 ![image.png](https://lzc-playground-1301583638.cos.ap-chengdu.myqcloud.com/guidelines/496/dc616930-894a-47fb-be87-92cce02173df.png "image.png") #### 时间序列图表 (中间) | 功能 | 说明 | |------|------| | **documents created** | 选中的指标名称 | | **Time series evolution** | 指标随时间变化的趋势 | | **时间范围按钮** | `24h` `7d` `30d` `3m` `1y` `all` - 选择查看的时间范围 | | **X/Y 轴** | X轴为时间,Y轴为指标数值 | --- ## 最后的建议 1. **从小开始**:先定义 3-5 个核心指标,别贪多 3. **定期查看**:每周看一次 Dashboard,了解项目健康度 SHM 的核心理念是:**了解你的软件被如何使用,但不窥探用户隐私**。用好它,你就能从"盲飞"变成"有数据支撑的决策"。 --- GitHub 地址:https://github.com/btouchard/shm

懒猫评分/评论

0.0

0 条评论

此 App 尚未收到足够的评分或评论,无法显示评论列表。

应用信息

最新版本

1.0.0

更新日期

12/25/2025

预估安装占用

113.65 MB

不支持平台

ios、android

来源

btouchard

提供者

天天

兼容性

可在此设备上使用

""