From 16ddd8fe3a3d18d141ef15d0e04d8e020a7c878e Mon Sep 17 00:00:00 2001 From: zhaolei <12153398@qq.com> Date: Wed, 28 Oct 2026 19:28:49 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20README=20=E5=8A=A0=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E5=BE=BD=E7=AB=A0=20+=20ChangeLog=20v0.2.0=20/=20v0.2.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index adc7b9c..540ed97 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,9 @@ # MeshSafe · 文件安全检测服务 +![Version](https://img.shields.io/badge/version-v0.2.1-blue) +![Python](https://img.shields.io/badge/python-3.12%2B-green) +![License](https://img.shields.io/badge/license-proprietary-orange) + > **光闸摆渡场景下的独立文件安全守门员。** 外网文件进来之前,先过 MeshSafe。 --- @@ -194,5 +198,30 @@ MeshSafe 会**分析宏的实际行为**: --- -*文档版本:v1.0(方案稿)* +## 版本历史 + +### v0.2.1 (2026-10-28) + +**并发与稳定性核心修复:** + +- **诊断定时器分布式锁** — 多 worker 部署时,每个时间槽位只有一个 worker 执行,Redis 时间槽位设计(`key=: + SET NX + EX`),无主动释放,下一槽位自然放行 +- **JSONL 存储跨进程文件锁** — `fcntl.flock` 排他锁 + `errors="replace"` 容错解码 + 临时文件 + `os.replace` 原子重写,彻底根除多 worker 并发写导致的 UnicodeDecodeError 和数据膨胀 +- **移除 SQLite fallback** — 统一 PostgreSQL 作为唯一数据库后端 +- **API_CLIENTS 脱敏** — `docker-compose.yml` 中硬编码的 MASTER_KEY 改为环境变量 `${MESHSAFE_API_CLIENTS:-test-client:test-secret}`,真实密钥移入 `.env`(已 `.gitignore`) +- **Docker 网络固定网段移除** — 删掉 `subnet: 172.28.0.0/16` + `ipam`,IP 由 Docker 自动分配 + +**产品与文档:** + +- 新增 `/console/about` 产品介绍页(Hero + 痛点叙事 + 4 大卡片 + 6 层检测管线 + 架构 3 小卡) +- 新增 `deploy/OPERATIONS.md` 运维部署指南 +- `.gitignore` 补 `/data/`、`benchmark_report*.json`、`out.json`、`/.screenshots/` + +### v0.2.0 (2026-10-27) + +- v1.0 初始架构落地:FastAPI + PostgreSQL + Redis + Docker Compose +- 6 层检测管线(L0-L5)、零容忍规则集、客户端 HMAC-SHA256 签名鉴权 +- 控制台 UI:登录 / Dashboard / 诊断中心 / 策略管理 / 任务列表 / 测试中心 + +--- + *更多技术细节请参阅 [总体方案](docs/00-总体方案.md) 和 [接口文档](docs/接口文档.md)*