mcpField
U
update-aegis

update-aegis

github.com/ganyuanranAgent 工作流1.4k49 次安装3 天前更新
代码仓库

关于 update-aegis

用于更新当前 AI 编码宿主中已安装的 Aegis Method Pack 的维护技能。它先检查宿主注册与安装状态,再按对应宿主的更新方式执行并验证。

主要功能

  1. 01检查宿主注册和安装状态
  2. 02注册当前宿主
  3. 03按需更新指定宿主
  4. 04支持更新预览
  5. 05更新后运行 doctor 验证

适用场景

  1. 01更新当前宿主的 Aegis 安装
  2. 02预览更新而不修改文件
  3. 03验证更新后的宿主安装

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/ganyuanran/aegis --skill update-aegis

安装后在 Claude Code 中输入/update-aegis确认已加载。

详细介绍

更新 Aegis

为当前 AI 编码宿主更新已安装的 Aegis 方法包。

此技能用于维护宿主。不要仅因为用户要求更新 Aegis 就编辑目标项目。

默认语义

  • aegis:update 更新当前宿主注册的 Aegis 安装。
  • 只有在用户明确请求使用 --all 时,才更新所有已注册的宿主。
  • 如果注册了多个宿主,且无法识别当前宿主,请先提出一个具体问题,再进行更新。
  • 如果已安装的方法包根目录是单独的路径,请勿更新开发检出。
  • 不要在后台自动更新。本地注册表可以记录 updateMode,但此技能只执行由用户明确触发的更新。

先检查证据

从已安装的方法包根目录检查宿主范围内的注册表:

python scripts/aegis-update.py status --json

如果注册表缺失,请在更新前注册当前宿主。使用宿主的安装指南和实际发现路径,不要凭空猜测。

如果 ~/.config/aegis/config.toml 已声明 method_pack_root,注册其他宿主时优先使用该规范根目录。特定于宿主的发现路径、复制的技能目录、插件缓存或适配器载荷,应视为同一 Aegis 主体的生成视图/宿主管理视图,而不是单独的可编辑检出。

Codex 示例:

python scripts/aegis-update.py register \
  --host codex \
  --sync-mode junction \
  --discovery-root ~/.agents/skills/aegis \
  --reload-hint "restart Codex"

基于复制的宿主示例:

python scripts/aegis-update.py register \
  --host codebuddy \
  --sync-mode copy-skills \
  --discovery-root ~/.codebuddy/skills \
  --reload-hint "restart CodeBuddy"

复制同步使用安装注册表中限定范围的文件清单。它会保留无关文件和本地编辑,并在更改视图前因冲突写入而停止。内容相同的旧版副本可以接管;有差异的副本则需要协调,或使用单独的发现根目录。未知的过时副本会保留。名称和前缀本身不能证明所有权;请勿为了通过验证而删除它们。 在 Unicode 规范化/大小写折叠后发生冲突的源名称会因可移植性原因被拒绝。仅大小写不同且内容已更改的重命名,可能需要将冲突文件移至发现根目录之外的备份位置,或选择单独的根目录。协调时请保留现有文件。

带前缀的直接子级宿主示例:

python scripts/aegis-update.py register \
  --host copilot \
  --sync-mode junction \
  --discovery-shape direct-child \
  --discovery-root <target-repo>/.github/skills \
  --discovery-name-prefix aegis- \
  --reload-hint "restart Copilot session or reopen the repository"

Kimi Code CLI 自动安装由插件管理。不要对 Kimi 管理的插件副本使用 Aegis 更新器。在 Kimi 中,运行原生更新或重新安装流程,验证所选的受管插件,然后重新加载:

/plugins install https://github.com/GanyuanRan/Aegis
/plugins info aegis
/reload

如果 Kimi 要求在替换受管副本前进行确认或移除,请按照其插件管理器中的确切提示操作。然后通过 /plugins info aegis 找到受管根目录,并运行:

cd <aegis-method-pack-root>
python scripts/aegis-doctor.py --json --host-profile kimi-code-auto

Kimi Code CLI 显式兼容性安装示例:

python scripts/aegis-update.py register \
  --host kimi-code \
  --sync-mode junction \
  --reload-hint "restart Kimi Code CLI"

如果对 kimi、kimi-code 或 kimi-code-cli 省略 --discovery-root,更新器会使用 $KIMI_CODE_HOME/skills;如果未设置 KIMI_CODE_HOME,则使用 ~/.kimi-code/skills。只有在 Aegis Kimi 插件已禁用或卸载,且用户选择了显式兼容模式时,才使用此更新器路径。

可以注册由插件管理的宿主,但更新器会报告更新路径由宿主的插件管理器负责:

python scripts/aegis-update.py register \
  --host opencode \
  --sync-mode plugin-managed \
  --reload-hint "restart OpenCode"

更新命令

当前宿主或明确选定的宿主:

python scripts/aegis-update.py update --host <host> --json

仅当用户明确要求更新所有宿主时,才更新所有已注册的宿主:

python scripts/aegis-update.py update --all --json

预览但不触碰文件:

python scripts/aegis-update.py update --host <host> --dry-run --json

如果已安装的检出有本地更改,请勿覆盖。可以询问用户如何处理,或者在获得明确许可后,使用以下命令保留这些更改:

python scripts/aegis-update.py update --host <host> --stash --json

完成凭据

只有在更新器报告所选主机且更新后的 doctor 验证成功后,才可将更新视为完成。对于基于链接的发现根目录(junction、symlink 或 repo-only),更新器会将 discoveryRoot 传递给 aegis-doctor.py --discovery-root;当已注册的直接子级视图声明了 discoveryNamePrefix 时,更新器还会传递 --discovery-name-prefix。对于基于复制的主机,更新器会在复制步骤后验证复制的 Aegis 技能目录是否存在,然后针对方法包根目录运行 doctor。

当多个已注册主机共享同一个 methodPackRoot 时,更新器现在会复用一次方法包检出更新,然后分别刷新各主机的暴露或验证路径。

报告:

  • 所选主机 / 安装 ID
  • 可用时提供之前和最终的提交
  • 安装是已更新还是已是最新
  • 使用的同步模式
  • doctor 验证结果
  • 重启或重新加载提示

如果更新器跳过了 plugin-managed 主机,请说明更新路径由主机的插件管理器负责,并提供重新加载或重新安装提示。

对于 Kimi 自动安装,完成更新还要求执行 /plugins info aegis、/reload 或 /new,使用 kimi-code-auto doctor 配置,并通过 docs/README.kimi-code.md 中的主机原生自动入口检查。仅有文件发现结果或通用 doctor 结果并不足够。

评论

支持 Markdown