kelos-dev/kelos
Kelos - The Kubernetes-native framework for orchestrating autonomous AI coding agents.
Kelos – 在 Kubernetes 上运行 AI 驱动的编程代理
是什么 – Kelos 是一个开源控制平面,它将 编程代理(由 LLM 支持的代码生成器,如 Claude Code、OpenAI Codex、Google Gemini 等)转变为一等公民的 Kubernetes 工作负载。它定义了一组自定义 Kubernetes 资源(Task、Session、Workspace、AgentConfig、...)来描述代理 应该做什么、代码 存放在哪里 以及 如何运行。控制器会监听这些资源并创建相应的 Pods、Jobs 或 StatefulSets,处理凭据、仓库检出、工具安装和生命周期管理。
为什么重要 – 开发者通常在本地机器上运行基于 LLM 的代码助手,这限制了可扩展性、隔离性和可观测性。Kelos 将执行过程转移到 Kubernetes 集群,为您提供:
- 隔离性 – 每个代理都在其专属的 Pod 中运行,拥有独立的 Secrets 和资源限制。
- 可重用性 – 相同的 Workspace、AgentConfig 和技能集可以在许多 Task 或 Session 中重复使用。
- 自动化 – Task 可以通过 GitHub、Jira、Linear、cron 或通用的 webhooks 自动触发。
- 可观测性与控制 – 因为一切都是原生的 K8s 对象,您可以对其进行检查、版本控制并应用标准策略(RBAC、配额等)。
核心概念
| Resource | Role |
|---|---|
Workspace |
将 Git 仓库(及可选的 ref)链接到集群,提供代理将要工作的代码库。 |
AgentConfig |
存储 LLM 提供商的凭据、提示词、插件以及可选的 MCP (model-control-plane) 服务器。 |
Task |
一次性任务:使用单个提示词运行代理,等待完成并捕获结果(提交、PR、token 使用量)。 |
Session |
与代理进行长期的、交互式的对话,可以通过终端或 Web UI 重新连接。 |
TaskSpawner / SessionSpawner |
声明式对象,用于响应事件(webhooks、计划任务)来创建 Task 或 Session。 |
WorkerPool |
维护一个随时可运行的代理容器池,以减少冷启动延迟。 |
工作原理 – Kelos 控制器监听自定义资源并将其转换为 Kubernetes 工作负载:
- Workspace → 将仓库克隆到共享的 PersistentVolume 中。
- AgentConfig → 将凭据作为 Secrets 注入,并挂载所选的 LLM 提供商镜像。
- Task → 创建一个
Job来运行带有指定提示词的代理容器。 - Session → 创建一个
StatefulSet加上一个 side-car web-socket 服务器,以便您可以通过 Kelos Console 或 CLI 与代理进行对话。 - Spawner 对象监听外部来源(GitHub webhooks、CronJobs)并自动生成上述资源。
入门指南 (来自 README)
# 1. 拥有一个安装了 cert-manager 的 K8s 1.28+ 集群
# 2. 安装 Kelos CLI
curl -fsSL https://raw.githubusercontent.com/kelos-dev/kelos/main/hack/install.sh | bash
# 或者通过 Homebrew / go install
# 3. 部署控制器到集群中
kelos install # 安装 Helm chart
# 4. 为您的 LLM 添加一个编程代理技能 (以基于 Node 的技能为例)
npx skills add kelos-dev/kelos
# 5. 创建一个指向仓库的 Workspace
kelos create workspace my-workspace \
--repo https://github.com/your-org/your-repo.git \
--ref main
# 6. Run 一个一次性 Task
kelos run \
--workspace my-workspace \
--prompt "Add a hello world program in Python" \
--watch
# 7. (可选) 通过 Web 控制台打开一个交互式 Session
kelos session connect interactive-review
CLI 还支持 kelos logs、kelos init 用于配置脚手架,以及 kelos create ... 用于其他资源类型。
典型使用场景
- 开发者引导的工作 – 启动一个 Session,让代理代写代码,让代理代写代码,然后稍后重新连接以进行评审或继续工作。
- 事件驱动的自动化 – 当 GitHub issue 获得
agent-ready标签时,自动创建一个 Task;代理会复现 Bug、编写修复程序并提交 PR。 - 代理流水线 – 使用
TaskSpawner将 Task 串联起来(实现 → 测试 → 评审),以构建由 LLM 驱动的 CI 风格的工作流。 - Repository 舰队 – 通过并行启动多个 Task,将相同的更改应用到数十个微服务中。
- 自我开发循环 – 让一个专门的代理持续进行项目的分拣、实现和维护(Kelos 仓库本身就展示了这一点)。
在哪里学习更多 – 该仓库提供了详尽的文档:
docs/reference.md– API 规范和 CLI flags。examples/– 适用于 Task、Session、spawners 等的 ready-to-apply YAML 模式。docs/integration.md– 连接 GitHub、Jira、Linear 和通用 webhooks。docs/agent-image-interface.md– 如何构建暴露标准 LLM-agent 接口的自定义容器镜像。- Helm chart 文档用于安装和升级。
License – Apache License 2.0。
相关
- 项目
- 项目
- 项目
- 项目