用途:这是 nanobot 升级技能(update)的一次性配置向导,运行后在 agent 工作区生成个性化的升级技能文件,之后即可用“升级 nanobot”等指令触发更新。
主要能力与流程:
- 检查 <agent-workspace>/skills/update/SKILL.md 是否已存在,若存在则询问是否重新配置。
- 运行 nanobot --version 告知当前版本,并用 command -v nanobot、python -m pip show nanobot-ai、pipx list、uv tool list 等命令尽力收集安装线索,仅用于推测安装方式,不作为确认依据。
- 逐个向用户确认:安装方式(uv、pipx、pip、source (git clone)、not sure)、可选依赖(api、azure、bedrock、langfuse、olostep,或 none)、是否需要 HTTP 代理及代理 URL。若用户选 not sure,则解释差异并停止,不生成技能。
- 根据安装方式确定升级命令与预检命令,例如 uv 用 uv tool install "nanobot-ai[EXTRAS]" --force,pipx 用 pipx install --force "nanobot-ai[EXTRAS]",pip 用 python -m pip install --upgrade "nanobot-ai[EXTRAS]",source 用 cd <SOURCE_CHECKOUT> && git pull && python -m pip install -e ".[EXTRAS]";预检分别为 command -v uv、command -v pipx、python -m pip --version、以及检查源码目录与 pyproject.toml。若配置了代理,会在升级命令前加入 export http_proxy=URL 与 export https_proxy=URL。
- 用 write_file 写入 SKILL.md,成功后提示“Upgrade skill created. Say 'upgrade nanobot' when you want to update.”
限制:必须使用绝对路径 <agent-workspace>/skills/update/SKILL.md,不可用项目相对路径;写入被拒时需让用户选择 agent 工作区或开启 Full Access 后重跑。安装方式必须由用户明确确认,不能仅凭推断;无法获得明确答复时应停止且不写入技能。生成技能后需运行 /restart 或手动重启 nanobot 进程以应用更新。其他细节暂未提供。