1. 项目定位与用途
OpenHarness 是一个开源的轻量级 AI 代理工具包,定位为“Open Agent Harness”,通过单一命令 `oh` 提供核心代理基础设施。它旨在降低 AI 代理开发门槛,使开发者能快速构建和实验具备工具使用、记忆、技能和多代理协调能力的智能体。项目强调开源协作,欢迎社区贡献 Harness 以丰富开放代理生态,适用于从个人编码助手到复杂多代理系统的各类场景。
OpenHarness 是一个开源的轻量级 AI 代理工具包,提供工具调用、技能管理、内存和多代理协调基础设施。通过单一 oh 命令启动,支持 43+ 工具、多提供商兼容和插件生态。适用于本地编码助手、自动化脚本、技能实验和多代理协调。本页详细介绍项目定位、安装方式、使用指南及技术架构。
OpenHarness 是一个开源的轻量级 AI 代理工具包,通过单一 `oh` 命令提供工具调用、技能管理、内存和多代理协调基础设施,支持 43+ 工具与多提供商兼容,适用于本地编码助手、自动化脚本和代理实验。
OpenHarness 是一个开源的轻量级 AI 代理工具包,定位为“Open Agent Harness”,通过单一命令 `oh` 提供核心代理基础设施。它旨在降低 AI 代理开发门槛,使开发者能快速构建和实验具备工具使用、记忆、技能和多代理协调能力的智能体。项目强调开源协作,欢迎社区贡献 Harness 以丰富开放代理生态,适用于从个人编码助手到复杂多代理系统的各类场景。
OpenHarness 提供三大核心能力:Agent Loop 引擎支持流式工具调用周期、API 重试(指数退避)、并行工具执行及 token 计数与成本跟踪;Harness Toolkit 包含 43+ 内置工具(文件、Shell、搜索、Web、MCP),支持按需加载 Markdown 技能和插件生态系统,兼容 anthropics/skills & plugins;Context & Memory 实现 CLAUDE.md 自动发现与注入、上下文自动压缩、MEMORY.md 持久化记忆及会话恢复与历史管理。这些特性共同构成了一个完整、可扩展的代理开发框架。
项目采用模块化架构:核心引擎(engine/)实现代理循环与工具执行;API 层(api/)封装 Anthropic、OpenAI、Copilot 等多提供商客户端;桥接层(bridge/)管理会话运行器与工具桥接;通道系统(channels/)提供消息总线与适配器;协调器(coordinator/)处理多代理定义与协调模式;钩子系统(hooks/)支持事件、热重载与执行器。前端基于 React+Ink 构建终端 UI,通过 _frontend 目录嵌入 Python 包。测试覆盖 114 个 pytest 用例与 6 个 E2E 套件,确保稳定性。
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。仓库中未明确给出容器化安装步骤。
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..." 创建后台任务。
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 是一个开源的轻量级 AI 代理工具包,通过单一 `oh` 命令提供工具调用、技能管理、内存和多代理协调等基础设施,支持 43+ 工具和多提供商兼容,适用于本地编码助手、自动化脚本和代理实验。
需要 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 提供商,包括 Anthropic、OpenAI、Copilot,以及通过兼容接口支持 Moonshot(Kimi)、Vertex、Bedrock 等。Provider 管理通过 `oh provider` 命令进行。
可通过技能和插件系统扩展:将 Markdown 技能文件放入 `~/.openharness/skills/` 目录;将插件部署至 `~/.openharness/plugins/` 目录。项目兼容 anthropics/skills & plugins 生态。
OpenHarness 采用 MIT 许可证,详见仓库中的 LICENSE 文件。