laohan-gengxin · git:20260522.5ef7159 · 2026-05-22 · sha256 b736c741b68d3dd6

laohan-gengxin git:20260522.5ef7159A

Immutable. This exact content is served forever at /api/v1/blob/b736c741b68d3dd6.

---
name: laohan-gengxin
description: 工具版本检查与更新,扫描 npm/brew/pip/uv/GitHub/plugins/skills 逐项对比已装和最新版本,生成带编号报告,确认后才执行更新。Use when 用户说"检查更新""工具版本""看看哪些该更新了""brew有没有过期的""opencli是不是该更新了"或提到工具版本/环境更新。
---

# 工具版本检查与更新

扫描所有常用工具的版本状态,生成编号报告,等待选择后逐项更新。

## 工作流程

### 第0步:发现遗漏

跑 `scripts/discover.sh`,全量扫描系统(npm/brew/pip/uv/conda/local-bin),过滤依赖库后与 tools.json 做差集。如果有新发现的工具,报告给用户确认是否加入。

发现方法论的完整说明见 `references/scan-methodology.md`。

### 第1步:读取工具清单

读取 `references/tools.json`,获取所有工具的检查方式和更新命令。

### 第2步:逐项检查版本

按分类并行执行检查命令,对比已装版本和最新版本。检查逻辑:

| 检查源 | 命令 | 说明 |
|--------|------|------|
| npm | `npm view <pkg> version` | npm registry 最新版 |
| brew | `brew outdated --json=v2` | Homebrew 过期检查 |
| pip | `pip3 index versions <pkg>` | PyPI 最新版 |
| uv | `pip3 index versions <pkg>` | PyPI(uv tool 安装的也能查) |
| gh release | `gh api repos/<owner>/<repo>/releases/latest --jq .tag_name` | GitHub release |
| claude plugins | `claude plugins list --json` | 插件市场版本 |

### 第3步:生成编号报告

**固定格式,每条一行**:

```
[编号] [分类] [状态标记] [名字]
  已装: x.x.x → 最新: y.y.y
  作用: 中文说明
  频繁度: 高/中/低 | 推荐更新: 是/否 | 推荐卸载: 是/否
  更新方式: 具体命令
  重大变化: (如果有)
```

**状态标记**:
- ✅ 最新
- ⬆️ 落后(推荐更新)
- ⚠️ 落后很多(跨大版本)
- ❓ 未知(检查失败)

**分类**:核心平台 | npm包 | Homebrew | Python | uv工具 | 插件 | Skills | 运行时

### 第4步:等待用户选择

报告末尾提示:
```
输入要更新的编号(用逗号或空格分隔),或输入 "all" 全部更新,"q" 退出:
```

### 第5步:执行更新

用户给出编号后,按编号顺序逐项执行对应的更新命令。每项更新完成后报告结果(成功/失败)。

**注意事项**:
- openclaw 更新后需跑维护清单(见下方)
- brew 用 `brew reinstall` 不用 `brew upgrade`(国内镜像缓存同步延迟)
- npm 更新后不用 `--force`
- pip 用 `pip3 install --upgrade` 或 `uv pip install --upgrade`
- 插件更新后需重启 Claude Code session
- skills 用 `npx skills update -g -y` 全量更新(不支持单个更新)

### openclaw 更新后维护清单

如果用户更新了 openclaw,提醒执行:
```bash
# 1. 健康检查超时补丁
~/.openclaw/scripts/patch-health-timeout.sh

# 2. 补装 memory 依赖
DEPS_DIR=$(ls -td ~/.openclaw/plugin-runtime-deps/openclaw-*/ | head -1)
cd "$DEPS_DIR" && npm install node-llama-cpp@3.18.1 sqlite-vec

# 3. 重启 gateway
launchctl kickstart -k gui/$(id -u)/ai.openclaw.gateway

# 4. 等60秒冷启动后验证
sleep 60 && openclaw status
```

## 工具清单维护

`references/tools.json` 记录所有工具的元数据。新增工具时往 JSON 里加一条即可。

## 脚本

`scripts/check.sh` — 自动化版本检查脚本,输出 JSON 格式结果供 skill 解析生成报告。