KoPylot:你的人工智能驱动的Kubernetes助手 🤖
KoPylot是一个开源的人工智能驱动的Kubernetes助手。它的目标是帮助开发人员和DevOps工程师轻松管理和监控他们的Kubernetes集群。
你可以在博客文章中阅读更多关于该项目的信息。
💫 特性:
-
🔍 审计:使用LLM模型审计资源,如Pod、Deployment或Service。
-
🩺 诊断:使用LLM模型诊断资源,如Pod、Deployment或Service。
-
💬 聊天:与KoPylot开始聊天,根据你的提示生成kubectl命令。
-
☸️ Ctl:kubectl的封装。传递给
ctl
子命令的参数由kubectl解释。
🚀 快速开始:
- 从OpenAI请求API密钥。
- 使用以下命令导出密钥:
export KOPYLOT_AUTH_TOKEN=your_api_key
注意:如果你想避免将密钥放在.bashrc、.oh-my-zsh/custom目录或.bash_history或.zsh_history中,一个可能的技巧是这样做:
export KOPYLOT_AUTH_TOKEN=$(cat ../../../keys/openai)
- 使用pip安装KoPylot:
pip install kopylot
- 运行KoPylot:
kopylot --help
📖 使用方法:
使用方法: kopylot [选项] 命令 [参数]...
╭─ 选项 ──────────────────────────────────────────────────────────────────────────╮
│ --version │
│ --install-completion [bash|zsh|fish|powershell 为指定的shell安装补全。 │
│ |pwsh] [默认: None] │
│ --show-completion [bash|zsh|fish|powershell 显示指定shell的补全,以复制 │
│ |pwsh] 或自定义安装。 │
│ [默认: None] │
│ --help 显示此消息并退出。 │
╰────────────────────────────────────────────────────────────────────────────────────╯
╭─ 命令 ─────────────────────────────────────────────────────────────────────────╮
│ audit 使用LLM模型审计Pod、Deployment或Service。 │
│ chat 与kopylot开始聊天,根据你的输入生成kubectl命令。 │
│ ctl kubectl的封装。传递给ctl子命令的参数由kubectl解释。 │
│ diagnose 使用LLM模型诊断资源,如Pod、Deployment或Service。 │
╰────────────────────────────────────────────────────────────────────────────────────╯
🤝 贡献:
KoPylot是一个开源项目,我们欢迎社区的贡献。有几种方法可以设置你的开发环境并开始为项目做贡献。
🐳 使用开发容器
KoPylot支持使用开发容器进行开发,这有助于你为开发设置一个一致和隔离的环境。这使得开始变得容易,而不必担心本地机器上的冲突依赖或配置。
使用开发容器开始:
- 安装Docker和Visual Studio Code。
- 在Visual Studio Code中安装Remote - Containers扩展。
- 克隆KoPylot仓库并在Visual Studio Code中打开项目文件夹。
- 按
F1
,输入Remote-Containers: Reopen in Container
,然后按Enter
。Visual Studio Code将构建开发容器并在其中重新打开项目。
现在你可以开始使用开发容器为KoPylot做贡献了!
🛠️ 本地设置
如果你更喜欢在本地设置开发环境,请确保你的系统上安装了Poetry。然后,按照以下步骤操作:
-
克隆KoPylot仓库:
git clone https://github.com/avsthiago/kopylot
-
导航到项目文件夹:
cd kopylot
-
使用Poetry安装项目依赖:
make install
现在你可以使用本地设置开始为KoPylot做贡献了!😄
在提交拉取请求之前,请确保测试你的更改并遵循项目的编码指南。我们感谢你的贡献,期待与你合作!🎉
📄 许可证:
KoPylot根据MIT许可证授权。有关更多信息,请参阅LICENSE。
☎️ 联系:
如果你有任何问题或建议,请随时在https://thiagoalves.ai上联系我。
感谢使用KoPylot!🙌
🗺️ 路线图:
- 使用
ctl
子命令封装kubectl命令。 - 创建
audit
子命令以审计kubernetes资源。 - 创建
diagnose
子命令以诊断kubernetes资源。 - 创建
chat
子命令,根据用户提示生成kubectl命令。 - 使其可以使用其他LLM模型,而不仅仅是OpenAI的模型。
- 将LangChain集成到KoPylot中,使其尽可能自主。
~ 类似项目:
我发现的一个类似项目是knight42的Kopilot。它也是一个使用LLM的Kubernetes助手。与KoPylot的主要区别是它是用Go语言编写的。目前,它还没有实现Chat命令,但它可以用不同的语言响应。