发布 0.2.0:安装包放官网,Homebrew 通过 gentpan/tap 安装
- 版本号改为 0.2.0(构建号 2),更新日志标记为 0.2.0 · 2026-09-13 - release.sh 生成的 cask 指向 getopenstats.com/download;新增 publish_release.sh:上传 DMG、校验线上文件、提交 cask 到 homebrew-tap - 官网部署排除 /download/;官网下载按钮与 README 安装说明改为官网下载与 brew 命令
This commit is contained in:
1 parent
3b3fd577da
commit
bdb55e602d
9 files changed
+105
-48
No files matched your search
+1
-1
@@ -3,7 +3,7 @@
|
||||
记录 OpenStats 应用的功能新增、样式调整和问题修复,按版本与日期倒序排列。
|
||||
官网、构建与发布脚本等不影响应用本身的改动不在此记录。
|
||||
|
||||
## 未发布
|
||||
## 0.2.0 · 2026-09-13
|
||||
|
||||
### 2026-09-13
|
||||
|
||||
|
||||
@@ -6,13 +6,12 @@
|
||||
|
||||
**Your Mac at a glance — CPU, GPU, memory, network and temperatures in the menu bar, with fan control, keep-awake and one-click cleanup.**
|
||||
|
||||
[](https://github.com/gentpan/OpenStats/releases/latest)
|
||||
[](https://github.com/gentpan/OpenStats/releases)
|
||||
[](https://getopenstats.com/#download)
|
||||
[](https://github.com/gentpan/OpenStats/stargazers)
|
||||
[](https://github.com/gentpan/OpenStats/commits/main)
|
||||
[](https://github.com/gentpan/OpenStats/graphs/commit-activity)
|
||||
[](https://github.com/gentpan/OpenStats/actions/workflows/ci.yml)
|
||||
[](https://github.com/gentpan/OpenStats/releases/latest)
|
||||
[](https://getopenstats.com/#download)
|
||||
[](LICENSE)
|
||||
|
||||
OpenStats is a macOS menu-bar app that shows what your Mac is doing right now — per-core
|
||||
@@ -20,7 +19,7 @@ CPU load, GPU, memory pressure, network speed, disk, battery, temperatures and f
|
||||
lets you act on it: spin the fans up, keep the Mac awake with the lid closed, clear caches.
|
||||
Everything is read on your own Mac. No account, no telemetry. The only network traffic is optional and on demand: a public-IP lookup when you open network details, and a ping probe to a target you choose.
|
||||
|
||||
[Download](https://github.com/gentpan/OpenStats/releases/latest) ·
|
||||
[Download](https://getopenstats.com/#download) ·
|
||||
[Website](https://getopenstats.com) ·
|
||||
[Changelog](CHANGELOG.md) ·
|
||||
[Architecture](ARCHITECTURE.md)
|
||||
@@ -33,10 +32,12 @@ Everything is read on your own Mac. No account, no telemetry. The only network t
|
||||
|
||||
## Install
|
||||
|
||||
OpenStats has not had a release yet. The first one will be a `.dmg` on
|
||||
[Releases](https://github.com/gentpan/OpenStats/releases/latest), signed with a Developer ID
|
||||
certificate and notarized by Apple, followed by a Homebrew cask. Until then, build it from
|
||||
source — see [Build & run](#build--run).
|
||||
Download [OpenStats 0.2.0](https://getopenstats.com/download/OpenStats-0.2.0.dmg) from the website
|
||||
(signed with a Developer ID certificate and notarized by Apple), or install it with Homebrew:
|
||||
|
||||
```bash
|
||||
brew install --cask gentpan/tap/openstats
|
||||
```
|
||||
|
||||
Requires macOS 14 (Sonoma) or later.
|
||||
Developed and tested on Apple Silicon. The interface is in Simplified Chinese.
|
||||
@@ -46,10 +47,10 @@ Developed and tested on Apple Silicon. The interface is in Simplified Chinese.
|
||||
<!-- changelog:start -->
|
||||
<!-- Generated from CHANGELOG.md by Scripts/sync_changelog.py. Do not edit by hand. -->
|
||||
|
||||
Not released yet · **48** changes in development · [full changelog](CHANGELOG.md) (kept in Chinese)
|
||||
Latest release **0.2.0** (2026-09-13) · [full changelog](CHANGELOG.md) (kept in Chinese)
|
||||
|
||||
<details open>
|
||||
<summary><b>2026-09-13</b> · Unreleased · 30 added · 12 style · 6 fixed</summary>
|
||||
<summary><b>2026-09-13</b> · 0.2.0 · 30 added · 12 style · 6 fixed</summary>
|
||||
|
||||
**Added**
|
||||
|
||||
|
||||
+11
-9
@@ -6,20 +6,19 @@
|
||||
|
||||
**Mac 的状态,抬眼就看见——CPU、GPU、内存、网络与温度常驻菜单栏,还能调风扇、防休眠、一键清理。**
|
||||
|
||||
[](https://github.com/gentpan/OpenStats/releases/latest)
|
||||
[](https://github.com/gentpan/OpenStats/releases)
|
||||
[](https://getopenstats.com/#download)
|
||||
[](https://github.com/gentpan/OpenStats/stargazers)
|
||||
[](https://github.com/gentpan/OpenStats/commits/main)
|
||||
[](https://github.com/gentpan/OpenStats/graphs/commit-activity)
|
||||
[](https://github.com/gentpan/OpenStats/actions/workflows/ci.yml)
|
||||
[](https://github.com/gentpan/OpenStats/releases/latest)
|
||||
[](https://getopenstats.com/#download)
|
||||
[](LICENSE)
|
||||
|
||||
OpenStats 是一款 macOS 菜单栏应用,实时显示 Mac 正在做什么:各核心 CPU 负载、GPU、内存压力、
|
||||
网速、磁盘、电池、温度和风扇,并且可以直接处理:给风扇提速、合盖后继续运行、清理缓存。
|
||||
所有数据都在你自己的 Mac 上读取。无需注册账号,没有统计上报。只有两项可关闭的网络功能会联网:打开网络详情时查询公网 IP,以及定时 ping 你选择的探测目标。
|
||||
|
||||
[下载](https://github.com/gentpan/OpenStats/releases/latest) ·
|
||||
[下载](https://getopenstats.com/#download) ·
|
||||
[官网](https://getopenstats.com) ·
|
||||
[更新日志](CHANGELOG.md) ·
|
||||
[架构说明](ARCHITECTURE.md)
|
||||
@@ -32,9 +31,12 @@ OpenStats 是一款 macOS 菜单栏应用,实时显示 Mac 正在做什么:
|
||||
|
||||
## 安装
|
||||
|
||||
OpenStats 还没有发布正式版本。第一个版本会在 [Releases](https://github.com/gentpan/OpenStats/releases/latest)
|
||||
提供 `.dmg`,使用 Developer ID 证书签名并经过 Apple 公证,之后提供 Homebrew cask。
|
||||
在此之前请从源码构建,见[构建与运行](#构建与运行)。
|
||||
从官网下载 [OpenStats 0.2.0](https://getopenstats.com/download/OpenStats-0.2.0.dmg)(Developer ID 签名、经过 Apple 公证),
|
||||
或者用 Homebrew 安装:
|
||||
|
||||
```bash
|
||||
brew install --cask gentpan/tap/openstats
|
||||
```
|
||||
|
||||
需要 macOS 14(Sonoma)或更高版本。在 Apple Silicon 上开发和测试。
|
||||
界面为简体中文。
|
||||
@@ -44,10 +46,10 @@ OpenStats 还没有发布正式版本。第一个版本会在 [Releases](https:/
|
||||
<!-- changelog:start -->
|
||||
<!-- 由 Scripts/sync_changelog.py 从 CHANGELOG.md 生成,请勿手改。 -->
|
||||
|
||||
尚未发布正式版本 · 开发中 **48** 项改动尚未发布 · [完整更新日志](CHANGELOG.md)
|
||||
最新版本 **0.2.0**(2026-09-13) · [完整更新日志](CHANGELOG.md)
|
||||
|
||||
<details open>
|
||||
<summary><b>2026-09-13</b> · 未发布 · 新增 30 · 样式 12 · 修复 6</summary>
|
||||
<summary><b>2026-09-13</b> · 0.2.0 · 新增 30 · 样式 12 · 修复 6</summary>
|
||||
|
||||
**新增**
|
||||
|
||||
|
||||
@@ -24,8 +24,9 @@ echo "内容指纹 v=$STAMP"
|
||||
|
||||
# 目录归部署用户所有,Caddy 只需读取
|
||||
"${SSH[@]}" "$HOST" "sudo mkdir -p $ROOT && sudo chown -R \$(id -un):\$(id -gn) $ROOT"
|
||||
# geoip/ 由服务器上的定时任务生成,不在 web/ 里——排除掉,否则 --delete 会把数据库删了
|
||||
rsync -az --delete --exclude /geoip/ -e "${SSH[*]}" web/ "$HOST:$ROOT/"
|
||||
# geoip/ 由服务器上的定时任务生成,download/ 是 publish_release.sh 上传的安装包,都不在 web/ 里——
|
||||
# 排除掉,否则 --delete 会把它们删了
|
||||
rsync -az --delete --exclude /geoip/ --exclude /download/ -e "${SSH[*]}" web/ "$HOST:$ROOT/"
|
||||
"${SSH[@]}" "$HOST" "sudo chmod -R a+rX $ROOT"
|
||||
echo "已同步到 $HOST:$ROOT"
|
||||
|
||||
|
||||
Executable
+48
@@ -0,0 +1,48 @@
|
||||
#!/bin/bash
|
||||
# 发布已公证的版本:DMG 上传到官网 /download/,cask 提交到 gentpan/homebrew-tap,并校验线上文件。
|
||||
#
|
||||
# ./Scripts/release.sh # 先打包、公证
|
||||
# ./Scripts/publish_release.sh # 再发布
|
||||
set -euo pipefail
|
||||
cd "$(dirname "$0")/.."
|
||||
|
||||
HOST="${SITE_HOST:-debian@15.204.80.137}"
|
||||
KEY="${SITE_KEY:-$HOME/.ssh/gentpan.pem}"
|
||||
ROOT="${SITE_ROOT:-/var/www/getopenstats.com}"
|
||||
TAP="${TAP:-gentpan/homebrew-tap}"
|
||||
VERSION="$(sed -nE 's/^ *MARKETING_VERSION: *"?([0-9.]+)"?.*/\1/p' project.yml | head -1)"
|
||||
DMG="dist/OpenStats-${VERSION}.dmg"
|
||||
CASK="dist/openstats.rb"
|
||||
SSH=(ssh -i "$KEY" -o BatchMode=yes "$HOST")
|
||||
|
||||
[ -f "$DMG" ] && [ -f "$CASK" ] || { echo "缺少 $DMG 或 $CASK,先运行 ./Scripts/release.sh" >&2; exit 1; }
|
||||
grep -q "version \"${VERSION}\"" "$CASK" || { echo "$CASK 的版本不是 ${VERSION}" >&2; exit 1; }
|
||||
xcrun stapler validate "$DMG" >/dev/null || { echo "$DMG 没有装订公证票据" >&2; exit 1; }
|
||||
SHA="$(shasum -a 256 "$DMG" | cut -d' ' -f1)"
|
||||
grep -q "$SHA" "$CASK" || { echo "$CASK 里的 sha256 与 DMG 不一致" >&2; exit 1; }
|
||||
|
||||
# 上传:先传临时名再改名,下载中途不会拿到半个文件
|
||||
"${SSH[@]}" "sudo install -d -o \$(id -un) -m 755 $ROOT/download"
|
||||
scp -i "$KEY" -o BatchMode=yes "$DMG" "$HOST:$ROOT/download/.OpenStats-${VERSION}.dmg.part"
|
||||
"${SSH[@]}" "mv -f $ROOT/download/.OpenStats-${VERSION}.dmg.part $ROOT/download/OpenStats-${VERSION}.dmg && chmod 644 $ROOT/download/OpenStats-${VERSION}.dmg"
|
||||
|
||||
URL="https://getopenstats.com/download/OpenStats-${VERSION}.dmg"
|
||||
ONLINE="$(curl -fsSL --max-time 300 "$URL" | shasum -a 256 | cut -d' ' -f1)"
|
||||
[ "$ONLINE" = "$SHA" ] || { echo "线上 DMG 校验不一致:$ONLINE" >&2; exit 1; }
|
||||
echo "✅ $URL"
|
||||
|
||||
# Homebrew tap
|
||||
WORK="$(mktemp -d)"
|
||||
trap 'rm -rf "$WORK"' EXIT
|
||||
gh repo clone "$TAP" "$WORK/tap" -- --quiet
|
||||
mkdir -p "$WORK/tap/Casks"
|
||||
cp "$CASK" "$WORK/tap/Casks/openstats.rb"
|
||||
if git -C "$WORK/tap" diff --quiet -- Casks/openstats.rb && git -C "$WORK/tap" ls-files --error-unmatch Casks/openstats.rb >/dev/null 2>&1; then
|
||||
echo "✅ $TAP 已是 ${VERSION}"
|
||||
else
|
||||
git -C "$WORK/tap" add Casks/openstats.rb
|
||||
git -C "$WORK/tap" commit -q -m "openstats ${VERSION}"
|
||||
git -C "$WORK/tap" push -q
|
||||
echo "✅ 已提交 Casks/openstats.rb 到 $TAP"
|
||||
fi
|
||||
echo "安装:brew install --cask gentpan/tap/openstats"
|
||||
+4
-3
@@ -12,7 +12,8 @@
|
||||
set -euo pipefail
|
||||
cd "$(dirname "$0")/.."
|
||||
|
||||
REPO="${REPO:-gentpan/OpenStats}"
|
||||
# 安装包放在官网(仓库是私有的,GitHub Release 无法匿名下载)
|
||||
DOWNLOAD_BASE="${DOWNLOAD_BASE:-https://getopenstats.com/download}"
|
||||
DIST="${DIST:-dist}"
|
||||
NOTARY_PROFILE="${NOTARY_PROFILE:-QuotaBar}"
|
||||
SIGN_ID="${SIGN_ID:-$(security find-identity -v -p codesigning 2>/dev/null \
|
||||
@@ -91,7 +92,7 @@ cask "openstats" do
|
||||
version "${VERSION}"
|
||||
sha256 "${SHA256}"
|
||||
|
||||
url "https://github.com/${REPO}/releases/download/v#{version}/OpenStats-#{version}.dmg"
|
||||
url "${DOWNLOAD_BASE}/OpenStats-#{version}.dmg"
|
||||
name "OpenStats"
|
||||
desc "Menu bar system monitor with fan control, keep-awake and cleanup"
|
||||
homepage "https://getopenstats.com"
|
||||
@@ -114,5 +115,5 @@ echo " Homebrew cask:${DIST}/openstats.rb"
|
||||
if [ "${SKIP_NOTARIZE:-0}" = "1" ]; then
|
||||
echo "⚠️ 未公证,仅供本机测试。"
|
||||
else
|
||||
echo "下一步:创建 GitHub Release v${VERSION} 并上传 DMG,再把 cask 提交到 gentpan/homebrew-tap。"
|
||||
echo "下一步:./Scripts/publish_release.sh 上传 DMG 到官网并更新 gentpan/homebrew-tap。"
|
||||
fi
|
||||
+2
-2
@@ -11,8 +11,8 @@ options:
|
||||
settings:
|
||||
base:
|
||||
SWIFT_VERSION: "6.0"
|
||||
MARKETING_VERSION: "0.1.0"
|
||||
CURRENT_PROJECT_VERSION: "1"
|
||||
MARKETING_VERSION: "0.2.0"
|
||||
CURRENT_PROJECT_VERSION: "2"
|
||||
MACOSX_DEPLOYMENT_TARGET: "14.0"
|
||||
# 本地开发使用 ad-hoc 签名;发布时改为 Developer ID(见 docs/PLAN.md)
|
||||
CODE_SIGN_STYLE: Manual
|
||||
|
||||
+22
-21
@@ -15,9 +15,9 @@
|
||||
<meta property="og:site_name" content="OpenStats">
|
||||
<meta property="og:locale" content="zh_CN">
|
||||
<meta property="og:image" content="https://getopenstats.com/assets/window-light.png">
|
||||
<link rel="icon" href="assets/favicon.ico?v=b67d2007" sizes="48x48">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="assets/favicon-32.png?v=b67d2007">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="assets/apple-touch-icon.png?v=b67d2007">
|
||||
<link rel="icon" href="assets/favicon.ico?v=568f3916" sizes="48x48">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="assets/favicon-32.png?v=568f3916">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="assets/apple-touch-icon.png?v=568f3916">
|
||||
<script>
|
||||
// 在样式生效前确定主题,避免深色模式下先闪一下白底
|
||||
try {
|
||||
@@ -25,8 +25,8 @@
|
||||
document.documentElement.dataset.theme = saved || (matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light");
|
||||
} catch { document.documentElement.dataset.theme = "light"; }
|
||||
</script>
|
||||
<link rel="stylesheet" href="styles.css?v=b67d2007">
|
||||
<link rel="stylesheet" href="replica.css?v=b67d2007">
|
||||
<link rel="stylesheet" href="styles.css?v=568f3916">
|
||||
<link rel="stylesheet" href="replica.css?v=568f3916">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@@ -108,7 +108,7 @@
|
||||
</span>
|
||||
<span class="island__expanded" aria-hidden="true">
|
||||
<span class="island__row">
|
||||
<span class="island__brand"><img src="assets/icon.png?v=b67d2007" alt="" width="18" height="18">OpenStats</span>
|
||||
<span class="island__brand"><img src="assets/icon.png?v=568f3916" alt="" width="18" height="18">OpenStats</span>
|
||||
<span class="island__health" data-bind="island-health">各项指标正常</span>
|
||||
</span>
|
||||
<span class="island__grid">
|
||||
@@ -128,7 +128,7 @@
|
||||
<!-- 左侧桌面图标 -->
|
||||
<nav class="desk-icons" aria-label="快捷入口">
|
||||
<a class="desk-icon" href="#download">
|
||||
<span class="desk-icon__art desk-icon__art--dmg" aria-hidden="true"><img src="assets/icon.png?v=b67d2007" alt="" width="40" height="40"></span>
|
||||
<span class="desk-icon__art desk-icon__art--dmg" aria-hidden="true"><img src="assets/icon.png?v=568f3916" alt="" width="40" height="40"></span>
|
||||
<span class="desk-icon__name">OpenStats.dmg</span>
|
||||
</a>
|
||||
<a class="desk-icon" href="https://github.com/gentpan/OpenStats#readme">
|
||||
@@ -152,7 +152,7 @@
|
||||
<span class="window__title">欢迎使用 OpenStats</span>
|
||||
</div>
|
||||
<div class="window__body hero__body">
|
||||
<img class="hero__icon" src="assets/icon.png?v=b67d2007" alt="OpenStats 图标" width="72" height="72">
|
||||
<img class="hero__icon" src="assets/icon.png?v=568f3916" alt="OpenStats 图标" width="72" height="72">
|
||||
<h1 class="hero__title" id="heroTitle">Mac 的状态,抬眼就看见</h1>
|
||||
<p class="hero__lead">CPU、GPU、内存、网络与温度常驻菜单栏,还能调风扇、防休眠、一键清理。所有数据在本机读取,没有账号与统计上报。</p>
|
||||
<div class="hero__actions">
|
||||
@@ -172,7 +172,7 @@
|
||||
<!-- 程序坞 -->
|
||||
<nav class="dock" aria-label="程序坞">
|
||||
<a class="dock__item" href="#features" title="访达"><span class="dock__art dock__art--finder" aria-hidden="true"></span></a>
|
||||
<button class="dock__item" id="dockOpenStats" type="button" title="打开 OpenStats"><img class="dock__art" src="assets/icon.png?v=b67d2007" alt="OpenStats"></button>
|
||||
<button class="dock__item" id="dockOpenStats" type="button" title="打开 OpenStats"><img class="dock__art" src="assets/icon.png?v=568f3916" alt="OpenStats"></button>
|
||||
<a class="dock__item" href="#thermal" title="风扇与防休眠"><span class="dock__art dock__art--fan" aria-hidden="true"></span></a>
|
||||
<a class="dock__item" href="#cleanup" title="清理"><span class="dock__art dock__art--clean" aria-hidden="true"></span></a>
|
||||
<a class="dock__item" href="https://github.com/gentpan/OpenStats" title="GitHub"><span class="dock__art dock__art--terminal" aria-hidden="true"></span></a>
|
||||
@@ -249,8 +249,8 @@
|
||||
<p class="note">公网 IP 查询与连接探测都可以在设置里关闭。修改 DNS 需要管理员权限。</p>
|
||||
</div>
|
||||
<figure class="shot shot--popover split__media">
|
||||
<img class="shot--light" src="assets/popover-network-light.png?v=b67d2007" alt="OpenStats 网络详情弹窗" loading="lazy">
|
||||
<img class="shot--dark" src="assets/popover-network-dark.png?v=b67d2007" alt="OpenStats 网络详情弹窗,深色" loading="lazy">
|
||||
<img class="shot--light" src="assets/popover-network-light.png?v=568f3916" alt="OpenStats 网络详情弹窗" loading="lazy">
|
||||
<img class="shot--dark" src="assets/popover-network-dark.png?v=568f3916" alt="OpenStats 网络详情弹窗,深色" loading="lazy">
|
||||
</figure>
|
||||
</div>
|
||||
</section>
|
||||
@@ -262,8 +262,8 @@
|
||||
<p>主窗口、设置和弹窗共用同一底色,侧边栏与标题栏不分栏着色;窗口宽高都能拖动调整。</p>
|
||||
</div>
|
||||
<div class="shots">
|
||||
<figure class="shot"><img src="assets/window-light.png?v=b67d2007" alt="OpenStats 主窗口仪表盘,浅色" loading="lazy"><figcaption>浅色</figcaption></figure>
|
||||
<figure class="shot"><img src="assets/window-dark.png?v=b67d2007" alt="OpenStats 主窗口仪表盘,深色" loading="lazy"><figcaption>深色</figcaption></figure>
|
||||
<figure class="shot"><img src="assets/window-light.png?v=568f3916" alt="OpenStats 主窗口仪表盘,浅色" loading="lazy"><figcaption>浅色</figcaption></figure>
|
||||
<figure class="shot"><img src="assets/window-dark.png?v=568f3916" alt="OpenStats 主窗口仪表盘,深色" loading="lazy"><figcaption>深色</figcaption></figure>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -284,7 +284,7 @@
|
||||
<p>合盖后继续运行适合下载、渲染和远程连接。使用电池且电量低于下限时会自动关闭,避免在包里过热。</p>
|
||||
<p class="note">风扇与合盖运行需要安装一次辅助工具。它只提供固定的几个操作,不执行任意命令,应用退出时自动恢复设置。</p>
|
||||
</div>
|
||||
<figure class="shot split__media"><img src="assets/thermal.png?v=b67d2007" alt="OpenStats 散热页面" loading="lazy"></figure>
|
||||
<figure class="shot split__media"><img src="assets/thermal.png?v=568f3916" alt="OpenStats 散热页面" loading="lazy"></figure>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -301,7 +301,7 @@
|
||||
</ul>
|
||||
<p>只处理白名单目录;正在运行的应用会跳过,浏览器需先退出;删除前每一项再校验一次,所有操作写入日志。</p>
|
||||
</div>
|
||||
<figure class="shot split__media"><img src="assets/cleaner.png?v=b67d2007" alt="OpenStats 清理页面" loading="lazy"></figure>
|
||||
<figure class="shot split__media"><img src="assets/cleaner.png?v=568f3916" alt="OpenStats 清理页面" loading="lazy"></figure>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -326,14 +326,15 @@
|
||||
|
||||
<section class="band band--alt" id="download">
|
||||
<div class="shell narrow download">
|
||||
<img src="assets/icon.png?v=b67d2007" alt="" width="96" height="96">
|
||||
<img src="assets/icon.png?v=568f3916" alt="" width="96" height="96">
|
||||
<h2>下载 OpenStats</h2>
|
||||
<p>使用 Developer ID 签名并经过 Apple 公证,打开时不会遇到安全拦截。</p>
|
||||
<div class="hero__actions">
|
||||
<a class="btn btn--primary" href="https://github.com/gentpan/OpenStats/releases/latest">下载 .dmg</a>
|
||||
<a class="btn btn--primary" href="download/OpenStats-0.2.0.dmg">下载 OpenStats 0.2.0</a>
|
||||
<a class="btn btn--secondary" href="https://github.com/gentpan/OpenStats">从源码构建</a>
|
||||
</div>
|
||||
<p class="hero__meta">macOS 14 Sonoma 及以上 · 简体中文界面</p>
|
||||
<p class="download__brew">也可以用 Homebrew 安装:<code>brew install --cask gentpan/tap/openstats</code></p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -347,7 +348,7 @@
|
||||
<!-- 由 Scripts/sync_changelog.py 从 CHANGELOG.md 生成,请勿手改。 -->
|
||||
<div class="log">
|
||||
<article class="log__day">
|
||||
<div class="log__head"><time datetime="2026-09-13">2026-09-13</time><span class="log__tag">未发布</span></div>
|
||||
<div class="log__head"><time datetime="2026-09-13">2026-09-13</time><span class="log__tag">0.2.0</span></div>
|
||||
<p class="log__counts">新增 30 · 样式 12 · 修复 6</p>
|
||||
<ul class="log__list">
|
||||
<li><span class="log__kind">新增</span>菜单栏显示 CPU、GPU、内存、网速、CPU 温度和风扇转速。</li>
|
||||
@@ -400,13 +401,13 @@
|
||||
|
||||
<footer class="footer">
|
||||
<div class="shell footer__inner">
|
||||
<span class="footer__brand"><img src="assets/icon.png?v=b67d2007" alt="" width="20" height="20">OpenStats</span>
|
||||
<span class="footer__brand"><img src="assets/icon.png?v=568f3916" alt="" width="20" height="20">OpenStats</span>
|
||||
<span class="footer__fine">© 2026 GiantAccel, LLC · <a href="https://github.com/gentpan/OpenStats/blob/main/LICENSE">MIT 许可证</a> · <a href="https://github.com/gentpan/OpenStats">GitHub</a></span>
|
||||
<span class="footer__fine">OpenStats 是独立的第三方应用,与 Apple 没有隶属关系。</span>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script src="app.js?v=b67d2007" defer></script>
|
||||
<script src="replica.js?v=b67d2007" defer></script>
|
||||
<script src="app.js?v=568f3916" defer></script>
|
||||
<script src="replica.js?v=568f3916" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -231,6 +231,9 @@ p { margin: 0; }
|
||||
.download { text-align: center; display: flex; flex-direction: column; align-items: center; gap: var(--space-4); }
|
||||
.download h2 { font-size: var(--text-2xl); }
|
||||
.download p { color: var(--color-text-secondary); }
|
||||
.download__brew { font-size: var(--text-sm); }
|
||||
.download__brew code { font-family: var(--font-mono); font-size: var(--text-xs); padding: var(--space-1) var(--space-2); border-radius: var(--radius-sm); background: var(--color-neutral-100); color: var(--color-text); }
|
||||
:root[data-theme="dark"] .download__brew code { background: #25282d; }
|
||||
|
||||
/* 更新日志(由 Scripts/sync_changelog.py 生成) */
|
||||
.log { display: grid; gap: var(--space-4); }
|
||||
|
||||
Reference in new issue
Block a user