技能
实用工具 官方

更新 NanoClaw

将上游更改拉取到自定义安装中,支持预览、选择性挑拣和安全回滚。

功能特性

  • 在应用任何更改之前预览上游变更
  • 可选择完整合并、选择性挑拣或变基
  • 每次更新前自动创建备份分支和标签
  • 预演冲突检测,让你提前了解可能出现的问题
  • 解决合并冲突的同时保留你的自定义修改
  • 检查破坏性变更,必要时自动运行迁移技能

前置条件

  • 已安装并运行 NanoClaw
  • Git 仓库(通过克隆获取,而非下载 zip 压缩包)
  • 干净的工作目录(无未提交的更改)

安装

/update-nanoclaw

工作原理

/update-nanoclaw 技能将上游改进引入你的安装,同时不丢失你的自定义修改。它针对最常见的场景设计:你克隆了 NanoClaw,添加了频道、调整了行为,而上游仓库有了你想要的新功能或修复。

该技能分阶段运行,你可以随时中止。

预检。 技能会检查你的工作目录是否干净——没有未提交的更改。如果尚未配置 upstream 远程仓库,它会询问 URL 并添加。然后获取最新的上游提交。

预览。 在修改任何文件之前,技能会展示自上次同步以来上游发生了哪些变更。它将变更分为几个类别——技能、源代码、构建/配置和其他——让你了解哪些区域受到影响。同时还会显示你的本地提交,以便标出可能产生冲突的位置。

选择更新方式。 你可以选择如何应用更新:

  • 完整合并(默认)——一次性合并所有上游变更。冲突只需解决一次。
  • 选择性挑拣——你可以选取特定的上游提交来应用。当你只需要某些修复时非常有用。
  • 变基——将你的本地提交重放到上游之上。可获得线性历史,但需要逐个提交解决冲突。
  • 中止——仅查看变更日志,不做任何修改。

冲突预览。 在确认合并之前,技能会进行预演,准确显示哪些文件会产生冲突。此时你仍然可以中止。

冲突解决。 对于任何冲突,技能只会打开存在冲突的文件,解决冲突标记,并保留你有意做出的本地更改。它不会触及无关的代码。

验证。 合并完成后,技能会运行 npm run buildnpm test 来确认一切编译通过且测试正常。

破坏性变更。 如果更新包含变更日志中标记为 [BREAKING] 的条目,技能会逐一展示,并提供自动运行推荐迁移技能的选项。

回滚

每次更新都会在做出更改前创建一个带时间戳的备份分支和标签。如果出现问题——无论是在更新过程中还是几天之后——你只需一条命令即可回滚:

git reset --hard pre-update-<hash>-<timestamp>

每次更新运行结束时都会打印出确切的回滚命令。

使用建议

  • 你可以运行该技能仅用于预览变更而不实际应用。在选择步骤中选择”中止”即可。
  • 如果你没有对 NanoClaw 做大量自定义,完整合并几乎总是无冲突的。挑拣和变基适合深度自定义的安装。
  • 更新成功后,请重启服务以使更改生效。
  • 该技能通过依赖 git 命令进行差异比较,仅打开实际存在冲突的文件,从而保持较低的 token 消耗。