一个真正开放的 agent 内核架构,参考 oh-my-openagent 的插件化设计和 rig 库的成熟生态系统。
- 最小化内核 - 只保留 agent 循环、事件总线、插件管理
- 一切皆插件 - 模型、工具、渠道、存储都作为插件加载
- MCP 优先 - 所有外部能力通过 MCP 提供
- 通用 LLM 抽象 - 不绑定任何特定库,支持多种 provider(rig、OpenAI、Anthropic 等)
- 插件化设计 - 参考 oh-my-openagent 的工厂模式和钩子系统
- Claude 理念 - 最小化核心,最大化扩展能力
open-harness/
├── apps/
│ └── kernel/ # 核心 kernel 二进制
├── crates/
│ ├── agent-kernel/ # 最小化 agent 内核
│ ├── plugin-system/ # 插件系统
│ ├── llm-providers/ # 通用 LLM provider 抽象
│ ├── mcp-bridge/ # 增强的 MCP 桥接
│ ├── agent-ports/ # 端口抽象
│ ├── state-abstraction/ # 状态抽象
│ ├── ecosystem-registry/ # 生态系统注册
│ ├── package-manager/ # 包管理器
│ └── unified-config/ # 统一配置
├── plugins/ # 插件目录
├── skills/ # 技能目录(MCP 服务器格式)
├── e2e/ # 端到端测试
├── docs/ # 文档
└── scripts/ # 脚本工具
# 构建
cargo build --workspace
# 运行 kernel
cargo run -p open-harness-kernel
# 运行测试
cargo test --workspace
# 运行端到端测试
make e2e
# 运行 lint
cargo clippy --workspace -- -D warningscargo run -p open-harness-kernel 默认读取仓库根目录的 config.yaml,并结合 governance/ 与 extensions_config.json 解析当前 runtime 配置。
# 开发模式
make dev
# 代码格式化
make fmt
# 完整检查(格式化 + lint + 测试 + e2e)
make check
# 预提交检查
make pre-commit- 最小化内核 - 只保留 agent 循环、事件总线、插件管理
- 一切皆插件 - 模型、工具、渠道、存储都作为插件加载
- MCP 优先 - 所有外部能力通过 MCP 提供
- 配置驱动 - 参考 oh-my-openagent 的分层配置系统
- 钩子系统 - 生命周期钩子支持扩展
- LLM 抽象 - 通用的 LLM provider 层,rig 只是其中一个实现
- 在
plugins/目录创建插件目录 - 创建
plugin.yaml清单 - 实现
Plugintrait
name: my-plugin
version: 0.1.0
description: My awesome plugin
authors:
- Your Name
type: generic
enabled: true
dependencies: []api- API 服务插件tool- 工具插件model- 模型插件storage- 存储插件channel- 渠道插件generic- 通用插件
Open Harness 真正做到了"Open":
- 开放架构 - 最小化内核,一切可扩展
- 开放生态 - 支持多种 LLM provider(不只是 rig)
- 开放协议 - MCP 优先,标准协议
- 开放贡献 - 插件化设计,易于贡献
MIT