metalbear-co/mirrord

GitHub: metalbear-co/mirrord

mirrord 让本地进程(或 AI 编程助手)无需实际部署即可接入 Kubernetes 集群的真实环境变量、网络和流量进行开发调试。

Stars: 5217 | Forks: 204

![mirrord logo](https://static.pigsec.cn/wp-content/uploads/repos/cas/56/565e30ce17b83d6e869348a0cb1a6a3b41ce31d328c589bff0faeede1f021022.svg)
[mirrord 可将您的本地进程运行在实时的 Kubernetes 集群中](https://metalbear.com/mirrord/)。 对于开发者和 AI 编程助手(Claude Code、Cursor、Codex、Copilot、Windsurf)来说,它的工作方式完全相同: 您的代码运行在本地机器上,但 mirrord 会将其流量、文件和环境变量通过集群中的目标 pod 进行路由。 这涵盖了软件开发闭环的两半。在编写代码时读取实时集群上下文(真实的环境变量、真实的服务响应、真实的队列内容),从而使更改基于实际部署的内容。 然后针对这些相同的服务和数据运行代码,以确认其端到端工作正常。 您可以在几秒钟内获得部署的反馈,而无需实际部署,也不会为其他任何人中断集群。 mirrord 以 VS Code 扩展、IntelliJ 插件和 CLI 工具的形式提供。[阅读更多](https://metalbear.com/mirrord/docs/overview/introduction/)。 **采用者**:monday.com、SurveyMonkey、Cadence、CoLab、Daylight Security、Zooplus 以及[其他](./ADOPTERS.md)。 # 目录 - [目录](#contents) - [快速开始](#getting-started) - [VS Code 扩展](#vs-code-extension) - [安装](#installation) - [使用方法](#how-to-use) - [IntelliJ 插件](#intellij-plugin) - [安装](#installation-1) - [使用方法](#how-to-use-1) - [CLI 工具](#cli-tool) - [安装](#installation-2) - [使用方法](#how-to-use-2) - [工作原理](#how-it-works) - [附加功能](#additional-capabilities) - [将 mirrord 与 AI 编程助手结合使用](#using-mirrord-with-ai-coding-agents) - [常见问题](#faq) - [贡献](#contributing) - [帮助与社区](#help-and-community) - [行为准则](#code-of-conduct) - [许可证](#license) ## 快速开始 - [VS Code 扩展](#vs-code-extension) - [IntelliJ 插件](#intellij-plugin) - [CLI 工具](#cli-tool) ## VS Code 扩展 ### 安装 [在此处获取扩展](https://marketplace.visualstudio.com/items?itemName=MetalBear.mirrord)。 ### 使用方法 - 在状态栏上点击“Enable mirrord” - 开始调试您的项目 - 选择要模拟的 pod - 被调试的进程将由 mirrord 接入到所选的 pod 中

demo of mirrord VSCode extension

## IntelliJ 插件 ### 安装 [在此处获取插件](https://plugins.jetbrains.com/plugin/19772-mirrord)。 ### 使用方法 - 在导航工具栏中点击 mirrord 图标 - 开始调试您的项目 - 选择要模拟的 namespace 和 pod - 被调试的进程将由 mirrord 接入到所选的 pod 中

demo of mirrord IntelliJ plugin

## CLI 工具 ### 安装 您可以使用 ``` brew install metalbear-co/mirrord/mirrord ``` 或者 ``` curl -fsSL https://raw.githubusercontent.com/metalbear-co/mirrord/main/scripts/install.sh | bash ``` 或者使用 Nix(非官方,由社区维护): ``` # 使用 nix-env(legacy) nix-env -iA nixpkgs.mirrord # 使用 nix profile(recommended) nix profile install nixpkgs#mirrord ``` 或者在 Windows 上使用 Chocolatey: ``` choco install --pre mirrord ``` ### 使用方法 ``` mirrord exec --target ``` 例如 ``` mirrord exec node app.js --target pod/my-pod ``` ## 工作原理 当您选择要模拟的 pod 时,mirrord 会在与所选 pod 相同的节点上启动一个 pod。 然后,这个新 pod 用于连接您的本地进程和被模拟的 pod:它将来自该 pod 的传入流量镜像到您的进程,将来自您进程的传出流量通过该 pod 进行路由,并对文件读取、文件写入和环境变量执行相同的操作。 [您可以在此处阅读更多相关信息](https://metalbear.com/mirrord/docs/overview/introduction/)。 ### 附加功能 在 mirrord 启动的 pod 内运行的容器需要额外的 [Linux capabilities](https://man7.org/linux/man-pages/man7/capabilities.7.html): - `CAP_NET_ADMIN` 和 `CAP_NET_RAW` - 用于修改路由表 - `CAP_SYS_PTRACE` - 用于读取目标 pod 环境 - `CAP_SYS_ADMIN` - 用于加入目标 pod 网络 namespace 但是,您可以在[配置](https://metalbear.com/mirrord/docs/reference/configuration/)中禁用这些权限的任何子集。 这可能会限制 mirrord 的功能,甚至使其在某些设置中无法使用。 ``` MIRRORD_AGENT_DISABLED_CAPABILITIES=CAP_NET_RAW,CAP_SYS_PTRACE mirrord exec node app.js --target pod/my-pod ```

How It Works

## 将 mirrord 与 AI 编程助手结合使用 mirrord 为 Claude Code、Cursor、Codex CLI、Gemini CLI 及其他 AI 编程助手提供了一流的支持,使它们能够在不部署的情况下,针对真实的集群服务运行并验证生成的代码。 有关设置指南和现成的工作流 skills,请参阅 [metalbear-co/skills](https://github.com/metalbear-co/skills) 或 [mirrord for AI Agents](https://metalbear.com/mirrord/ai) 页面。 ## 常见问题 [我们的常见问题解答可在此处找到](https://metalbear.com/mirrord/docs/faq/general/)。 如果您有未在此处列出的问题,欢迎在我们的 [讨论区](https://github.com/metalbear-co/mirrord/discussions)提问 或在 [Slack](https://metalbear.com/slack) 上提问。 ## 行为准则 我们非常重视我们的社区,并致力于为每个人提供一个安全、热情的环境。 请花几分钟时间阅读我们的[行为准则](./CODE_OF_CONDUCT.md)。 ## 许可证 [MIT](./LICENSE)
标签:IDE插件, 可视化界面, 子域名突变, 开发辅助工具, 文档结构分析, 网络流量代理, 调试, 通知系统