kelos
Kubernetes 原生的 AI 编程智能体编排框架,用 YAML 定义 Task、Workspa
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
Kubernetes 原生的 AI 编程智能体编排框架,用 YAML 定义 Task、Workspa
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你用 Claude Code 解决过一个棘手的重构需求,那种"一句话就让 AI 替你改代码"的感觉很爽。但爽完之后,问题来了——
如果你想让 AI 自动去做这些事呢?
比如:GitHub 上有人提了 issue,就自动派一个 AI 智能体去分析、想办法、甚至提 PR;每次有代码合并,自动跑一遍审查;每周定时让 AI 帮你整理技术债……
这时候,"打开终端、粘贴命令、等待输出"这种交互模式就不够用了。你需要的是一个系统,能把 AI 智能体当作"可编排、可观测、可控制的自动化服务"来运行。
这就是 Kelos 要解决的问题。
Kelos 是一个 Kubernetes 原生的 AI 编程智能体编排框架。它的核心思路很直接:把 AI 智能体和它运行所需的环境打包成 Kubernetes 资源,用 YAML 定义,用 kubectl 管理。
这不是"用 K8s 运行 Claude Code"这么简单。Kelos 定义了四类核心 Kubernetes CRD(自定义资源),让 AI 智能体的生命周期管理完全融入 K8s 生态:
| 资源类型 | 作用 | 类比 K8s 原生资源 |
|---|---|---|
| Task | 单次智能体执行任务 | Job |
| Workspace | Git 仓库工作区,智能体的"磁盘" | PVC(持久卷) |
| AgentConfig | 智能体的指令、工具、MCP 服务器配置 | ConfigMap + Secret |
| TaskSpawner | 事件驱动,自动创建 Task | Ingress / CronJob 的混合体 |
Kelos 自己用 Kelos 驱动开发——仓库中有 self-development 目录,记录了 Kelos 团队如何用 Kelos 来审查 PR、更新文档、自动修复 CI 等。这是一个典型的"吃自己的狗粮"案例。
Task 是 Kelos 的核心执行单元。创建一个 Task,等价于在 K8s 集群里启动一个临时 Pod,运行指定的 AI 智能体:
apiVersion: kelos.dev/v1alpha2
kind: Task
metadata:
name: fix-auth-bug-001
spec:
worker:
type: claude-code
model: opus
image: ghcr.io/kelos-dev/claude-code:latest
workspaceRef:
name: main-repo
prompt: "修复 auth.go 中的 token 刷新 bug"
Task 运行结束后,Kelos 自动记录:分支名、commit SHA、PR URL、token 消耗量——这些信息不需要你写任何解析脚本。
Workspace 定义了智能体在哪个 Git 仓库里工作,以及用什么凭证访问:
apiVersion: kelos.dev/v1alpha2
kind: Workspace
metadata:
name: main-repo
spec:
git:
url: https://github.com/yourorg/main-repo
credentialsRef:
name: github-token
persistent: true # 多次 Task 共享同一克隆
一个 Workspace 可以被多个 Task 引用,实现多步骤流水线(如:分析 → 实现 → 测试 → 审查)。
这是 Kelos 最有价值的能力——把 GitHub Issue、PR、Cron 定时器、webhook 变成触发 Task 的信号:
apiVersion: kelos.dev/v1alpha2
kind: TaskSpawner
metadata:
name: issue-auto-worker
spec:
source:
githubIssues:
repository: yourorg/main-repo
labels: ["needs-implementation"]
actor: kelos
template:
prompt: "实现 Issue: {{.issue.title}}"
workspaceRef:
name: main-repo
agentConfigRef:
name: claude-code-default
支持的事件源包括:GitHub Issues、GitHub PR(open/update/review)、Cron 定时、Linear issues、Jira、通用 HTTP webhook。
Kelos 的实现完全遵循 Kubernetes Operator 模式,核心组件以独立的二进制文件部署:
| 组件 | 职责 |
|---|---|
| kelos-controller | 监听 Task/AgentConfig/Workspace 等 CRD 变化,创建对应的 K8s Job |
| kelos-spawner | 负责 TaskSpawner 的事件监听和 Task 创建 |
| kelos-worker-runner | 在 Pod 内运行 AI 智能体,负责日志上报和结果捕获 |
| kelos-webhook-server | 接收外部 webhook(GitHub、Linear 等)并触发 TaskSpawner |
| kelos-slack-server | Slack 通知服务 |
| ghproxy | GitHub API 代理(规避速率限制) |
这些组件通过 Helm Chart 或 kelos install 一键部署到 kelos-system 命名空间。所有智能体都运行在 ephemeral(临时)Pod 中,没有任何智能体可以直接访问宿主机——这从根本上解决了 AI 智能体的安全问题。
Kelos 完全使用 Go 开发(go.mod 显示 Go 1.25),技术栈非常纯粹:
代码质量方面,仓库中有完整的 CI 流程(.github/workflows/ci.yaml),make test 运行单元测试,make test-e2e 运行端到端测试。README 文档非常详细,包含了 Quick Start、多场景示例(14 个)和完整的 Reference 文档。
Kelos 不适合个人开发者的快速实验,原因很明确:
但对于平台工程团队和 DevOps 团队,Kelos 提供了极好的集成能力:
Kelos 代表了一个趋势:AI 智能体正在从"个人辅助工具"进化为"可编排的自动化服务"。当智能体需要在生产环境中大规模运行时,Kubernetes 的资源管理、调度、监控能力是不可替代的。
局限方面:
总结:Kelos 是一个面向平台工程师的 Kubernetes-native AI 智能体编排框架。它用 YAML 取代交互式命令,用 CRD 取代脚本,用 K8s Job 取代临时终端。如果你的团队已经在用 Kubernetes 并且希望规模化 AI 自动化,Kelos 值得深入研究。如果只是个人想体验 AI 编程,当前的门槛还比较高。