SafeMask v1.1.0
🛡️ SafeMask v1.1.0 - 版本更新说明
发布日期:2026年2月12日
版本号:v1.1.0
核心定位:AI 时代的全格式隐私脱敏盾牌
🚀 核心亮点
1. 办公文档全格式支持 (Office & PDF)
SafeMask 现已跨越纯文本限制,正式支持主流办公文档的本地脱敏:
- Microsoft Word (.docx):采用 XML 标签感知算法,仅脱敏
<w:t>文本节点,完美保护文档格式、图片与样式不受干扰。 - Microsoft Excel (.xlsx):智能遍历工作表,对字符串类型单元格执行高精脱敏,数值、公式与日期保持原样。
- PDF 文档 (.pdf):支持 PDF 文本深度提取与脱敏,自动输出为 AI 友好的
.txt格式,大幅提升提示词安全性。
2. 极致性能:脱敏算法原子化优化
为了应对千万级行数的日志与超大文档,我们对 Rust 核心引擎进行了重构:
- 零堆分配 (SmallVec):在处理单行文本匹配时,引入
SmallVec将匹配元数据保留在栈上,大幅减少高频内存分配导致的 CPU 抖动。 - 缓冲区重用 (Buffer Pooling):优化内存预分配策略,文件处理过程中的内存占用更加平稳,在大规模脱敏场景下性能提升约 15%。
3. 智能文件管理与交互
- 自适应后缀保留:处理后的文件将自动命名为
文件名.masked.原后缀(如report.masked.docx),不再强制转换为.log。 - 结构化任务反馈:脱敏完成后,窗体将弹出系统级确认框,实时展示处理耗时、吞吐量(MB/s)及保存路径。
- 一键直达 (Reveal in Folder):支持在完成提示中直接点击“查看文件”,自动唤起系统文件管理器并选中目标文件。
🛠️ 问题修复与底层改进
- [修复] 剪贴板非文本冲突:解决了复制文件或图片时,监听器因格式不匹配而频繁抛出
ContentNotAvailable错误并导致日志滚动及 UI 警告的问题。 - [修复] 历史记录二次脱敏 Bug:通过同步全局
last_content状态,修复了在“历史记录”中复制原文时会触发监听器再次脱敏的逻辑闭环问题。 - [优化] 监控静默策略:当剪贴板内容为非文本时,自动挂起处理并清空缓存,显著降低了后台运行时的 CPU 闲置开销。
- [安全] 权限最小化:更新了 Tauri v2 能力集(Capabilities),精确授权
dialog:ask与opener:reveal,确保应用符合零信任安全标准。
📊 性能基准测试 (v1.1.0 性能表现)
测试环境: Windows 11 / i7-12700K / 16GB RAM
| 文件类型 | 原始大小 | 处理耗时 | 结果 |
|---|---|---|---|
| 纯文本日志 (.log) | 2.3 GB | 7.9s | 格式完全一致 |
| 办公文档 (.docx) | 50 MB (含大量图片) | 1.2s | 格式完整保留 |
| 复杂表格 (.xlsx) | 10万行数据 | 2.4s | 单元格精准脱敏 |
⚠️ 开发者建议 (Build from source)
如果您是自行编译本项目,请注意以下改动:
- Cargo.toml:增加了
zip,calamine,rust_xlsxwriter,pdf-extract,quick-xml,smallvec等依赖。 - Capabilities:请确保
src-tauri/capabilities/default.json包含dialog:allow-ask权限。
SafeMask - 让每一行数据,都能安全地拥抱 AI。
感谢您的使用与支持!