# Keelson：本地AI代理的模块化框架与确定性工作流引擎

> Keelson是一个本地运行的AI代理框架，支持多提供商（Copilot和Claude）、可插拔的Rib扩展架构，以及基于YAML的确定性工作流引擎，让用户完全掌控自己的AI工具链。

- 板块: [Openclaw Llm](https://www.zingnex.cn/forum/board/openclaw-llm)
- 发布时间: 2026-06-06T00:45:42.000Z
- 最近活动: 2026-06-06T00:50:59.939Z
- 热度: 163.9
- 关键词: AI代理, 本地优先, 多提供商, GitHub Copilot, Claude, YAML工作流, 模块化架构, 开源工具, 开发者工具, 隐私保护
- 页面链接: https://www.zingnex.cn/forum/thread/keelson-ai
- Canonical: https://www.zingnex.cn/forum/thread/keelson-ai
- Markdown 来源: ingested_event

---

## 原作者与来源

- 原作者/维护者：danielscholl
- 来源平台：github
- 原始标题：keelson
- 原始链接：https://github.com/danielscholl/keelson
- 来源发布时间/更新时间：2026-06-06T00:45:42Z

# Keelson：本地AI代理的模块化框架与确定性工作流引擎\n\n## 原作者与来源\n- **原作者/维护者**: Daniel Scholl\n- **来源平台**: GitHub\n- **原始标题**: Keelson\n- **原始链接**: https://github.com/danielscholl/keelson\n- **发布时间**: 2026年6月\n- **许可协议**: Apache 2.0\n- **项目状态**: Alpha\n\n## 引言：为什么我们需要本地AI代理框架\n\n随着GitHub Copilot、Claude等AI编程助手的普及，越来越多的开发者开始依赖这些工具来提升生产力。然而，大多数现有的解决方案要么绑定到特定的云服务，要么缺乏可扩展性。Keelson项目应运而生，它是一个**本地运行的AI代理框架**，旨在为开发者提供一个完全掌控、多提供商支持、可扩展的工具平台。\n\nKeelson的核心理念很简单：**你的机器，你的规则**。它运行在你的笔记本电脑上，直接调用本地CLI，不经过任何托管服务，同时通过模块化的"Rib"架构让你能够按需扩展功能。\n\n## 核心概念：什么是Keelson\n\nKeelson这个名字源自航海术语——龙骨上方的纵向梁，是船体结构的加固脊柱，其他结构都附着于它。在这个项目中，**Keelson就是那个"梁"（harness）**，而**Ribs（肋骨）则是附着其上的功能模块**。\n\n这个隐喻准确地描述了项目的架构：Keelson本身提供了一个基础框架，包括多提供商支持、持久化状态、工作流引擎和浏览器界面。而具体的功能（如与特定外部系统的集成）则通过Ribs来实现，每个Rib都是一个独立的包，通过标准化的接口与核心框架通信。\n\n## 多提供商支持：不再被单一厂商锁定\n\nKeelson的一个显著特点是其**多提供商架构**。它同时支持GitHub Copilot SDK和Claude Agent SDK，并且设计上可以轻松添加更多提供商。这意味着开发者不再被绑定到单一的AI服务提供商，可以根据任务需求、成本考虑或个人偏好灵活切换。\n\n这种设计在当前AI服务市场快速变化的背景下尤为重要。当新的模型发布、价格调整或服务条款变更时，拥有多提供商支持的系统能够提供更大的灵活性和抗风险能力。Keelson通过一个统一的`IAgentProvider`接口抽象了不同SDK的差异，让上层应用可以无缝切换底层提供商。\n\n## Rib架构：可插拔的扩展系统\n\nRib是Keelson扩展机制的核心。每个Rib都是一个独立的npm包，遵循`@keelson/rib-<name>`的命名约定，并通过实现`Rib`接口与核心框架集成。Rib可以注册工具、提供上下文、拥有外部系统集成——所有这些都在一个标准化的契约之下。\n\nRib的发现机制非常优雅：Keelson在启动时自动扫描`node_modules/@keelson/`目录，找到所有已安装的Rib包。开发者可以通过`KEELSON_RIBS`环境变量来过滤哪些Rib实际被激活，或者通过`bootstrapRibs`函数显式指定可用的Rib映射。\n\n这种架构带来了几个实际的好处。首先，**关注点分离**：核心框架保持精简，特定功能由专门的Rib实现。其次，**可组合性**：开发者可以只安装需要的Rib，避免不必要的依赖。第三，**可维护性**：Rib可以独立开发和版本控制，不会相互影响。\n\n## 确定性YAML工作流：当可重复性很重要\n\nKeelson的工作流引擎是其另一个亮点。与许多依赖聊天历史来驱动流程的AI工具不同，Keelson使用**确定性的YAML工作流**来定义操作序列。这些工作流是人类可读的，可以被版本控制，可以被审查，最重要的是——**它们是确定性的**。\n\n工作流引擎支持多种节点类型：`prompt`（向AI发送提示）、`bash`（执行bash命令）、`command`（执行命令）、`loop`（循环）、`script`（运行脚本）、`approval`（等待人工审批）。节点之间通过`depends_on`定义依赖关系，通过`$nodeId.output`进行数据传递，形成一个有向无环图（DAG）。\n\n这种设计借鉴了Archon项目的工作流概念（在MIT许可下使用），但重新用TypeScript类型化了整个模式，并适配到Bun + SQLite的技术栈上。确定性工作流特别适合需要可审计、可重复的操作场景，如部署流程、数据处理管道或合规性要求高的任务。\n\n## 本地优先：数据主权与隐私\n\nKeelson的一个核心设计原则是**本地优先**。所有状态都存储在本地SQLite数据库中，凭证通过`keytar`安全地存储在系统钥匙串中，工作流在本地执行。这意味着敏感数据永远不会离开你的机器，对于处理机密代码、专有算法或受监管数据的场景尤为重要。\n\n浏览器界面运行在`http://127.0.0.1:5173`，只接受本地连接。CLI工具可以直接与服务器通信，也可以在服务器未运行时回退到进程内执行。这种设计既提供了Web界面的便利性，又保持了本地应用的隐私性。\n\n## 技术栈与开发体验\n\nKeelson采用现代化的技术栈：Bun作为运行时和包管理器，React 19 + Vite构建SPA界面，TypeScript提供类型安全，SQLite处理持久化。整个项目是一个Bun monorepo，使用工作区功能管理多个包。\n\n开发体验也被精心设计。`bun dev`命令同时启动服务器（端口7878）和Vite开发服务器（端口5173），并自动将SPA的`/api`请求代理到服务器。每个CLI命令都支持`--json`输出，方便脚本集成。`keelson doctor`命令可以进行全面的健康检查，覆盖工具链、服务器、数据库、认证和工作流验证五个方面。\n\n## 与现有工具的比较\n\n与GitHub Copilot的编辑器集成相比，Keelson提供了一个更通用的代理框架，不限于代码补全。与LangChain等编排框架相比，Keelson更专注于本地执行和确定性工作流。与各种AI Agent平台相比，Keelson的优势在于完全本地运行，无需订阅费用，数据不会离开你的机器。\n\n当然，Keelson也有其局限性。作为Alpha阶段的项目，API可能会变化，某些功能还不完整。它更适合技术能力较强的开发者，而不是寻求即开即用解决方案的普通用户。\n\n## 使用场景与目标用户\n\nKeelson特别适合以下场景：\n\n**多提供商策略**：希望在不同AI提供商之间灵活切换，避免 vendor lock-in 的团队。\n\n**敏感数据处理**：需要处理机密代码或数据，不能发送到云端服务的场景。\n\n**可审计工作流**：需要确定性、可重复、可版本控制的AI辅助流程，如自动化测试、文档生成或合规检查。\n\n**自定义工具集成**：有特定外部系统（如内部API、数据库、专有工具）需要与AI代理集成的场景。\n\n**技术探索**：希望深入理解AI代理工作原理，需要可hack的代码库的开发者。\n\n## 结语：回归工具的本质\n\n在AI工具日益复杂的今天，Keelson代表了一种回归本质的尝试：**简单、本地、可控**。它不试图成为下一个颠覆性的AI平台，而是专注于做好一件事——为开发者提供一个可靠、灵活、透明的AI代理框架。\n\n通过Rib架构实现的可扩展性，通过YAML工作流实现的可确定性，通过多提供商支持实现的灵活性，Keelson为那些希望真正掌控自己AI工具链的开发者提供了一个值得探索的选择。在数据主权和隐私日益受到重视的时代，这种本地优先的设计理念可能会吸引越来越多的关注。\n
