[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-sozercan--kubectl-ai":3,"tool-sozercan--kubectl-ai":62},[4,18,26,36,46,54],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",158594,2,"2026-04-16T23:34:05",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":42,"last_commit_at":43,"category_tags":44,"status":17},8272,"opencode","anomalyco\u002Fopencode","OpenCode 是一款开源的 AI 编程助手（Coding Agent），旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件，而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码，还是排查难以定位的 Bug，OpenCode 都能通过自然语言交互高效完成，显著减少开发者在重复性劳动和上下文切换上的时间消耗。\n\n这款工具专为软件开发者、工程师及技术研究人员设计，特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构，这意味着用户可以审查代码逻辑、自定义行为策略，甚至私有化部署以保障数据安全，彻底打破了传统闭源 AI 助手的“黑盒”限制。\n\n在技术体验上，OpenCode 提供了灵活的终端界面（Terminal UI）和正在测试中的桌面应用程序，支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具，安装便捷，并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客，还是渴望提升产出的独立开发者，OpenCode 都提供了一个透明、可信",144296,1,"2026-04-16T14:50:03",[13,45],"插件",{"id":47,"name":48,"github_repo":49,"description_zh":50,"stars":51,"difficulty_score":32,"last_commit_at":52,"category_tags":53,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[14,15,13],{"id":55,"name":56,"github_repo":57,"description_zh":58,"stars":59,"difficulty_score":32,"last_commit_at":60,"category_tags":61,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[45,13,15,14],{"id":63,"github_repo":64,"name":65,"description_en":66,"description_zh":67,"ai_summary_zh":67,"readme_en":68,"readme_zh":69,"quickstart_zh":70,"use_case_zh":71,"hero_image_url":72,"owner_login":73,"owner_name":74,"owner_avatar_url":75,"owner_bio":76,"owner_company":77,"owner_location":78,"owner_email":79,"owner_twitter":73,"owner_website":79,"owner_url":80,"languages":81,"stars":94,"forks":95,"last_commit_at":96,"license":97,"difficulty_score":32,"env_os":98,"env_gpu":99,"env_ram":100,"env_deps":101,"category_tags":106,"github_topics":107,"view_count":32,"oss_zip_url":79,"oss_zip_packed_at":79,"status":17,"created_at":121,"updated_at":122,"faqs":123,"releases":159},8199,"sozercan\u002Fkubectl-ai","kubectl-ai","✨ Kubectl plugin to create manifests with LLMs","kubectl-ai 是一款专为 Kubernetes 开发者设计的命令行插件，它能利用大语言模型（如 OpenAI GPT 或本地部署的兼容模型）直接生成并应用 Kubernetes 资源清单文件。在日常开发和测试中，工程师往往需要花费大量时间搜索、拼凑或手动编写复杂的 YAML 配置文件，而 kubectl-ai 通过自然语言交互，让用户只需描述需求即可自动获得准确的配置代码，从而显著减少查找随机模板的繁琐过程。\n\n该工具特别适合熟悉 kubectl 命令的 DevOps 工程师、后端开发者以及云原生技术爱好者。其核心亮点在于高度的灵活性与智能化：不仅支持标准的 OpenAI 接口和 Azure OpenAI 服务，还允许用户通过 AIKit 等方案在无 GPU 环境下搭建本地兼容端点，保障数据隐私与离线可用性。此外，kubectl-ai 可选集成 Kubernetes OpenAPI 规范，结合模型的功能调用能力，生成包含自定义资源定义（CRD）在内的高精度清单，并内置确认机制防止误操作。无论是快速原型验证还是日常运维辅助，它都能成为提升工作效率的得力助手。","# Kubectl OpenAI plugin ✨\n\nThis project is a `kubectl` plugin to generate and apply Kubernetes manifests using OpenAI GPT.\n\nMy main motivation is to avoid finding and collecting random manifests when dev\u002Ftesting things.\n\n## Demo\n\n[![asciicast](https:\u002F\u002Fasciinema.org\u002Fa\u002FMEXrlAqUjo7DMnfoyQearpVQ7.svg)](https:\u002F\u002Fasciinema.org\u002Fa\u002FMEXrlAqUjo7DMnfoyQearpVQ7)\n\n## Installation\n\n### Homebrew\n\nAdd to `brew` tap and install with:\n\n```shell\nbrew tap sozercan\u002Fkubectl-ai https:\u002F\u002Fgithub.com\u002Fsozercan\u002Fkubectl-ai\nbrew install kubectl-ai\n```\n\n### Krew\n\nAdd to `krew` index and install with:\n\n```shell\nkubectl krew index add kubectl-ai https:\u002F\u002Fgithub.com\u002Fsozercan\u002Fkubectl-ai\nkubectl krew install kubectl-ai\u002Fkubectl-ai\n```\n\n### GitHub release\n- Download the binary from [GitHub releases](https:\u002F\u002Fgithub.com\u002Fsozercan\u002Fkubectl-ai\u002Freleases).\n\n- If you want to use this as a [`kubectl` plugin](https:\u002F\u002Fkubernetes.io\u002Fdocs\u002Ftasks\u002Fextend-kubectl\u002Fkubectl-plugins\u002F), then copy `kubectl-ai` binary to your `PATH`. If not, you can also use the binary standalone.\n\n## Usage\n\n### Prerequisites\n\n`kubectl-ai` requires a valid Kubernetes configuration and one of the following:\n\n- [OpenAI API key](https:\u002F\u002Fplatform.openai.com\u002Foverview)\n- [Azure OpenAI Service](https:\u002F\u002Faka.ms\u002Fazure-openai) API key and endpoint\n- [OpenAI API-compatible endpoint](#set-up-a-local-openai-api-compatible-endpoint) (such as [AIKit](https:\u002F\u002Fgithub.com\u002Fsozercan\u002Faikit) or [LocalAI](https:\u002F\u002Flocalai.io\u002F))\n\nFor OpenAI, Azure OpenAI or OpenAI API compatible endpoint, you can use the following environment variables:\n\n```shell\nexport OPENAI_API_KEY=\u003Cyour OpenAI key>\nexport OPENAI_DEPLOYMENT_NAME=\u003Cyour OpenAI deployment\u002Fmodel name. defaults to \"gpt-3.5-turbo-0301\">\nexport OPENAI_ENDPOINT=\u003Cyour OpenAI endpoint, like \"https:\u002F\u002Fmy-aoi-endpoint.openai.azure.com\" or \"http:\u002F\u002Flocalhost:8080\u002Fv1\">\n```\n\nIf `OPENAI_ENDPOINT` variable is set, then it will use the endpoint. Otherwise, it will use OpenAI API.\n\nAzure OpenAI service does not allow certain characters, such as `.`, in the deployment name. Consequently, `kubectl-ai` will automatically replace `gpt-3.5-turbo` to `gpt-35-turbo` for Azure. However, if you use an Azure OpenAI deployment name completely different from the model name, you can set `AZURE_OPENAI_MAP` environment variable to map the model name to the Azure OpenAI deployment name. For example:\n\n```shell\nexport AZURE_OPENAI_MAP=\"gpt-3.5-turbo=my-deployment\"\n```\n\n### Set up a local OpenAI API-compatible endpoint\n\nIf you don't have OpenAI API access, you can set up a local OpenAI API-compatible endpoint using [AIKit](https:\u002F\u002Fgithub.com\u002Fsozercan\u002Faikit) on your local machine without any GPUs! For more information, see the [AIKit documentaton](https:\u002F\u002Fsozercan.github.io\u002Faikit\u002F).\n\n```shell\ndocker run -d --rm -p 8080:8080 ghcr.io\u002Fsozercan\u002Fllama3.1:8b\nexport OPENAI_ENDPOINT=\"http:\u002F\u002Flocalhost:8080\u002Fv1\"\nexport OPENAI_DEPLOYMENT_NAME=\"llama-3.1-8b-instruct\"\nexport OPENAI_API_KEY=\"n\u002Fa\"\n```\n\nAfter setting up the environment like above, you can use `kubectl-ai` as usual.\n\n### Flags and environment variables\n\n- `--require-confirmation` flag or `REQUIRE_CONFIRMATION` environment variable can be set to prompt the user for confirmation before applying the manifest. Defaults to true.\n\n- `--temperature` flag or `TEMPERATURE` environment variable can be set between 0 and 1. Higher temperature will result in more creative completions. Lower temperature will result in more deterministic completions. Defaults to 0.\n\n- `--use-k8s-api` flag or `USE_K8S_API` environment variable can be set to use Kubernetes OpenAPI Spec to generate the manifest. This will result in very accurate completions including CRDs (if present in configured cluster). This setting will use more OpenAI API calls and it requires [function calling](https:\u002F\u002Fopenai.com\u002Fblog\u002Ffunction-calling-and-other-api-updates) which is available in `0613` or later models only. Defaults to false. However, this is recommended for accuracy and completeness.\n\n- `--k8s-openapi-url` flag or `K8S_OPENAPI_URL` environment variable can be set to use a custom Kubernetes OpenAPI Spec URL. This is only used if `--use-k8s-api` is set. By default, `kubectl-ai` will use the configured Kubernetes API Server to get the spec unless this setting is configured. You can use the [default Kubernetes OpenAPI Spec](https:\u002F\u002Fraw.githubusercontent.com\u002Fkubernetes\u002Fkubernetes\u002Fmaster\u002Fapi\u002Fopenapi-spec\u002Fswagger.json) or generate a custom spec for completions that includes custom resource definitions (CRDs). You can generate custom OpenAPI Spec by using `kubectl get --raw \u002Fopenapi\u002Fv2 > swagger.json`.\n\n### Pipe Input and Output\n\nKubectl AI can be used with pipe input and output. For example:\n\n```shell\n$ cat foo-deployment.yaml | kubectl ai \"change replicas to 5\" --raw | kubectl apply -f -\n```\n\n#### Save to file\n\n```shell\n$ cat foo-deployment.yaml | kubectl ai \"change replicas to 5\" --raw > my-deployment-updated.yaml\n```\n\n#### Use with external editors\n\nIf you want to use an external editor to edit the generated manifest, you can set the `--raw` flag and pipe to the editor of your choice. For example:\n\n```shell\n# Visual Studio Code\n$ kubectl ai \"create a foo namespace\" --raw | code -\n\n# Vim\n$ kubectl ai \"create a foo namespace\" --raw | vim -\n```\n\n## Examples\n\n### Creating objects with specific values\n\n```shell\n$ kubectl ai \"create an nginx deployment with 3 replicas\"\n✨ Attempting to apply the following manifest:\napiVersion: apps\u002Fv1\nkind: Deployment\nmetadata:\n  name: nginx-deployment\n  labels:\n    app: nginx\nspec:\n  replicas: 3\n  selector:\n    matchLabels:\n      app: nginx\n  template:\n    metadata:\n      labels:\n        app: nginx\n    spec:\n      containers:\n      - name: nginx\n        image: nginx:1.7.9\n        ports:\n        - containerPort: 80\nUse the arrow keys to navigate: ↓ ↑ → ←\n? Would you like to apply this? [Reprompt\u002FApply\u002FDon't Apply]:\n+   Reprompt\n  ▸ Apply\n    Don't Apply\n```\n\n### Reprompt to refine your prompt\n\n```shell\n...\nReprompt: update to 5 replicas and port 8080\n✨ Attempting to apply the following manifest:\napiVersion: apps\u002Fv1\nkind: Deployment\nmetadata:\n  name: nginx-deployment\n  labels:\n    app: nginx\nspec:\n  replicas: 5\n  selector:\n    matchLabels:\n      app: nginx\n  template:\n    metadata:\n      labels:\n        app: nginx\n    spec:\n      containers:\n      - name: nginx\n        image: nginx:1.7.9\n        ports:\n        - containerPort: 8080\nUse the arrow keys to navigate: ↓ ↑ → ←\n? Would you like to apply this? [Reprompt\u002FApply\u002FDon't Apply]:\n+   Reprompt\n  ▸ Apply\n    Don't Apply\n```\n\n### Multiple objects\n\n```shell\n$ kubectl ai \"create a foo namespace then create nginx pod in that namespace\"\n✨ Attempting to apply the following manifest:\napiVersion: v1\nkind: Namespace\nmetadata:\n  name: foo\n---\napiVersion: v1\nkind: Pod\nmetadata:\n  name: nginx\n  namespace: foo\nspec:\n  containers:\n  - name: nginx\n    image: nginx:latest\nUse the arrow keys to navigate: ↓ ↑ → ←\n? Would you like to apply this? [Reprompt\u002FApply\u002FDon't Apply]:\n+   Reprompt\n  ▸ Apply\n    Don't Apply\n```\n\n### Optional `--require-confirmation` flag\n\n```shell\n$ kubectl ai \"create a service with type LoadBalancer with selector as 'app:nginx'\" --require-confirmation=false\n✨ Attempting to apply the following manifest:\napiVersion: v1\nkind: Service\nmetadata:\n  name: nginx-service\nspec:\n  selector:\n    app: nginx\n  ports:\n  - port: 80\n    targetPort: 80\n  type: LoadBalancer\n```\n\n> Please note that the plugin does not know the current state of the cluster (yet?), so it will always generate the full manifest.\n","# Kubectl OpenAI 插件 ✨\n\n本项目是一个 `kubectl` 插件，用于使用 OpenAI GPT 生成并应用 Kubernetes 清单文件。\n\n我的主要动机是避免在开发或测试时手动查找和收集各种随机的清单文件。\n\n## 演示\n\n[![asciicast](https:\u002F\u002Fasciinema.org\u002Fa\u002FMEXrlAqUjo7DMnfoyQearpVQ7.svg)](https:\u002F\u002Fasciinema.org\u002Fa\u002FMEXrlAqUjo7DMnfoyQearpVQ7)\n\n## 安装\n\n### Homebrew\n\n添加到 `brew` tap 并安装：\n\n```shell\nbrew tap sozercan\u002Fkubectl-ai https:\u002F\u002Fgithub.com\u002Fsozercan\u002Fkubectl-ai\nbrew install kubectl-ai\n```\n\n### Krew\n\n添加到 `krew` 索引并安装：\n\n```shell\nkubectl krew index add kubectl-ai https:\u002F\u002Fgithub.com\u002Fsozercan\u002Fkubectl-ai\nkubectl krew install kubectl-ai\u002Fkubectl-ai\n```\n\n### GitHub 发布\n\n- 从 [GitHub 发布页面](https:\u002F\u002Fgithub.com\u002Fsozercan\u002Fkubectl-ai\u002Freleases) 下载二进制文件。\n\n- 如果您希望将其用作 [`kubectl` 插件](https:\u002F\u002Fkubernetes.io\u002Fdocs\u002Ftasks\u002Fextend-kubectl\u002Fkubectl-plugins\u002F)，请将 `kubectl-ai` 二进制文件复制到您的 `PATH` 中。否则，您也可以单独使用该二进制文件。\n\n## 使用方法\n\n### 前提条件\n\n`kubectl-ai` 需要有效的 Kubernetes 配置，并且需要以下之一：\n\n- [OpenAI API 密钥](https:\u002F\u002Fplatform.openai.com\u002Foverview)\n- [Azure OpenAI 服务](https:\u002F\u002Faka.ms\u002Fazure-openai) 的 API 密钥和端点\n- [兼容 OpenAI API 的本地端点](#设置一个本地兼容-openai-api的端点)（例如 [AIKit](https:\u002F\u002Fgithub.com\u002Fsozercan\u002Faikit) 或 [LocalAI](https:\u002F\u002Flocalai.io\u002F)）\n\n对于 OpenAI、Azure OpenAI 或兼容 OpenAI API 的端点，您可以使用以下环境变量：\n\n```shell\nexport OPENAI_API_KEY=\u003C您的 OpenAI 密钥>\nexport OPENAI_DEPLOYMENT_NAME=\u003C您的 OpenAI 部署\u002F模型名称，默认为 \"gpt-3.5-turbo-0301\">\nexport OPENAI_ENDPOINT=\u003C您的 OpenAI 端点，例如 \"https:\u002F\u002Fmy-aoi-endpoint.openai.azure.com\" 或 \"http:\u002F\u002Flocalhost:8080\u002Fv1\">\n```\n\n如果设置了 `OPENAI_ENDPOINT` 变量，则会使用该端点；否则将使用 OpenAI API。\n\nAzure OpenAI 服务不允许在部署名称中使用某些字符，例如 `.`。因此，`kubectl-ai` 会自动将 `gpt-3.5-turbo` 替换为 `gpt-35-turbo` 以适应 Azure。但是，如果您使用的 Azure OpenAI 部署名称与模型名称完全不同，可以设置 `AZURE_OPENAI_MAP` 环境变量来映射模型名称到 Azure OpenAI 部署名称。例如：\n\n```shell\nexport AZURE_OPENAI_MAP=\"gpt-3.5-turbo=my-deployment\"\n```\n\n### 设置一个本地兼容 OpenAI API 的端点\n\n如果您没有 OpenAI API 访问权限，可以在本地机器上使用 [AIKit](https:\u002F\u002Fgithub.com\u002Fsozercan\u002Faikit) 设置一个本地兼容 OpenAI API 的端点，无需任何 GPU！有关更多信息，请参阅 [AIKit 文档](https:\u002F\u002Fsozercan.github.io\u002Faikit\u002F)。\n\n```shell\ndocker run -d --rm -p 8080:8080 ghcr.io\u002Fsozercan\u002Fllama3.1:8b\nexport OPENAI_ENDPOINT=\"http:\u002F\u002Flocalhost:8080\u002Fv1\"\nexport OPENAI_DEPLOYMENT_NAME=\"llama-3.1-8b-instruct\"\nexport OPENAI_API_KEY=\"n\u002Fa\"\n```\n\n按照上述方式设置环境后，您可以像往常一样使用 `kubectl-ai`。\n\n### 标志和环境变量\n\n- `--require-confirmation` 标志或 `REQUIRE_CONFIRMATION` 环境变量可用于在应用清单之前提示用户确认。默认为 true。\n\n- `--temperature` 标志或 `TEMPERATURE` 环境变量可设置为 0 到 1 之间的值。较高的温度会产生更具创造性的补全结果，而较低的温度则会产生更确定性的补全结果。默认为 0。\n\n- `--use-k8s-api` 标志或 `USE_K8S_API` 环境变量可用于使用 Kubernetes OpenAPI 规范生成清单。这将产生非常准确的补全结果，包括 CRD（如果配置的集群中存在）。此设置会使用更多的 OpenAI API 调用，并且需要 [函数调用](https:\u002F\u002Fopenai.com\u002Fblog\u002Ffunction-calling-and-other-api-updates)，而该功能仅在 `0613` 或更高版本的模型中可用。默认为 false。不过，为了准确性和完整性，建议启用此选项。\n\n- `--k8s-openapi-url` 标志或 `K8S_OPENAPI_URL` 环境变量可用于指定自定义的 Kubernetes OpenAPI 规范 URL。此设置仅在启用 `--use-k8s-api` 时生效。默认情况下，`kubectl-ai` 会使用已配置的 Kubernetes API 服务器获取规范，除非您配置了此设置。您可以使用 [默认的 Kubernetes OpenAPI 规范](https:\u002F\u002Fraw.githubusercontent.com\u002Fkubernetes\u002Fkubernetes\u002Fmaster\u002Fapi\u002Fopenapi-spec\u002Fswagger.json) 或生成包含自定义资源定义 (CRD) 的自定义规范。您可以通过运行 `kubectl get --raw \u002Fopenapi\u002Fv2 > swagger.json` 来生成自定义的 OpenAPI 规范。\n\n### 管道输入和输出\n\nKubectl AI 可以与管道输入和输出一起使用。例如：\n\n```shell\n$ cat foo-deployment.yaml | kubectl ai \"将副本数改为 5\" --raw | kubectl apply -f -\n```\n\n#### 保存到文件\n\n```shell\n$ cat foo-deployment.yaml | kubectl ai \"将副本数改为 5\" --raw > my-deployment-updated.yaml\n```\n\n#### 与外部编辑器结合使用\n\n如果您想使用外部编辑器编辑生成的清单，可以设置 `--raw` 标志，并将其通过管道传递给您选择的编辑器。例如：\n\n```shell\n# Visual Studio Code\n$ kubectl ai \"创建一个 foo 命名空间\" --raw | code -\n\n# Vim\n$ kubectl ai \"创建一个 foo 命名空间\" --raw | vim -\n```\n\n## 示例\n\n### 创建具有特定值的对象\n\n```shell\n$ kubectl ai \"创建一个拥有 3 个副本的 nginx 部署\"\n✨ 尝试应用以下清单：\napiVersion: apps\u002Fv1\nkind: Deployment\nmetadata:\n  name: nginx-deployment\n  labels:\n    app: nginx\nspec:\n  replicas: 3\n  selector:\n    matchLabels:\n      app: nginx\n  template:\n    metadata:\n      labels:\n        app: nginx\n    spec:\n      containers:\n      - name: nginx\n        image: nginx:1.7.9\n        ports:\n        - containerPort: 80\n使用方向键导航：↓ ↑ → ←\n? 您是否要应用此清单？[重新提示\u002F应用\u002F不应用]：\n+   重新提示\n  ▸ 应用\n    不应用\n```\n\n### 重新提示以优化您的提示\n\n```shell\n...\n重新提示：更新为 5 个副本，并将端口改为 8080\n✨ 尝试应用以下清单：\napiVersion: apps\u002Fv1\nkind: Deployment\nmetadata:\n  name: nginx-deployment\n  labels:\n    app: nginx\nspec:\n  replicas: 5\n  selector:\n    matchLabels:\n      app: nginx\n  template:\n    metadata:\n      labels:\n        app: nginx\n    spec:\n      containers:\n      - name: nginx\n        image: nginx:1.7.9\n        ports:\n        - containerPort: 8080\n使用方向键导航：↓ ↑ → ←\n? 您是否要应用此清单？[重新提示\u002F应用\u002F不应用]：\n+   重新提示\n  ▸ 应用\n    不应用\n```\n\n### 多个对象\n\n```shell\n$ kubectl ai \"创建一个名为 foo 的命名空间，然后在该命名空间中创建一个 nginx Pod\"\n✨ 尝试应用以下清单：\napiVersion: v1\nkind: Namespace\nmetadata:\n  name: foo\n---\napiVersion: v1\nkind: Pod\nmetadata:\n  name: nginx\n  namespace: foo\nspec:\n  containers:\n  - name: nginx\n    image: nginx:latest\n使用方向键导航：↓ ↑ → ←\n? 您是否要应用此清单？[重新提示\u002F应用\u002F不应用]：\n+   重新提示\n  ▸ 应用\n    不应用\n```\n\n### 可选的 `--require-confirmation` 标志\n\n```shell\n$ kubectl ai \"创建一个类型为 LoadBalancer、选择器为 'app:nginx' 的服务\" --require-confirmation=false\n✨ 尝试应用以下清单：\napiVersion: v1\nkind: Service\nmetadata:\n  name: nginx-service\nspec:\n  selector:\n    app: nginx\n  ports:\n  - port: 80\n    targetPort: 80\n  type: LoadBalancer\n```\n\n> 请注意，该插件目前尚无法了解集群的当前状态，因此它始终会生成完整的清单。","# kubectl-ai 快速上手指南\n\n`kubectl-ai` 是一个 `kubectl` 插件，利用 OpenAI GPT 模型自动生成并应用 Kubernetes 资源清单（Manifest）。它能帮助开发者在开发或测试时，避免手动查找和拼凑杂乱的 YAML 文件。\n\n## 环境准备\n\n在使用前，请确保满足以下条件：\n\n1.  **Kubernetes 环境**：已配置有效的 `kubeconfig`，可正常访问集群。\n2.  **AI 服务凭证**：需具备以下任一服务的访问权限：\n    *   **OpenAI API Key**\n    *   **Azure OpenAI Service** (API Key 和 Endpoint)\n    *   **兼容 OpenAI 接口的本地服务** (如 AIKit, LocalAI 等，无需 GPU 也可运行)\n\n设置环境变量以配置凭证（根据实际选择其一）：\n\n```shell\n# 方案 A: 使用 OpenAI\nexport OPENAI_API_KEY=\u003Cyour OpenAI key>\nexport OPENAI_DEPLOYMENT_NAME=\"gpt-3.5-turbo-0301\" # 可选，默认值\n\n# 方案 B: 使用 Azure OpenAI\nexport OPENAI_API_KEY=\u003Cyour Azure key>\nexport OPENAI_ENDPOINT=\"https:\u002F\u002Fmy-aoi-endpoint.openai.azure.com\"\nexport OPENAI_DEPLOYMENT_NAME=\"\u003Cyour-deployment-name>\"\n# 注意：Azure 不支持部署名中包含 \".\"，插件会自动处理 gpt-3.5-turbo 为 gpt-35-turbo\n# 若部署名完全不同，可设置映射：export AZURE_OPENAI_MAP=\"gpt-3.5-turbo=my-deployment\"\n\n# 方案 C: 使用本地兼容接口 (例如运行了 AIKit)\nexport OPENAI_ENDPOINT=\"http:\u002F\u002Flocalhost:8080\u002Fv1\"\nexport OPENAI_DEPLOYMENT_NAME=\"llama-3.1-8b-instruct\"\nexport OPENAI_API_KEY=\"n\u002Fa\"\n```\n\n## 安装步骤\n\n推荐通过 `Homebrew` 或 `Krew` 进行安装。\n\n### 方式一：使用 Homebrew (macOS\u002FLinux)\n\n```shell\nbrew tap sozercan\u002Fkubectl-ai https:\u002F\u002Fgithub.com\u002Fsozercan\u002Fkubectl-ai\nbrew install kubectl-ai\n```\n\n### 方式二：使用 Krew (跨平台)\n\n```shell\nkubectl krew index add kubectl-ai https:\u002F\u002Fgithub.com\u002Fsozercan\u002Fkubectl-ai\nkubectl krew install kubectl-ai\u002Fkubectl-ai\n```\n\n### 方式三：手动安装\n\n从 [GitHub Releases](https:\u002F\u002Fgithub.com\u002Fsozercan\u002Fkubectl-ai\u002Freleases) 下载对应系统的二进制文件，将其重命名为 `kubectl-ai` 并放入系统 `PATH` 目录中即可。\n\n## 基本使用\n\n安装并配置好环境变量后，即可直接使用自然语言描述需求，插件将生成 YAML 并提示是否应用。\n\n### 示例 1：创建资源\n\n创建一个包含 3 个副本的 Nginx Deployment：\n\n```shell\nkubectl ai \"create an nginx deployment with 3 replicas\"\n```\n\n执行后，终端会显示生成的 Manifest，并通过交互式菜单询问操作：\n*   **Reprompt**: 重新输入指令以修正结果（例如：\"update to 5 replicas\"）。\n*   **Apply**: 确认并将资源配置应用到集群。\n*   **Don't Apply**: 放弃操作。\n\n### 示例 2：多资源创建\n\n一条指令创建命名空间及内部的 Pod：\n\n```shell\nkubectl ai \"create a foo namespace then create nginx pod in that namespace\"\n```\n\n### 示例 3：跳过确认直接应用\n\n若希望生成后直接应用（慎用），可添加 `--require-confirmation=false` 标志：\n\n```shell\nkubectl ai \"create a service with type LoadBalancer with selector as 'app:nginx'\" --require-confirmation=false\n```\n\n### 高级技巧：管道与编辑\n\n结合管道符，可以将现有文件作为输入，或将输出重定向到编辑器：\n\n```shell\n# 修改现有文件并直接应用\ncat foo-deployment.yaml | kubectl ai \"change replicas to 5\" --raw | kubectl apply -f -\n\n# 生成内容并发送到 VS Code 编辑\nkubectl ai \"create a foo namespace\" --raw | code -\n```\n\n> **提示**：为了获得更精准的结果（包括支持 CRD），建议设置 `--use-k8s-api` 标志，这将使插件读取当前集群的 OpenAPI Spec 来辅助生成。","某后端工程师在紧急排查生产环境问题时，需要快速部署一个带有特定健康检查配置和资源限制的临时 Nginx 服务进行流量复现。\n\n### 没有 kubectl-ai 时\n- 工程师需在搜索引擎中反复查找碎片化的 YAML 模板，难以确认哪些字段适用于当前集群版本。\n- 手动编写复杂的 `livenessProbe` 和 `resources` 配置时，极易因缩进错误或字段拼写失误导致部署失败。\n- 若涉及自定义 CRD（如监控规则），必须查阅大量文档才能构造出符合 OpenAPI 规范的完整清单。\n- 从查找、修改到最终应用，整个流程耗时较长，严重拖慢了故障排查的响应速度。\n\n### 使用 kubectl-ai 后\n- 只需输入自然语言指令（如“创建一个带健康检查的 Nginx\"），kubectl-ai 即可结合集群 OpenAPI 规范自动生成精准清单。\n- 工具自动处理繁琐的 YAML 语法细节，确保缩进、类型及必填字段完全正确，消除人为笔误。\n- 能够智能识别集群中已安装的 CRD，直接生成包含自定义资源的复杂配置，无需人工查阅文档。\n- 配合 `--require-confirmation` 标志，工程师可在预览确认后立即应用，将准备时间从半小时压缩至几分钟。\n\nkubectl-ai 通过将自然语言意图直接转化为符合集群规范的可执行代码，彻底消除了手动编写 Kubernetes 清单的认知负荷与时间成本。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fsozercan_kubectl-ai_098fd92c.png","sozercan","Sertaç Özercan","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fsozercan_8845fcb9.jpg","👋 Software Engineering Manager @Azure","@Microsoft","San Francisco, CA",null,"https:\u002F\u002Fgithub.com\u002Fsozercan",[82,86,90],{"name":83,"color":84,"percentage":85},"Go","#00ADD8",89.3,{"name":87,"color":88,"percentage":89},"Ruby","#701516",7.2,{"name":91,"color":92,"percentage":93},"Makefile","#427819",3.5,1192,89,"2026-04-11T10:19:24","MIT","Linux, macOS, Windows","非必需。若使用云端 OpenAI\u002FAzure API 则无需 GPU；若本地部署兼容接口（如 AIKit\u002FLocalAI），README 指出可在无 GPU 环境下运行，具体硬件需求取决于所选本地模型。","未说明",{"notes":102,"python":100,"dependencies":103},"1. 必须预先配置有效的 Kubernetes 集群及 kubeconfig。2. 核心依赖为 OpenAI API 密钥、Azure OpenAI 服务或本地兼容接口（如 AIKit）。3. 可通过 Homebrew、Krew 或直接下载二进制文件安装。4. 支持通过环境变量自定义 API 端点、模型名称及温度参数。5. 可选功能包括利用 Kubernetes OpenAPI Spec 提高生成准确性（需支持 function calling 的模型）。",[104,105],"kubectl","OpenAI API Key 或 Azure OpenAI 凭证",[35,13,15,45,14],[108,109,110,111,112,113,114,104,115,116,117,118,119,120],"kubernetes","openai","chatgpt","kubectl-plugins","gpt-4","hacktoberfest","ai","openai-api","gpt","k8s","llm","localllama","open-llm","2026-03-27T02:49:30.150509","2026-04-17T09:53:29.905699",[124,129,134,139,144,149,154],{"id":125,"question_zh":126,"answer_zh":127,"source_url":128},36673,"遇到 'Unrecognized request argument supplied: functions' (404 错误) 该如何解决？","这通常是因为使用的 API 版本不支持 'functions' 参数。解决方法是使用支持该功能的模型版本，例如 `0613` 版本或更新的浮动模型版本。此外，请确保端点配置正确：对于 Azure OpenAI，端点格式应为 `https:\u002F\u002Fresource-name.openai.azure.com`。如果在创建 Azure 资源时未指定 `--custom-domain` 参数，可能会导致端点不匹配。创建资源时建议加上该参数：\n```bash\naz cognitiveservices account create \\\n--kind OpenAI\\\n--name $AZ_OPEN_AI \\\n--custom-domain $AZ_OPEN_AI \\\n...```\n同时，检查是否使用了正确的端点类型（openai, azure openai, 或 localai）。","https:\u002F\u002Fgithub.com\u002Fsozercan\u002Fkubectl-ai\u002Fissues\u002F89",{"id":130,"question_zh":131,"answer_zh":132,"source_url":133},36674,"运行示例时提示 'too many tokens requested' (请求令牌过多) 错误怎么办？","此错误表示提示词和完成内容的总长度超过了模型的最大上下文限制（例如 2049 tokens）。该问题已在 v0.0.5 版本中修复。如果您遇到此问题，请将 `kubectl-ai` 升级到 v0.0.5 或更高版本。维护者已优化了令牌处理逻辑以适配不同模型的上下文长度。","https:\u002F\u002Fgithub.com\u002Fsozercan\u002Fkubectl-ai\u002Fissues\u002F9",{"id":135,"question_zh":136,"answer_zh":137,"source_url":138},36675,"如何在使用 GPT-3.5 Turbo 模型时避免 'not found in max tokens map' 或 'v1\u002Fcompletions endpoint' 错误？","GPT-3.5 Turbo (`gpt-3.5-turbo`, `gpt-3.5-turbo-0301`) 使用的是聊天补全接口 (`v1\u002Fchat\u002Fcompletions`) 而非传统的补全接口。旧版本可能未正确映射这些模型的令牌限制或端点。请升级到 v0.0.6 或更高版本，该版本已原生支持 `gpt-3.5-turbo` 系列模型，并将其设为默认模型，自动处理正确的 API 端点调用。","https:\u002F\u002Fgithub.com\u002Fsozercan\u002Fkubectl-ai\u002Fissues\u002F11",{"id":140,"question_zh":141,"answer_zh":142,"source_url":143},36676,"使用自定义 openai-endpoint 时返回 404 错误，但直接 curl 测试正常，原因是什么？","`kubectl-ai` 要求提供的端点必须是 OpenAI 兼容的 API，且路径需包含 `\u002Fv1\u002Fchat\u002Fcompletions`。工具会自动在提供的端点 URL 后追加 `\u002Fchat\u002Fcompletions`。如果您的自定义服务（如某些代理或本地部署）没有该路径结构，就会报 404 错误。\n解决方案是确保您的服务端点能正确处理 `\u002Fv1\u002Fchat\u002Fcompletions` 路径。例如，如果使用本地 Docker 运行兼容服务：\n```bash\ndocker run -d --rm -p 8080:8080 ghcr.io\u002Fsozercan\u002Fllama3.1:8b\nexport OPENAI_ENDPOINT=\"http:\u002F\u002Flocalhost:8080\u002Fv1\"\nexport OPENAI_DEPLOYMENT_NAME=\"llama-3.1-8b-instruct\"\nkubectl ai \"create an nginx deployment\"\n``` \n请检查您的自定义 URL 是否缺少必要的路径前缀。","https:\u002F\u002Fgithub.com\u002Fsozercan\u002Fkubectl-ai\u002Fissues\u002F171",{"id":145,"question_zh":146,"answer_zh":147,"source_url":148},36677,"账户有余额却收到 'insufficient_quota' (配额不足) 的 429 错误，如何解决？","该错误直接来自 OpenAI 服务，通常与 API Key 的配置有关，而非工具本身的问题。即使账户显示有余额，如果当前使用的 API Key 不属于该账户，或者该 Key 所属的项目\u002F组织配额已用尽，也会报此错。请务必检查环境变量 `OPENAI_API_KEY` 导出的是否为正确且有效的密钥。您可以尝试重新生成 API Key 并更新环境变量。","https:\u002F\u002Fgithub.com\u002Fsozercan\u002Fkubectl-ai\u002Fissues\u002F58",{"id":150,"question_zh":151,"answer_zh":152,"source_url":153},36678,"如何在应用生成的 YAML 清单之前对其进行编辑？","工具已支持在应用前编辑生成的清单功能。您可以通过交互式提示进行编辑，系统会调用 `$EDITOR` 环境变量指定的编辑器打开生成的 YAML 文件。修改保存后，工具会重新提示确认是否应用。相关文档和实现已在后续版本（参考 PR #47 和 #22）中添加，请确保使用最新版本的 `kubectl-ai` 以体验此功能。","https:\u002F\u002Fgithub.com\u002Fsozercan\u002Fkubectl-ai\u002Fissues\u002F18",{"id":155,"question_zh":156,"answer_zh":157,"source_url":158},36679,"是否支持配置 Token 长度限制以避免上下文超长错误？","早期版本中用户曾遇到因硬编码令牌限制导致的错误。目前该问题已通过动态获取模型最大上下文长度或升级版本解决（见 v0.0.5+）。如果您仍在使用旧版 `text-davinci-003` 遇到超时或限制问题，建议切换到 `gpt-3.5-turbo` 等更现代且成本更低的模型，并升级工具至最新版本，新版本已自动处理不同模型的令牌限制映射。","https:\u002F\u002Fgithub.com\u002Fsozercan\u002Fkubectl-ai\u002Fissues\u002F12",[160,165,170,175,180,185,190,195,200,205,210,215,220],{"id":161,"version":162,"summary_zh":163,"released_at":164},291335,"v0.0.13","## 使用 AIKit 轻松通过开放的 LLM 开始使用 `kubectl-ai`\n\n如果您没有 OpenAI API 访问权限，可以在本地机器上使用 [AIKit](https:\u002F\u002Fgithub.com\u002Fsozercan\u002Faikit) 设置一个兼容 OpenAI API 的本地端点，无需任何 GPU！有关更多信息，请参阅 [AIKit 文档](https:\u002F\u002Fsozercan.github.io\u002Faikit\u002F)。\n\n```shell\ndocker run -d --rm -p 8080:8080 ghcr.io\u002Fsozercan\u002Fllama3.1:8b\nexport OPENAI_ENDPOINT=\"http:\u002F\u002Flocalhost:8080\u002Fv1\"\nexport OPENAI_DEPLOYMENT_NAME=\"llama-3.1-8b-instruct\"\nexport OPENAI_API_KEY=\"n\u002Fa\"\n```\n\n按照上述方式设置好环境后，您就可以像往常一样使用 `kubectl-ai` 了。\n\n## 更改日志\n* 645159ff9dfd8ee8491d0e16b04980fd312e794a 更新自述文件，添加本地说明 (#172)\n* 694bd729dbb05e8836cd8612394d7325a6b91c70 杂项：使用系统提示 (#136)\n* 1b62f83d19e14629cc4237deea9d7c2b55cb1628 杂项：在 1 个目录中对 actions-all 组进行 5 次更新以提升版本号 (#170)\n* 611003e67b290305baaa4e0949ca99885f70767f 杂项：在 1 个目录中对 k8s 组进行 3 次更新以提升版本号 (#167)\n* d61dc7f1b926e79f047b40cde6a533ac53cf3cab 杂项：将 github.com\u002Fsashabaranov\u002Fgo-openai 从 1.26.2 升级到 1.27.1 (#169)\n* acbd25c995bc6a237a0167bcaa3c6aa40a0b7684 杂项：将 github.com\u002Fspf13\u002Fcobra 从 1.8.0 升级到 1.8.1 (#157)\n* 4736ab3ed12f6a3eeb1d1df728505239cdf452bc 杂项：在 1 个目录中对 k8s 组进行 3 次更新以提升版本号 (#152)\n* 48c3ea8e1b8e7748d3ed3e82c65f2f6b970c8c23 杂项：在 1 个目录中对 actions-all 组进行 6 次更新以提升版本号 (#163)\n* a5d5ac8ec60ab20053851f959faeb5cdbde3da55 杂项：将 github.com\u002Fsashabaranov\u002Fgo-openai 从 1.24.0 升级到 1.26.2 (#162)\n* 9248c3d2390cd6660ff9218b6ca500dc95071bba 杂项：在 1 个目录中对 actions-all 组进行 8 次更新以提升版本号 (#151)\n* 645fde08e6e2f957702599d81bf8cb3dfd1301f1 杂项：将 github.com\u002Fsashabaranov\u002Fgo-openai 从 1.21.0 升级到 1.24.0 (#150)\n* adb09b37a34f56542d74c7f5448c7e9148d1ae65 杂项：在 go_modules 组中将 golang.org\u002Fx\u002Fnet 从 0.21.0 升级到 0.23.0 (#142)\n* bc1591315a8682002e6f5f684b31c2ce68452eab 杂项：将 github.com\u002Fsashabaranov\u002Fgo-openai 从 1.20.5 升级到 1.21.0 (#140)\n* 6c0e85d342cf6d454a03c896c6b8d27a90c0b2cd 杂项：在 actions-all 组中将 github\u002Fcodeql-action 从 3.24.10 升级到 3.25.0 (#141)\n* 523e8c2247e8c112210b3050635a48119893ed67 杂项：在 actions-all 组中将 github\u002Fcodeql-action 从 3.24.9 升级到 3.24.10 (#138)\n* 7a48d9a8f833e720f6fc147b1b0cf498b91a7410 杂项：将 github.com\u002Fsashabaranov\u002Fgo-openai 从 1.20.4 升级到 1.20.5 (#137)\n* 0f97f46044c4a0e0b1b122df8420dbe22649e4d3 杂项：将 github.com\u002Fcharmbracelet\u002Fglamour 从 0.6.0 升级到 0.7.0 (#134)\n* a6ad6899b7c0a925622a40eca75055a683eb268b 杂项：为 actions-all 组添加 1 次更新 (#135)\n* 0052302f01b79e8af844d1969a426ca5f7ca15fb 杂项：为 actions-all 组添加 2 次更新 (#133)\n* 61dd51cd70d931524abeccf82d711b00626ef8d6 杂项：为 actions-all 组添加 2 次更新 (#132)\n* aeb9421cc501dcc6c176d3106d85563fdcef7045 杂项：为 k8s 组添加 3 次更新 (#131)\n* 5ba39","2024-08-05T00:10:41",{"id":166,"version":167,"summary_zh":168,"released_at":169},291336,"v0.0.12","## 更改日志\n* 972ea9c 功能：支持标准输入 (#110)\n* 2695058 构建（依赖项）：将 github.com\u002Fsashabaranov\u002Fgo-openai 从 1.16.1 升级到 1.20.2 (#108)\n* 3e70b18 构建（依赖项）：将 actions\u002Fcheckout 从 3.6.0 升级到 4.1.1 (#109)\n* ab0ddb3 [StepSecurity] 应用安全最佳实践 (#107)\n* b4e10af 杂项：移除已弃用的 API (#105)\n* 8c15493 测试：添加测试 (#106)\n* f09825e 文档：添加 aikit (#104)\n* 808b008 添加当前上下文视图 (#79)\n* dfe4b8c 为 kubectl-ai v0.0.11 版本更新 Brew 公式 (#76)\n* fda25ed 为 kubectl-ai v0.0.11 版本更新 Krew 清单 (#77)\n\n## 新贡献者\n* @eyal-solomon1 在 https:\u002F\u002Fgithub.com\u002Fsozercan\u002Fkubectl-ai\u002Fpull\u002F79 中做出了首次贡献\n* @step-security-bot 在 https:\u002F\u002Fgithub.com\u002Fsozercan\u002Fkubectl-ai\u002Fpull\u002F107 中做出了首次贡献\n\n**完整更改日志**：https:\u002F\u002Fgithub.com\u002Fsozercan\u002Fkubectl-ai\u002Fcompare\u002Fv0.0.11...v0.0.12","2024-03-09T23:08:43",{"id":171,"version":172,"summary_zh":173,"released_at":174},291337,"v0.0.11","## 重要变更\n- 🤖 支持 [Local AI](https:\u002F\u002Fgithub.com\u002Fgo-skynet\u002FLocalAI) (#67)  \n  - 允许与自托管、社区驱动的本地 OpenAI 兼容 API 集成。\n  - 请参阅 https:\u002F\u002Flocalai.io\u002Fbasics\u002Fgetting_started\u002Findex.html 以开始使用。\n- ☎️ 支持 Kubernetes API，并结合 [函数调用](https:\u002F\u002Fopenai.com\u002Fblog\u002Ffunction-calling-and-other-api-updates) 功能 (#69)\n  - 这将带来非常准确的补全结果，包括 CRD（如果配置的集群中存在）。\n  - 更多详情请参阅 [README](https:\u002F\u002Fgithub.com\u002Fsozercan\u002Fkubectl-ai#flags-and-environment-variables) 中的 `--use-k8s-api` 标志或 `USE_K8S_API` 环境变量。\n  - 此设置会增加 OpenAI API 的调用次数，并且需要使用 [函数调用](https:\u002F\u002Fopenai.com\u002Fblog\u002Ffunction-calling-and-other-api-updates) 功能，该功能在 `0613` 及更高版本的模型中可用。默认值为 false。不过，为了获得更高的准确性和完整性，建议启用此功能。\n\n## 更改日志\n* 8ae3528 更新 goreleaser (#75)\n* afd1e40 更新 goreleaser (#73)\n* 90d00d9 更新 goreleaser (#72)\n* a8cd2b2 更新 goreleaser 中已弃用的字段 (#71)\n* 3af5ab9 修复 Windows 构建问题 (#70)\n* 0e47b2d 新增：函数调用功能 (#69)\n* b64b73c 新增：LocalAI 支持 (#67)\n* 3684351 【更新】支持自定义 OpenAI API Base (#41)\n* 44e3584 构建依赖项更新：将 k8s.io\u002Fcli-runtime 从 0.27.2 升级至 0.27.4 (#63)\n* c0b1c5b 构建依赖项更新：将 github.com\u002Fsashabaranov\u002Fgo-openai 从 1.9.5 升级至 1.14.1 (#66)\n* 48e1b96 构建依赖项更新：将 github.com\u002Fsashabaranov\u002Fgo-openai 从 1.9.4 升级至 1.9.5 (#50)\n* b0294c9 增加对 429 错误的重试机制 (#49)\n* 509ffcf 更新 OpenAI 库 (#48)\n* 013cf88 文档：编辑器使用说明 (#47)\n* 8de4335 构建依赖项更新：将 k8s.io\u002Fcli-runtime 从 0.27.1 升级至 0.27.2 (#42)\n* 9dcfaff 构建依赖项更新：将 github.com\u002Fstretchr\u002Ftestify 从 1.8.2 升级至 1.8.3 (#44)\n* 736954c 构建依赖项更新：将 golang.org\u002Fx\u002Fnet 从 0.9.0 升级至 0.10.0 (#40)\n* 4aeeaf9 将 kubectl-ai 更新至 0.0.10 版本 (#39)\n\n## 新贡献者\n* @Anoyer 在 https:\u002F\u002Fgithub.com\u002Fsozercan\u002Fkubectl-ai\u002Fpull\u002F41 中做出了首次贡献\n\n**完整更改日志**：https:\u002F\u002Fgithub.com\u002Fsozercan\u002Fkubectl-ai\u002Fcompare\u002Fv0.0.10...v0.0.11","2023-08-01T07:17:22",{"id":176,"version":177,"summary_zh":178,"released_at":179},291338,"v0.0.10","## 更改日志\n* d6b6249 将 Windows 构建加入发布 (#38)\n* 1437680 启用 raw 标志。(#34)\n* f3539b7 build(deps): 将 k8s.io\u002Fcli-runtime 从 0.26.3 升级到 0.27.1 (#33)\n* 7a700c4 修复：修复 GHA 路径忽略问题 (#35)\n* 238f7ea 文档：添加演示 (#30)\n* c8960a0 文档：更新 README (#29)\n* 3bf47b2 文档：在 README 中添加 Krew 和 Brew 说明 (#28)\n* 42fba98 将 kubectl-ai 更新至 0.0.9 (#27)\n\n## 新贡献者\n* @Tatsinnit 在 https:\u002F\u002Fgithub.com\u002Fsozercan\u002Fkubectl-ai\u002Fpull\u002F34 中做出了首次贡献\n* @peterbom 在 https:\u002F\u002Fgithub.com\u002Fsozercan\u002Fkubectl-ai\u002Fpull\u002F38 中做出了首次贡献\n\n**完整更改日志**：https:\u002F\u002Fgithub.com\u002Fsozercan\u002Fkubectl-ai\u002Fcompare\u002Fv0.0.9...v0.0.10","2023-05-03T17:56:28",{"id":181,"version":182,"summary_zh":183,"released_at":184},291339,"v0.0.9","## 更改日志\n* ec9af71 版本：发布 krew 和 brew (#25)\n\n","2023-04-16T04:36:43",{"id":186,"version":187,"summary_zh":188,"released_at":189},291340,"v0.0.8","## 更改日志\n* 685b67d 修复：处理 kubeconfig (#24)\n* 9dadc9f 修复：双重错误 (#23)\n\n","2023-04-15T23:43:05",{"id":191,"version":192,"summary_zh":193,"released_at":194},291341,"v0.0.7","## 更改日志\n* 4df7767 功能：支持重新提示 (#22)\n* a117045 升级 golang.org\u002Fx\u002Fnet 从 0.8.0 到 0.9.0 (#21)\n* 5d439cc 升级 github.com\u002Fspf13\u002Fcobra 从 1.6.1 到 1.7.0 (#20)\n* e9ede3a 添加 GPT-4 支持 (#19)\n* 1c11180 升级 github.com\u002FPullRequestInc\u002Fgo-gpt3 从 1.1.14 到 1.1.15 (#17)\n* 6cd22fd 添加最大 token 数指定标志 (#14)\n\n","2023-04-12T04:52:31",{"id":196,"version":197,"summary_zh":198,"released_at":199},291342,"v0.0.6","## 更改日志\n* 5efdcf3 添加 ChatGPT 模型支持 (#13)\n\n","2023-03-22T05:45:16",{"id":201,"version":202,"summary_zh":203,"released_at":204},291343,"v0.0.5","## 更改日志\n* 2de181b 使用 completionWithEngine (#10)\n* 3df2727 修复 README (#6)\n\n","2023-03-21T06:49:53",{"id":206,"version":207,"summary_zh":208,"released_at":209},291344,"v0.0.4","## 更改日志\n* 4830f7c 确认界面的更改 (#5)\n\n","2023-03-20T16:38:51",{"id":211,"version":212,"summary_zh":213,"released_at":214},291345,"v0.0.3","## Changelog\n* 6d2f949 use env (#4)\n\n","2023-03-20T06:44:08",{"id":216,"version":217,"summary_zh":218,"released_at":219},291346,"v0.0.2","## Changelog\n* ceffff5 use client-go instead of kubectl (#3)\n* e1ae98c initial commit\n\n","2023-03-20T05:00:33",{"id":221,"version":222,"summary_zh":223,"released_at":224},291347,"v0.0.1","## Changelog\n* 1a9ac28 initial commit\n\n","2023-03-20T03:44:55"]