跳到主要内容
项目档案命令行工具

OpenHarness 开源 AI 代理工具包:轻量级基础设施,一键安装 oh 命令,支持工具调用与多代理协调

OpenHarness 是一个开源的轻量级 AI 代理工具包,提供工具调用、技能管理、内存和多代理协调基础设施。通过单一 oh 命令启动,支持 43+ 工具、多提供商兼容和插件生态。适用于本地编码助手、自动化脚本、技能实验和多代理协调。本页详细介绍项目定位、安装方式、使用指南及技术架构。

15,803PythonStar 于 2026年4月4日2026年9月19日 更新

AI 总结

OpenHarness 是一个开源的轻量级 AI 代理工具包,通过单一 `oh` 命令提供工具调用、技能管理、内存和多代理协调基础设施,支持 43+ 工具与多提供商兼容,适用于本地编码助手、自动化脚本和代理实验。

中文项目介绍

OpenHarness(项目代号 oh)是一个开源的轻量级 AI 代理基础设施工具包,旨在简化 AI 代理应用的开发与实验。它通过单一命令 `oh` 启动,为核心代理能力提供统一框架,包括工具调用、技能加载、持久化内存和多代理协调。 项目解决 AI 代理开发中的基础设施碎片化问题,提供标准化的工具调用循环(支持流式、并行执行、API 重试与成本跟踪)、可扩展的技能与插件系统(兼容 Anthropic 生态),以及上下文管理与会话恢复机制。内置 43+ 工具覆盖文件、Shell、搜索、Web 和 MCP 协议,并支持多提供商后端(Anthropic、OpenAI、Copilot 等)。 技术架构采用模块化设计:核心引擎(engine/)处理代理循环与工具执行;API 层(api/)封装多提供商客户端;桥接层(bridge/)管理会话;通道系统(channels/)提供消息总线;协调器(coordinator/)支持多代理模式;钩子系统(hooks/)实现事件与热重载。前端基于 React+Ink 构建终端 UI,通过 _frontend 目录嵌入 Python 包。 适用场景包括:本地仓库感知编码助手(阅读、编辑、运行测试)、无头自动化(脚本/CI 中结构化输出)、技能与插件实验(自定义工作流)、多代理与后台任务管理、以及提供商兼容性测试床。安装可通过 pip 或一键脚本,使用涵盖交互式 TUI 与无头 JSON 输出,并通过 `oh setup` 统一配置 workflow/provider/profile 三层模型。

详细信息与使用说明

1. 项目定位与用途

OpenHarness 是一个开源的轻量级 AI 代理工具包,定位为“Open Agent Harness”,通过单一命令 `oh` 提供核心代理基础设施。它旨在降低 AI 代理开发门槛,使开发者能快速构建和实验具备工具使用、记忆、技能和多代理协调能力的智能体。项目强调开源协作,欢迎社区贡献 Harness 以丰富开放代理生态,适用于从个人编码助手到复杂多代理系统的各类场景。

2. 核心功能与特性

OpenHarness 提供三大核心能力:Agent Loop 引擎支持流式工具调用周期、API 重试(指数退避)、并行工具执行及 token 计数与成本跟踪;Harness Toolkit 包含 43+ 内置工具(文件、Shell、搜索、Web、MCP),支持按需加载 Markdown 技能和插件生态系统,兼容 anthropics/skills & plugins;Context & Memory 实现 CLAUDE.md 自动发现与注入、上下文自动压缩、MEMORY.md 持久化记忆及会话恢复与历史管理。这些特性共同构成了一个完整、可扩展的代理开发框架。

3. 技术架构与模块

项目采用模块化架构:核心引擎(engine/)实现代理循环与工具执行;API 层(api/)封装 Anthropic、OpenAI、Copilot 等多提供商客户端;桥接层(bridge/)管理会话运行器与工具桥接;通道系统(channels/)提供消息总线与适配器;协调器(coordinator/)处理多代理定义与协调模式;钩子系统(hooks/)支持事件、热重载与执行器。前端基于 React+Ink 构建终端 UI,通过 _frontend 目录嵌入 Python 包。测试覆盖 114 个 pytest 用例与 6 个 E2E 套件,确保稳定性。

4. 安装方式

OpenHarness 要求 Python >= 3.10 环境。安装方式有三种:1) 通过 pip 安装包:`pip install openharness-ai`,安装后使用 `oh`、`openharness` 或 `ohmo` 命令;2) 使用一键安装脚本:`curl -fsSL https://raw.githubusercontent.com/HKUDS/OpenHarness/main/scripts/install.sh | bash`;3) 从源码开发:克隆仓库后运行 `uv sync --extra dev`。项目使用 hatchling 构建,依赖项包括 anthropic、openai、textual 等,完整列表见 pyproject.toml。仓库中未明确给出容器化安装步骤。

5. 使用方式

OpenHarness 支持交互式与无头两种模式。交互式使用:直接运行 `oh` 启动终端 UI,进行自然语言对话与工具调用。无头模式:`oh -p "提示词" --output-format json` 或 `--output-format stream-json` 获取结构化输出,适用于脚本与 CI。统一配置通过 `oh setup` 引导选择 workflow、认证和模型。Provider 管理使用 `oh provider list/use/add`。技能扩展:将 Markdown 技能文件放入 `~/.openharness/skills/`;插件安装:部署至 `~/.openharness/plugins/`。多代理任务可通过提示词如 "Spawn a worker to..." 创建后台任务。

6. 适用场景与示例

OpenHarness 适用于多种场景:1) 仓库感知编码助手:阅读代码、编辑文件、运行测试,例如提示“Review this repo, identify the highest-risk bug, patch it, and run the relevant tests.”;2) 无头自动化:在 shell 管道或 CI 中获取 JSON 输出,如 `oh -p "Summarize the purpose" --output-format json`;3) 技能与插件实验:在 `~/.openharness/skills/` 和 `plugins/` 目录自定义工作流;4) 多代理与后台任务:协调多个代理或运行审计任务;5) 提供商兼容性测试床:比较 Anthropic、Moonshot、Vertex、Bedrock 等后端。详细示例见 docs/SHOWCASE.md。

思维导图

OpenHarness
核心引擎
代理循环
工具执行
并行调度
成本跟踪
API 层
Anthropic 客户端
OpenAI 客户端
Copilot 客户端
提供商注册
桥接层
会话运行器
工具桥接
工作密钥
通道系统
消息总线
适配器
上游集成
协调器
代理定义
协调模式
钩子系统
事件系统
热重载
执行器
命令行接口
命令注册
参数解析
配置管理
设置持久化
路径管理
模式验证

常见问题

OpenHarness 是什么?

OpenHarness 是一个开源的轻量级 AI 代理工具包,通过单一 `oh` 命令提供工具调用、技能管理、内存和多代理协调等基础设施,支持 43+ 工具和多提供商兼容,适用于本地编码助手、自动化脚本和代理实验。

如何安装 OpenHarness?

需要 Python >= 3.10 环境。可通过 pip 安装:`pip install openharness-ai`;或使用一键脚本:`curl -fsSL https://raw.githubusercontent.com/HKUDS/OpenHarness/main/scripts/install.sh | bash`;开发时可用 `uv sync --extra dev`。

OpenHarness 支持哪些 AI 提供商?

OpenHarness 支持多种 AI 提供商,包括 Anthropic、OpenAI、Copilot,以及通过兼容接口支持 Moonshot(Kimi)、Vertex、Bedrock 等。Provider 管理通过 `oh provider` 命令进行。

如何扩展 OpenHarness 的功能?

可通过技能和插件系统扩展:将 Markdown 技能文件放入 `~/.openharness/skills/` 目录;将插件部署至 `~/.openharness/plugins/` 目录。项目兼容 anthropics/skills & plugins 生态。

OpenHarness 的许可证是什么?

OpenHarness 采用 MIT 许可证,详见仓库中的 LICENSE 文件。