返回顶部
m

mmxagent-guardian文件守护代理

Provide file protection while users work with openclaw. All file operations are version-indexed and support delete recovery and modification rollback.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.3
安全检测
已通过
3,846
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

mmxagent-guardian

文件保护与版本管理

本技能使用 MiniVCS 跟踪所有文件操作并记录版本历史。

运行时要求:需要 Python 3 来运行 scripts/minivcs/minivcs.py。

脚本位置:与本 SKILL.md 文件同目录下的 scripts/minivcs/minivcs.py
(执行前,请先确定包含此文件的目录。下文将其称为 $SKILL_DIR。)

核心机制:

  • - 修改:保存增量差异以及修改前的完整快照,支持回滚
  • 删除:将完整文件移至 ~/.openclaw/minivcs/trash/,支持恢复
  • 所有文件均被索引,根据重要性设置不同的保留期限
  • 每次操作后,自动扫描完整记录表,查找过期记录并请求用户确认

使用限制:

  • - 二进制文件(图片、PDF、音视频等):无法生成文本差异。对于二进制文件保护,MiniVCS 会存储完整的本地 .bak 副本。这适用于二进制文件的备份/回滚保护,删除保护也会在 ~/.openclaw/minivcs/trash/ 中存储完整的本地副本。操作前必须告知用户,因为存储空间消耗可能相对较高。
  • 首次记录无法回滚:当文件首次被记录时,尚不存在任何历史基线,因此该记录没有快照。此后,每次编辑后调用 record_modify 会自动保存快照,从而可以回滚到任意编辑前的状态。
  • 本地存储说明:保护数据存储在本地 ~/.openclaw/minivcs/ 目录下。本技能不提供加密或远程同步功能。



前置条件检查:确认已安装 Python

在执行任何操作之前,必须首先检查用户环境中是否已安装 Python 3。本技能需要 Python 3,如果未安装则不应运行。

检查方法

bash

macOS / Linux


python3 --version

Windows (PowerShell)

python --version
  • - 如果输出为 Python 3.x.x,则表示已安装,可以继续
  • 如果显示 command not found 或 is not recognized as an internal or external command,则停止操作并告知用户本技能需要 Python 3

依赖边界

如果缺少 Python 3:

  • - 不要运行本技能中的依赖安装命令
  • 不要运行远程安装脚本,如 curl | bash
  • 不要写入 shell 配置文件,如 ~/.zshrc 或 ~/.bash_profile
  • 不要通过本技能代表用户修改全局环境变量
  • 告知用户需要 Python 3,并要求用户先自行安装,或明确授权单独的环境设置流程

注意:在某些 Windows 系统上,命令是 python,而在 macOS/Linux 上是 python3。
在以下所有使用 python 的命令中,请根据实际环境替换为正确的命令。


保留策略

文件类型保留天数判定规则
重要文件14 天系统路径(/etc/、/root/、/usr/local/etc/、/opt/)、用户配置目录(~/.ssh/、~/.gnupg/、~/.config/、~/.openclaw/、~/.kube/、~/.docker/、~/.aws/、~/.azure/、~/.local/share/)、Windows 系统目录(C:\Windows\、C:\ProgramData\、C:\Program Files\)、配置文件(.yaml/.toml/.env 等)、入口文件(main.py/index.ts 等)
普通文件
7 天 | 所有其他文件 |

每条记录创建时,会自动设置 expireAt(过期时间戳)和 expireAtDatetime(人类可读时间)字段。



排除路径(自动跳过)

路径包含以下任意片段的文件,recordmodify 和 recorddelete 会自动跳过。这些是生成、供应商或缓存目录,不应进行版本跟踪:

nodemodules、.git、pycache、.venv、venv、.tox、.mypycache、.pytestcache、.ruffcache、dist、build、.next、.nuxt、.turbo

当文件被跳过时,返回值将包含 skipped: true 和 reason 字段。代理应告知用户该文件未被跟踪并说明原因。



二进制文件大小警告

当二进制文件超过 50 MB 时,record_modify(二进制备份)的返回值将包含:

  • - sizeWarning: true
  • sizeWarningMessage:文件大小和阈值的可读描述

当存在 sizeWarning 时,代理必须明确告知用户文件大小,并在对类似大文件进行任何进一步的二进制备份操作前请求用户确认。



操作流程

步骤 1:初始化 MiniVCS 工作目录

首次使用时,存储目录会自动创建。无需额外操作:

bash
python $SKILLDIR/scripts/minivcs/minivcs.py history --project-root root>

所有数据统一存储在 ~/.openclaw/minivcs/ 中:

~/.openclaw/minivcs/
logs.json # 操作日志(包含 expireAt 字段)
diffs/ # 文本文件修改的增量补丁
bases/ # 下次比较的基线(按完整相对路径命名,避免同名冲突)
snapshots/ # 文本文件修改前的完整快照(用于回滚)
trash/ # 已删除文件的完整备份(用于恢复)
backups/ # 二进制文件的完整 .bak 副本(用于回滚)



步骤 2:操作前请求用户确认

在删除或修改文件之前,必须向用户解释以下内容并等待确认:

  1. 1. 要操作的文件路径
  2. 操作类型(修改/删除)
  3. 操作的目的和意图
  4. 可能的影响
  5. 解释本地存储行为:本技能将保护数据存储在 ~/.openclaw/minivcs/ 下
  6. 对于文本文件修改,解释 MiniVCS 会存储差异和快照,以便文件可以回滚
  7. 对于删除,解释 MiniVCS 会在 ~/.openclaw/minivcs/trash/ 中存储完整的本地副本,以便文件可以恢复
  8. 如果文件是二进制文件,明确解释保护使用完整的本地副本而非文本差异,并询问用户是否希望在删除或二进制文件保护前存储该本地副本
  9. 如果二进制备份返回 sizeWarning: true,代理必须向用户显示文件大小和警告消息,并在继续前请求明确确认

如果文件是二进制文件且用户希望存储本地副本,则不要将此操作视为本技能下的受保护删除/回滚流程。

如果路径被自动跳过(返回值包含 skipped: true),告知用户该文件未被跟踪并说明原因。

操作前示例:

我将要对以下文件进行操作,请确认:

  • - 文件:/path/to/file.py
  • 操作:删除
  • 原因:此文件已被新版本替代,不再使用
  • 影响:需要确认没有其他模块导入此文件
  • 本地存储:将在 ~/.openclaw/minivcs/trash/ 下存储完整的本地副本,以便日后恢复
  • 保护:存储的副本将保留 7 天(重要文件为 14 天),期间可随时恢复

是否继续?

删除前二进制文件示例:

我将要删除以下二进制文件,请确认:

  • - 文件:/path/to/file.pdf
  • 操作:删除
  • 原因:此文件不再需要
  • 影响:原始文件将从当前位置移除
  • 本地存储:为保护此二进制文件,我需要在 ~/.openclaw/minivcs/trash/ 下存储一个完整的本地副本
  • 注意:二进制文件使用完整副本而非文本差异进行保护,因此可能占用更多磁盘空间

是否希望在删除前保留该本地备份?

操作完成后,必须告知用户记录结果,例如:

修改完成后

对 path/to/file.py 的修改已完成,此更改已记录(记录 ID:1710000000000)。
  • - 更改摘要:+5 行,-2 行
  • 保留期限:7 天(过期时间:2026-03-20 10:00:00)
  • 可回滚:是(使用 restore 1710000000000 可恢复修改前的状态)
如需查看差异或回滚,请告知。

删除完成后

path/to/file.py 已移至回收站并备份(记录 ID:1710000001000)。
  • - 保留期限:14 天(

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 mmxagent-guardian-1776112561 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 mmxagent-guardian-1776112561 技能

通过命令行安装

skillhub install mmxagent-guardian-1776112561

下载

⬇ 下载 mmxagent-guardian v1.0.3(免费)

文件大小: 17.59 KB | 发布时间: 2026-4-17 15:25

v1.0.3 最新 2026-4-17 15:25
mmxagent-guardian v1.0.3

- Expanded the definition of "important files" for longer retention to cover more system and config directories.
- Introduced automatic skipping for generated, vendored, and cache directories (e.g., __pycache__, node_modules, .git); skipped files are now reported to the user with a reason.
- Added a binary file size warning (for files over 50 MB) requiring user confirmation before backup.
- Updated user confirmation and notification flow to reflect skipped files and size warnings.
- No behavior changes for core modification/delete/restore operations.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部