讲师中心 微信公众号
AI工具推荐 视频效率加速

Git Watcher

Polar Sponsor
爱发电 赞助
.NET 9.0

用于跟踪、提交、比较或回滚 OpenClaw 配置更改。当用户提及“提交配置”、“保存此版本”等时触发。

OpenClaw Git 管理器

功能概述

OpenClaw Git 管理器是一项面向实际任务的技能,主要用于OpenClaw 配置文件的Version 控制器 —— 与 diff 执行, 比较历史, 滚回到任何以前的版本;Core Place.;

核心要点

  • Every config change without git recor。
  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。

使用与执行

从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。

结果检查与注意事项

执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。

OpenClaw Git 管理器

OpenClaw 配置文件的版本控制 — 支持带差异比对的提交、历史版本对比、回滚至任意先前版本。

核心定位

任何未通过 Git 记录的配置变更,都是一次潜在的数据丢失事件。 本技能将 OpenClaw 配置管理从“希望一切不出问题”转变为“我总能回退”。

所追踪的内容:

  • ~/.openclaw/openclaw.json — 主配置文件
  • ~/.openclaw/credentials/*.json — 凭据配置文件
  • ~/.openclaw/agents/ — Agent 定义
  • ~/.openclaw/flows/ — Flow 定义
  • ~/.openclaw/skills/ — 自定义技能配置

不追踪的内容: memory/、logs/、media/、tmp/、trash/、canvas/、npm/、completions/、service-env/、tasks/、.DS_Store。

仓库初始化

首次使用时,若 ~/.openclaw/ 下尚无 Git 仓库,该技能将自动初始化一个 Git 仓库,并配置合理的 .gitignore 文件,以排除运行时数据。

命令模式

/openclaw-git-manager commit

暂存并提交当前配置状态,并附上可读性良好的提交信息。

适用于以下场景:

  • 配置刚被修改(通过向导、手动编辑或其它技能)
  • 在对 openclaw.json 做高风险变更前
  • 成功执行 doctor 或 config 后且状态发生变更

执行步骤:

  1. 检查自上次提交以来有哪些受追踪文件发生了变更(git status)
  2. 对每个变更文件,展示简洁的差异摘要(仅显示变更的键名,而非完整内容)
  3. 提示用户确认或编辑提交信息
  4. 暂存所有已变更的受追踪文件
  5. 使用该信息完成提交,消息前缀为 config:
  6. 报告提交哈希值及变更文件数量

禁止操作:

  • 提交原始密钥或真实 API 密钥(若 credentials/ 中含真实密钥则发出警告)
  • 提交二进制文件或缓存文件
  • 在未说明变更内容的情况下提交

/openclaw-git-manager log

展示提交历史,包含单行摘要与差异概览。

适用于以下场景:

  • 用户希望了解“什么内容何时发生了变更”
  • 诊断配置回归问题(这个问题是何时引入的?)
  • 查找一个已知可用的版本用于恢复

执行步骤:

  1. 运行 git log --oneline -20 展示最近 20 条提交
  2. 对每条提交,展示:简短哈希值、相对时间、消息首行
  3. 若用户请求查看某特定提交详情,则展示完整差异:git show --stat(变更文件列表) + git show (补丁内容)
  4. 按时间倒序(最新在前)展示提交,并为每条提交编号以便引用

禁止操作:

  • 对大文件展示完整文件内容
  • 在差异输出中包含已被忽略路径(如 memory/、logs/ 等)

/openclaw-git-manager diff

精确展示两次提交之间,或工作树与 HEAD 之间的差异。

适用于以下场景:

  • 比较当前未提交状态与上一次提交
  • 比较两个历史提交
  • 验证回滚操作将带来的具体变更

执行步骤:

  1. 若无参数:展示所有未暂存变更与 HEAD 的差异
  2. 若指定 --from --to :展示两个提交之间的差异
  3. 差异格式需包含文件头,并按文件统计 +/- 行数
  4. 对于 JSON 文件,可选地以结构化方式呈现 key: value 变更
  5. 汇总统计:N 个文件变更、N 行插入、N 行删除

禁止操作:

  • 展示二进制差异(统一表述为“文件已变更,N 字节”)
  • 展示已被忽略路径(如 memory/、logs/ 等)

/openclaw-git-manager restore

回滚至某历史提交,或恢复特定文件。

适用于以下场景:

  • 某次配置变更引发问题,用户希望回退
  • 用户通过 log 找到一个稳定可用的提交,并希望恢复至该版本
  • 用户说“撤销这次变更”或“回到之前的状态”

执行步骤:

  1. 若用户指定了提交(哈希值或 log 中的编号):将整个工作树恢复至该提交
  2. 若用户指定了某个具体文件:仅将该文件恢复至该提交对应版本
  3. 先展示预览差异:当前状态将发生哪些变更
  4. 覆盖当前文件前,必须获得用户显式确认
  5. 恢复完成后,自动创建一条恢复标记提交:config: restore to ()
  6. 报告哪些文件被修改,以及新的 HEAD 提交

恢复模式:

  • 全树恢复:git checkout -- .(所有受追踪文件)
  • 单文件恢复:git checkout -- path/to/file
  • 硬重置(破坏性):git reset --hard —— 仅当用户明确说出“hard reset”时才执行

禁止操作:

  • 未经用户显式确认,执行破坏性恢复(如 hard reset、强制 checkout)
  • 恢复至非当前 HEAD 的祖先提交(避免 detached HEAD 风险)

/openclaw-git-manager status

展示当前工作树状态。

适用于以下场景:

  • 用户询问“当前配置状态如何?”
  • 提交前,确认哪些文件将被纳入提交
  • 恢复后,验证工作树是否已清理干净

执行步骤:

  1. 运行 git status --short 获取简洁视图
  2. 展示:与远程分支相比领先/落后多少提交(如有)、当前所在分支
  3. 列出所有未提交变更的文件名
  4. 报告工作树是否“干净”,或“N 个文件已变更”

禁止操作:

  • 在 status 模式下展示完整差异(请使用 diff 命令)

执行入口

主入口始终为 scripts/git_manager.py,从 ~/.openclaw/ 目录调用。

# 在 ~/.openclaw/ 目录下执行
python3 ~/.openclaw/workspace/skills/openclaw-git-manager/scripts/git_manager.py  [args]

# 支持命令:commit、log、diff、restore、status

脚本根据已安装技能目录解析自身位置,而非当前工作目录。

配置文件路径

文件 路径 说明
主配置 ~/.openclaw/openclaw.json 主要受追踪文件
凭据 ~/.openclaw/credentials/*.json 含真实密钥 — 绝不暴露原始内容
Agents ~/.openclaw/agents/ Agent 定义
Flows ~/.openclaw/flows/ Flow 定义
自定义技能 ~/.openclaw/workspace/skills/ 自定义技能配置

Gitignore 规则(内嵌)

以下路径均被排除在追踪范围之外:

# 运行时数据(排除)
memory/
logs/
media/
tmp/
trash/
canvas/
npm/
completions/
service-env/
tasks/
.DS_Store

# Node.js / npm
node_modules/
package-lock.json

# 编辑器
*.swp
*.swo
.vscode/
.idea/

# OpenClaw 内部文件(非用户配置)
cron/
devices/
exec-approvals.json
update-check.json
skills-trigger-index.json
subagents/
delivery-queue/

禁止行为

  • 提交真实 API 密钥、Bearer Token 或密码 — 必须先行脱敏
  • 使用 git push — 本仓库仅为本地记录,不作为共享仓库
  • 合并分支 — 保持线性历史以降低恢复复杂度
  • 直接修改 .git/ 目录 — 始终通过标准 Git 命令操作
  • 追踪 memory/ 或 logs/ — 这些属于运行时数据,而非配置

质量标准

一条优秀的提交信息应能让未来的阅读者快速回答:

  • 什么发生了变更?(具体某个配置项、文件或一组设置)
  • 为何变更?(变更意图 — 如“启用 TTS”,而非“更新了 JSON”)
  • 此前状态如何?(可通过差异直观看到)

示例提交信息:

  • ✅ config: enable minimax TTS in production profile
  • ✅ config: add claude-sonnet model to local provider list
  • ✅ config: rollback agent definitions to pre-migration state
  • ❌ config: update
  • ❌ config changes
  • ❌ stuff

优质 vs 劣质提交信息

优质 劣质
config: enable minimax TTS in production profile config update
config: add claude-sonnet to model list model change
config: restore openclaw.json to pre-wizard state restore
config: migrate agent definitions to new format migration
config: disable noisy plugin auto-update changed settings

日志格式

commit a1b2c3d  2 小时前   config: enable minimax TTS
commit b2c3d4e  昨天      config: add claude-sonnet to providers
commit c3d4e5f  3 天前     config: initial checkpoint

回滚输出契约(强制要求)

每次执行 restore 命令后,输出必须包含以下四项:

  1. Files restored — 已恢复的文件列表
  2. New HEAD — 当前工作树指向的新提交哈希值
  3. Previous state — 上一提交哈希值(供后续撤销使用)
  4. Next action — 用户下一步建议操作(例如:“重启 gateway”)

技能适用性

本技能解决一个明确问题:配置变更缺乏可见性与可逆性。

它不替代备份方案、云同步或团队协作工作流。

目录

热门AI工具

更多
DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

PixTV
PixTV Hot

PixTV是一款面向AIGC内容创作的AI视频生成工具。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

相关专题

更多
git怎么对比两个版本的文件内容
git怎么对比两个版本的文件内容

要对比两个版本的 git 文件,请使用 git diff 命令:git diff 比较工作树和暂存区之间的差异。git diff 比较两个提交或标签之间的差异。git diff 输出显示差异块,其中 + 表示添加的行,- 表示删除的行, 表示修改的行。可使用 gitkraken、meld、beyond compare 等可视化工具更直观地查看差异。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2281

2024.04.09

git提交错误怎么撤回
git提交错误怎么撤回

git提交错误撤回的方法:git reset head^:撤回最后一次提交,恢复到提交前状态。git revert head:创建新提交,内容与之前提交相反。git reset :使用提交的 sha-1 哈希撤回指定提交。交互式舞台区:标记要撤回的特定更改,然后提交,排除已撤回更改。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2517

2024.04.09

git撤销提交的commit
git撤销提交的commit

Git是一个强大的版本控制系统,它提供了很多功能帮助开发人员有效地管理和控制代码的变更,本专题为大家提供git 撤销提交的commit相关的各种文章内容,供大家免费下载体验。

714

2023.07.24

git和svn的区别
git和svn的区别

git和svn的区别:1、定义不同;2、模型类型不同;3、存储单元不同;4、是否拥有全局版本号;5、内容完整性不同;6、版本库不同;7、克隆目录速度不同;8、分支不同。php中文网为大家带来了git和svn的相关知识、以及相关文章等内容。

1260

2023.07.06

自建git服务器
自建git服务器

git服务器是目前流行的分布式版本控制系统之一,可以让多人协同开发同一个项目。本专题为大家提供自建git服务器相关的各种文章、以及下载和课程。

3859

2023.07.05

Playwright 测试失败怎么办
Playwright 测试失败怎么办

Playwright测试失败专题汇集超时、定位器匹配、浏览器提前关闭、依赖与插件配置、文件上传、SSL及Docker启动等故障文章,并介绍通过截图、报告和Trace定位错误。

0

2026.10.21

Playwright 页面操作指南
Playwright 页面操作指南

Playwright页面操作专题汇集元素定位、点击与输入、等待响应、多页面切换、Iframe、事件监听及文件处理的已审核文章,便于按操作场景查阅示例与常见问题。

0

2026.10.21

Playwright 入门教程
Playwright 入门教程

Playwright入门专题汇集测试框架安装、VS Code配置、录制脚本、编写首个用例、运行调试及查看报告的已审核文章,帮助初学者搭建端到端测试流程。

0

2026.10.21

OpenJDK JVM参数怎么调优
OpenJDK JVM参数怎么调优

Java应用运行缓慢,如何调整JVM参数?本专题介绍OpenJDK JVM性能调优的基本流程,涵盖性能指标确认、运行数据采集、内存配置和垃圾回收分析,帮助你先定位瓶颈,再通过对照测试验证效果,避免直接套用参数而影响应用稳定性。

0

2026.10.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
vscode手册
vscode手册

共0课时 | 0人学习

Git 教程
Git 教程

共21课时 | 8.1万人学习

Git版本控制工具
Git版本控制工具

共8课时 | 1.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn