mcpField
G
GuestKit

GuestKit

本地服务
github.com云与基础设施91 周前更新

关于 GuestKit

GuestKit 是面向迁移团队和运维人员的离线 VM 磁盘保障工具包。它评估启动就绪度、生成可审阅的修复与迁移计划,并可为支持的磁盘格式和目标签发带签名的切换记录。

主要功能

  1. 01评估首次启动就绪度并说明阻碍
  2. 02生成特定目标的迁移计划
  3. 03通过备份和回滚应用可审阅的修复
  4. 04签发带签名的 Cutover Passport
  5. 05在 CI 中按就绪度评分设门槛
  6. 06离线检查磁盘映像

适用场景

  1. 01迁移前评估 VM 磁盘
  2. 02为选定的虚拟化目标准备磁盘
  3. 03首次启动前审阅并应用修复
  4. 04在 CI 中设定启动就绪度门槛

MCP 相关

`guestkit mcp-serve` 可通过 stdio 运行 MCP 服务,为单个磁盘映像提供六种只读证据工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"zyvorai-guestkit": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/zyvorai/guestkit-mcp:1.2.9"
]
}
}
}
启动命令docker run -i --rm ghcr.io/zyvorai/guestkit-mcp:1.2.9

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocighcr.io/zyvorai/guestkit-mcp:1.2.9

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

GuestKit

CI crates.io PyPI License: Apache 2.0 Rust GHCR Docs

预约演示 30 天 PoC 60 秒快速入门

GuestKit - 启动前,先确认它能启动。
启动前,先确认它能启动。

离线 VM 智能分析与迁移保障。 GuestKit 会在虚拟机关闭时读取其磁盘,为首次启动就绪度打分(0–100),按可读的计划修复,并通过签名 Passport 认证切换。

6 种磁盘格式 · 0–100 启动评分 · 0 个设备守护进程 · 8 个迁移目标 · Apache-2.0

图库 · 文档 · 产品 · Wiki · 30 天企业试用


更新内容

版本更新内容
Agent (1.2.6)在访客 Agent 中提供按容器配置的 eBPF 网络策略和 BPF-LSM 控制(guestkit.netpolicy / guestkit.lsm),默认关闭,先审计,仅在限时租约期间强制执行
1.2.5run_migrate_repair 支持离线注入:主机名、网络、用户、服务、首次启动脚本、cloud-init、重新加入 AD、Windows KMS 和 RDP,并将其追加到修复计划中
1.2.5在线快照通过特权辅助程序冻结文件系统,因此由 PVC 支持的 VM 可在使用非特权 Agent 时正常创建 KubeVirt 快照
1.2.5Linux Agent 可在标准发行版上连接 virtio 通道(udev 规则已包含在 DEB、RPM 和 tarball 中);并发 NBD 挂载不再发生竞争
1.2.2Web Image Vault 功能达到 TUI 水平:包含清单标签页、Assurance(计划、passport、修复预览和受控应用)、Profiles 和 Files
1.2.0推出 guestkit-qemu 保障型 QEMU/VirtIO 运行时、guestkit vm、virtctl-guestkit guestfs、切换套件,以及用于处理超大磁盘的 guestkit shrink

完整历史记录:CHANGELOG.md。

为什么选择 GuestKit

每次虚拟机监控程序退出时,问题都一样:你会在凌晨 2 点、切换窗口期间、开机之后,才发现磁盘已损坏。GuestKit 可在来宾关机时读取磁盘——qcow2、VMDK、VHDX、VHD、VDI 或 raw——通过自有的纯 Rust 引擎(NBD 或 loop mount)进行读取。无需设备守护进程,也不用“开机看看”。

当遇到这种情况时……GuestKit 为你提供……
“能启动吗?”要等到开机时才能知道离线 doctor 评分(0–100),并为每个阻断问题提供根因链
每次迁移都依赖脚本和口口相传的经验JSON/YAML 格式的结构化计划,并基于相同评分设置 CI 门禁
切换周末状况百出感知虚拟机监控程序的 migrate-plan 和 day-0 包,支持 8 个目标平台
没有经过检查的审计记录为每块磁盘提供一份签名的 Cutover Passport
通过挂载镜像后手动编辑来修复可供查看的修复计划,应用时会创建备份并支持回滚
靠人工猜测迁移顺序fleet wave-plan:感知依赖关系的分波计划

修复绝不会隐式进行。所有修复都通过可供查看的计划执行,并会创建备份且支持回滚;相同的评分还用于 CI 门禁、签名的 Cutover Passport 和可信的 QEMU 启动。

启动就绪度评分
首次启动概率评分为 0–100,说明阻断问题,并提供可供审查的修复计划。
切换问题
离线修复
所有修复都通过可供查看的计划执行,并会创建备份且支持回滚。
你可以做什么
迁移保障
相同的评分用于 CI 门禁、签名的 Cutover Passport 和可信的 QEMU 启动。
快速入门
引擎和格式
通过 NBD 或 loop mount,使用纯 Rust 引擎处理 qcow2、VMDK、VHDX、VHD、VDI 和 raw。
平台布局
套件间交接
使用 Transiva 导出,使用 h2kvm 转换和部署,使用 GuestKit 验证保障,并在 Zorvia 或 Zeus OS 上运行。
各工具的职责
CLI、TUI、Web、CI
CLI、TUI、QEMU、Python、Web 控制台、来宾内 Agent 和 GitHub Action。
运行 Web 技术栈

70+ 个命令 · 6 种磁盘格式 · 0 个设备守护进程 · 8 个迁移目标平台 · Apache-2.0

功能一览:Assure、Repair、Certify、Surfaces

完整对比包含更多对比项,包括集群漂移、带来宾内 Agent 的 Carbon TUI,以及可直接替代 virsh qemu-agent-command 的 guestkit qga。


GuestKit 与 libguestfs + virt-v2v 对比

GuestKit 与 libguestfs + virt-v2v 对比:不只是转换,还要证明它能够启动

GuestKitlibguestfs + virt-v2v
磁盘访问Rust 引擎;通过主机上的 qemu-nbd 或 loop 挂载访问客户机文件启动一个小型设备虚拟机来读取和编辑磁盘
启动就绪情况doctor:针对每个目标给出 0–100 的首次启动评分,并说明阻碍项检查和转换;不提供就绪评分
迁移计划针对每个目标(kvm、proxmox、qemu、kubevirt、aws、azure、gcp、hyperv)生成 migrate-planvirt-v2v 将客户机转换为可在 KVM 上运行的虚拟机
修复修复计划包含备份和回滚;rescue 可用于 SSH、GRUB 和密码使用 virt-customize、virt-rescue 和 guestfish 执行脚本化编辑
切换凭证签名的 Cutover Passport,以及评分低于阈值时会失败的 GitHub Action工具包不包含此功能
接口CLI、TUI、Python、Web 控制台、客户机内 Agent、GitHub ActionCLI 工具和语言绑定
适合选择 libguestfs 的情况你需要它广泛支持的文件系统和操作系统,或需要 virt-v2v 的端到端转换,且不需要评分或切换记录

GuestKit 与转换工具配合使用,而不是取代所有转换工具:h2kvm 负责转换和部署,并调用 GuestKit 执行离线修复。


在线预览

GuestKit Web 控制台 — Assurance 面板显示启动评分为 78,并列出按优先级排序的发现项

Assurance:doctor 评分为 78,判定结果为 REVIEW,并列出按优先级排序的发现项,每项都附有修复命令。

GuestKit Web 控制台 — 摘要中包含操作系统身份信息和清单计数

摘要:inspect 提供的操作系统身份信息和清单计数。

GuestKit Web 控制台 — Image Vault 首页

Image Vault:导入磁盘,或试用离线演示。

此 OSS Web 控制台展示的是内置离线演示数据,并非实时部署。演示视频请参阅图库。


各组件如何协同工作

离线读取磁盘;开机前做出判断

  disk.qcow2 / .vmdk / .vhdx / .vhd / .vdi / .raw
                    │
                    ▼
         ┌──────────────────────┐
         │  Pure-Rust engine    │──►  doctor 0–100 + blockers
         │  NBD / loop mount    │──►  migrate-plan YAML
         └──────────────────────┘──►  Passport · repair · CI gate
                    │                 guestkit-qemu (assured launch)
      CLI · TUI · QEMU · Python · Web · Agent · GitHub Action
从 VMware 迁移到 KubeVirt,四种工具,一条路径:Transiva 导出,h2kvm 转换并部署,GuestKit 提供保障,Zorvia 负责运行,每种工具均提供 Community 和 Enterprise 版本。

使用 Transiva(Apache-2.0)导出 → 使用 h2kvm(Zyvor Production License)转换并部署 → 使用 GuestKit(Apache-2.0)提供保障 → 在 Zorvia 或 Zeus OS 上运行。 使用 FluxVM 运行和管理虚拟机。各组件的职责 · h2kvm 集成概览

深入了解架构:docs/architecture/overview.md。


快速入门

# v1.2.6 GitHub Release — crates.io `guestkit` is still 0.3.2
curl -fsSL -O https://github.com/zyvorai/zyvor-guestkit/releases/download/v1.2.6/guestkit-1.2.6-linux-amd64.tar.gz

guestkit doctor vm.qcow2 --target proxmox --explain
guestkit migrate-plan vm.vmdk --target kvm --export plan.yaml
guestkit passport emit vm.qcow2 --target kvm -o passport.json
guestctl tui vm.qcow2           # Assurance · preview · export
guestkit-qemu plan vm.qcow2 --json   # assurance → QEMU definition

CI 门禁 — 得分相同,无需安装 CLI:

- uses: zyvorai/guestkit@v1
  with:
    disk: vm.qcow2
    target: kvm
    fail-below: '80'

目标平台:kvm · proxmox · qemu · kubevirt · aws · azure · gcp · hyperv。主机要求:Linux,且需安装 qemu-img、losetup 和 qemu-nbd(挂载/修复可能需要 root 权限)。

Python(v1.1.0+),可在 PyPI 获取:运行 pip install zyvor-guestkit,然后调用 guestkit.run_doctor("vm.qcow2", target="kvm", explain=True)。完整的快速入门、缩小镜像和 Python 示例请见:docs/quick-start.md。

MCP 服务 — guestkit mcp-serve <image> [--target kvm] 是一个 stdio MCP 服务,针对单个磁盘映像提供六个只读证据工具。使用 cargo build --release --features mcp 构建。注册表名称为 io.github.zyvorai/guestkit;OCI 镜像为 ghcr.io/zyvorai/guestkit-mcp。打开磁盘需要 loop/NBD,因此容器必须以 root 身份并使用 --privileged 运行(或使用 SYS_ADMIN 和相应设备),尽管其默认用户为 nonroot。请参阅 docs/guides/MCP.md 和 DOCKER.md。


文档

目标文档
文档站点zyvorai.github.io/zyvor-guestkit
文档主页docs/README.md · INDEX
DevOps 运行手册docs/devops
功能指南guestkit-user-feature-guide.md
h2kvm 集成h2kvm 集成
QEMU / VirtIO 运行时qemu-runtime.md
导出 virsh → GuestKitvirsh-to-guestkit.md
架构概览

完整索引以及更新日志和路线图请见 docs/documentation-map.md。

深入了解

开源版与企业版

开源版 — 基于 Apache-2.0 协议免费使用。 本仓库适用于个人、实验室和商业生产环境。提供完整的离线 doctor、迁移计划、修复、集群、策略 · CLI · TUI · Python · 可自托管的 Web 界面/工作进程。

企业版 — 面向项目付费。 使用相同的引擎 — 不是锁定版 doctor。Command Center · Portfolio · Assurance · Migration Factory · Passport Authority · OIDC / RBAC / 审计 · SLA · 空气隔离 · 虚拟机监控程序迁出研讨会。

开源版与企业版对比 · 完整功能矩阵 · 30 天企业版试用 · 定价

试用已过期或想要有人指导评估? 预约演示 或 开始 30 天 PoC — 无需提供电子邮件。[email protected] 仍可作为备用联系方式。


成熟度

GuestKit 当前为 v1.2.6(GitHub Release;PyPI zyvor-guestkit;crates.io 上的 guestkit 仍为 0.3.2)。架构概述明确说明了引擎的适用范围:

领域状态
纯 Rust 解析:分区表、文件系统签名、证据架构、启动引擎、保证 API已发布
Web UI(deploy/ui:清单、Assurance、Profiles、Files)、GHCR zyvor-ui已发布
进程内读取 QCOW2部分支持:格式检测和选择性读取;完整集群遍历交由 qemu-nbd 完成
访问来宾系统中的文件通过 loop 设备 / qemu-nbd 和主机挂载实现,而非使用进程内 ext4/NTFS 解析器
guestkit shrink有意限制适用范围:仅支持单个/最后一个 ext2/3/4 分区、MBR 或 GPT,不支持 LVM/LUKS;其他布局会报告但不会修改
GHCR Web 技术栈(deploy/docker-compose.ghcr.yml)仅用于评估:未启用身份验证,请勿暴露到 localhost 之外
来宾 Agent 的 eBPF 策略和 LSM选择启用:受 capabilities.ebpf 控制,默认关闭

Zyvor 技术栈的一部分

产品在 GuestKit 周边扮演的角色
GuestKit离线 VM 保证:启动评分、修复、Cutover Passport
Transiva将 VM 从源虚拟机监控程序导出,位于 GuestKit 上游
h2kvm转换并部署到 KVM;使用 GuestKit Python 包进行离线修复
Zorvia用于运行迁移后 VM 的 KubeVirt VM 平台
FluxVM运行和管理 VM;生产运行、网络和 TTL 在该平台中管理,而非在 guestkit vm 中

→ zyvor.dev


支持

基于 Apache-2.0 协议免费使用。如果它对你有帮助,你可以捐赠任意金额:https://rzp.io/rzp/utwdYh3。捐赠完全自愿,用于支持开发和维护。捐赠不是购买:不包含任何支持服务、SLA、功能、优先权或许可证,也不可抵税(Zyvor AI Labs Private Limited 是一家企业,而非慈善机构)。Zyvor 企业版(受支持的版本、SLA、专属联系人和企业功能)另行提供:[email protected]。

许可证

GuestKit 基于 Apache License, Version 2.0,免费且开源。您可以免费将其用于个人、实验室和商业生产环境,也可以修改和运行,但须遵守 Apache-2.0 条款(在要求的情况下保留声明和 NOTICE)。如适用,请参阅 NOTICE 和 docs/legal/。这一点不会改变。

Zyvor Enterprise 提供生产团队所需的服务:受支持的版本、部署和升级指导、优先事件分类处理、专属技术联系人,以及全天候的严重问题受理。生产支持、SLA 和 Zyvor Enterprise 产品需单独授权。方案和条款:docs/SUBSCRIPTION-MODEL.md · 定价 · [email protected]。

请按照 SECURITY.md 的说明私下报告漏洞。更多信息:zyvor.dev/guestkit · 文档 · 博客。


确保每个磁盘都能启动,再迎接切换周末

预约演示 30 天 PoC 定价 联系销售 在 GitHub 上点星

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。