
# Jharu
**面向开发者的免费开源磁盘清理工具和存储分析器 — 支持 macOS 和 Windows**
Jharu 可以发现并安全清除开发工具遗留的千兆字节垃圾:机器学习模型缓存、包管理器缓存、Docker 数据、卸载应用程序后的残留文件以及被遗忘的垃圾文件 — 所有这些都可以在一个专业的仪表板中完成。
[](https://jharu.matily.org)
[](https://github.com/riponcm/Jharu/stargazers)
[](https://github.com/riponcm/Jharu/releases)
[](LICENSE)
[](#installation)
[](https://tauri.app)

### 下载
[](https://github.com/riponcm/Jharu/releases/download/v0.2.0/Jharu_0.2.0_universal.dmg)
[](https://github.com/riponcm/Jharu/releases/download/v0.2.0/Jharu_0.2.0_x64-setup.exe)
macOS 安装包为通用版本(支持 Apple Silicon 和 Intel)。Windows 安装包为 64 位。
当前版本:**v0.2.0** · [所有版本及发布说明](https://github.com/riponcm/Jharu/releases)
## 什么是 Jharu?
Jharu 是一款专为软件开发者和机器学习工程师打造的桌面磁盘清理应用。通用的磁盘空间分析器只能向你展示文件夹的大小;而 Jharu 能够理解这些数据的实际内容。它内置了一个包含已知缓存和数据位置的知识库,对找到的所有内容进行分类,用通俗易懂的语言解释每一项,评估删除它的安全性,并将移除的数据放入“废纸篓”或“回收站”——绝对不会永久删除。
Jharu 解决的典型问题:
- 在使用 Hugging Face、Ollama、PyTorch 或 Whisper 下载机器学习模型后磁盘已满
- 隐藏在 npm、pip、uv、yarn、pnpm、conda、Cargo、Go、Gradle、Maven 和 NuGet 缓存中的数 GB 垃圾
- 很久以前卸载的应用程序留下的设置、缓存和支持文件
- 几个月没碰过的旧安装程序、手机备份、日志和大文件
- 不知道到底是什么占用了你的磁盘空间
## 观看演示
观看真实的扫描过程、通俗易懂的明细分析,以及一键清理——所有数据均来自真实机器。
[](https://www.youtube.com/watch?v=pF8etchkChI)
▶ 在 YouTube 上观看 — 不到一分钟回收数 GB 空间
## 截图
开发者清理 — 每一个已知的缓存位置,附带大小和安全性评级
ML 模型 — 这里的 21.7 GB 中有 21.1 GB 是下载后一次都没加载过的
深度清理 — 根据文件夹包含的内容计算大小,并如实提示哪些内容无法读取
## 功能
**ML 模型 — 保留你在用的,清除你从没加载过的。**
单独列出每一个下载的模型,涵盖 Hugging Face、Ollama、Whisper、PyTorch 和 Keras。Jharu 能够区分你实际加载过的模型和那些只下载过一次但从未打开过的模型,因此你可以放心回收后者而完全不影响前者。模型之间共享的 Ollama 层会被保留,因此移除一个模型绝不会破坏另一个模型。没有其他清理工具能做到这种区分。
**开发者清理。**
扫描 25+ 个已知的开发者和机器学习缓存位置 — Hugging Face、Ollama、PyTorch、Whisper、LM Studio、conda、pip、uv、npm、yarn、pnpm、Cargo、Go modules、Gradle、Maven、NuGet、Homebrew、Xcode DerivedData、Docker、JetBrains、Playwright、Puppeteer — 并提供逐项的安全性评级和过期检测。
**Python 环境。**
查找每一个 virtualenv 和 conda 环境,计算其中包的大小,并展示跨环境重复安装的成本 — 将“torch 被安装了十一次”这个问题量化展示出来。
**深度清理。**
以矩形树图或列表的形式进行全盘分析。根据文件夹包含的内容计算大小,并将其分类为系统、应用程序、你的文件、应用数据或开发者数据。点击一个色块即可深入查看。系统位置受保护,绝对无法从应用中清理。
**垃圾文件。**
非缓存类垃圾:Downloads 文件夹中的安装程序和归档文件、旧设备备份、日志和崩溃报告、邮件附件副本、六个月未碰过的大文件,以及在 Windows 系统上的临时文件夹、Windows Update 缓存、Delivery Optimization 文件和崩溃转储文件。
**桌面。**
桌面上的屏幕截图和杂乱文件,可按类型和存在时间进行筛选。由于这些是你自己的文件,默认操作是将其归档到文件夹中,而不是直接删除。
**浏览器。**
检测 Chrome、Edge、Brave、Arc、Firefox 和 Safari,并按配置文件分别列出其缓存明细,将可安全清理的缓存与需要人工检查的数据区分开来。
**卸载器。**
列出已安装的应用程序及其自身大小和它们在整个系统中积累的数据。在 Windows 上,它会读取注册表并运行每个程序自带的卸载程序;在 macOS 上,它会移除应用包。无论哪种方式,它随后都会扫描并清除残留文件,并预先勾选高置信度的匹配项。
**磁盘健康。**
显示每个磁盘的容量和 SMART 状态,外加基于每日容量读数构建的填满预测,该预测可以推算出磁盘何时会耗尽空间。当 `smartctl` 可用时,还会显示磨损程度、温度和通电时间。
**应用内更新。**
Jharu 会检查 GitHub releases 上的新版本,并直接在应用内下载和安装 — 包含签名、已验证,并支持一键重启。
## Jharu 的对比
通用清理器的设计初衷是看起来很忙碌并推销订阅。Jharu 只专注做好一件事:处理通用清理器无法理解的开发者和 AI 数据。
| | Jharu | CleanMyMac | CCleaner |
| --- | --- | --- | --- |
| 价格 | **永久免费** | $40+/年 | 免费增值 |
| 开源 | **是 · Apache 2.0** | 否 | 否 |
| 理解 ML 模型缓存 | **是** | 否 | 否 |
| 已使用与从未加载检测 | **是** | 否 | 否 |
| 遥测 / 追踪 | **无** | 有 | 有 |
| macOS 和 Windows | **都支持** | 仅限 macOS | 都支持 |
| 注册表“清理器” | **从不(因为它没用)** | — | 有 |
## Jharu 能清理什么?
| 类别 | 示例 |
| --- | --- |
| ML 模型缓存 | Hugging Face hub (`~/.cache/huggingface`)、Ollama 模型 (`~/.ollama/models`)、PyTorch hub、Whisper、Keras、LM Studio |
| Python | pip 缓存、uv 缓存、conda 包缓存、过期的 conda 环境 |
| JavaScript | npm 缓存 (`~/.npm/_cacache`)、yarn 缓存、pnpm store、Puppeteer 和 Playwright 浏览器下载 |
| 构建工具 | Xcode DerivedData 和归档、Gradle 缓存、Maven 仓库、Cargo registry、Go module 缓存、NuGet 包 |
| 容器 | Docker 虚拟机数据和镜像存储 |
| IDE | JetBrains 缓存、编辑器缓存目录 |
| 应用残留 | 已卸载应用程序的支持文件、缓存、偏好设置和日志 |
| 垃圾 | 下载目录中的安装程序、旧设备备份、崩溃报告、邮件附件副本、过时的大文件 |
## 安全模型
- 任何内容都不会被永久删除。每次清理操作都会将数据移至“废纸篓”或“回收站”,你可以从中恢复数据。
- 每一项发现都带有安全性评级:可安全清理、可重新下载,或需先检查。
- 操作系统位置受到保护,完全排除在清理范围之外。
- 每次清理都会通过一个对话框进行确认,说明实际后果 — 缓存会自我重建,模型会被重新下载,环境必须重新创建,你自己的文件将被永久删除。
- **Jharu 无法读取的位置会被报告,绝不隐藏。** 需要提升权限的文件夹大小测量为 0 B,这看起来和空文件夹一模一样;Jharu 会将这些标记为“部分无法读取”,而不是默默地漏掉它们。一个隐藏自己看不到的内容的清理工具,比一个承认自己看不到的工具还要糟糕。
- 没有注册表清理器,并且 Windows prefetch 仅列出但从不清理。两者都被广泛宣传,但都没有任何实际用处;prefetch 是 Windows 快速启动你的应用程序的方式,清除它只会让接下来的启动变得更慢。
## 安装
适用于 macOS(Apple Silicon 和 Intel)和 Windows 的预构建安装程序发布在 [releases 页面](https://github.com/riponcm/Jharu/releases)上。安装后,Jharu 会在应用内自动更新。
### 从源码构建
前置条件:[Rust](https://rustup.rs)(稳定版)和 [Node.js](https://nodejs.org) 20+。
```
git clone https://github.com/riponcm/Jharu.git
cd Jharu
npm install
npm run tauri dev # run in development
npm run tauri build # produce installers for your platform
```
在 macOS 上,为了获得完整的扫描覆盖范围,请授予“完全磁盘访问权限”(系统设置,隐私与安全性)。Jharu 会检测是否缺少权限,并提示打开正确的设置面板。
### 首次打开 Jharu
Jharu 尚未使用付费的开发者证书进行签名(请参阅下方的[支持 Jharu](#support-jharu)),因此你的操作系统会在你第一次打开它时显示一次性警告。这对于开源应用来说是正常的,并不意味着出了什么问题 — 每次应用内更新时的下载都会通过加密签名进行验证。
- **macOS:** 如果你看到“Jharu 无法打开,因为 Apple 无法验证它”,请右键点击(或按住 Control 键点击)该应用并选择**打开**,然后进行确认。你只需要这样做一次。
- **Windows:** 如果 SmartScreen 显示“Windows 已保护你的电脑”,请点击**更多信息**,然后选择**仍要运行**。
## 常见问题
**如何清理 Hugging Face 模型缓存?**
打开 Jharu 的“开发者清理”标签页。它会列出你的 Hugging Face hub 缓存 (`~/.cache/huggingface`) 及其确切大小,并允许你对其进行探索或将其移至废纸篓。下次有库请求这些模型时,它们会自动被重新下载。
**删除 npm、pip 或其他包管理器缓存安全吗?**
安全。这些缓存只是用于加速重新安装,并且会在下次安装时自动重建。Jharu 将它们标记为“可安全清理”。删除活动项目的 `node_modules` 或你仍在使用的 conda 环境则不同 — Jharu 会将这些评级为“需先检查”。
**Jharu 会永久删除我的文件吗?**
不会。每次清理操作都会将数据移至 macOS 废纸篓或 Windows 回收站,你可以在那里恢复它们。Jharu 绝不会绕过废纸篓。
**Jharu 是 CleanMyMac 或 CCleaner 的免费替代品吗?**
是的。Jharu 是免费且开源的,采用 Apache 2.0 许可证,没有订阅、遥测或诱导升级。它的重点更窄但更深:专注于通用清理器无法理解的开发者和机器学习数据。
**我如何找出是什么占用了我的 Mac 或 Windows PC 上的磁盘空间?**
Jharu 的“深度清理”标签页会分析整个磁盘,并显示每个文件夹的实际大小,并根据其内容进行分类 — 系统文件、应用程序、你的文档、应用数据或开发者数据 — 从而让你能够区分垃圾和重要的数据。
**如何彻底卸载应用程序,包括残留文件?**
Jharu 的“卸载器”列出了每个已安装的应用程序及其积累的数据。卸载操作会在一个步骤内移除应用程序及其残留的支持文件、缓存和偏好设置。
## 架构
| 层级 | 技术 |
| --- | --- |
| 扫描器 | Rust 配合并行目录遍历 (`jwalk`) |
| 安全性 | 操作系统废纸篓集成 (`trash`),绝不永久删除 |
| 规则 | 各平台专用的缓存和数据位置知识库 |
| UI | React 和 TypeScript,Tauri 2 WebView |
| 更新 | `tauri-plugin-updater`,使用已签名的 GitHub release 制品 |
| 磁盘信息 | `info`,通过 `diskutil` 获取 SMART 状态,可选支持 `smartctl` |
| Windows | 读取卸载键的 `winreg`;贯穿始终的跨平台路径适配 |
| 趋势 | 本地存储的每日容量读数,通过最小二乘法进行拟合 |
## 路线图
- 通过将残留文件夹与已安装的应用程序进行对比,检测孤儿数据
- 重复文件检测
- Windows 上详细的磁盘健康状态(目前仅报告容量)
- 本地化 UI,从孟加拉语和印地语开始
0.2.0 版本已发布:单模型 ML 智能、Python 环境分析、桌面清理器、Windows 卸载程序和垃圾规则、深度清理矩形树图以及磁盘填满预测。请查看 [更新日志](CHANGELOG.md)。
## 许可证
根据 [Apache License 2.0](LICENSE) 授权。