OpenHarness 是什么:这个开源 Agent Harness 能做什么

基于 HKUDS/OpenHarness 官方仓库与 README,总结 OpenHarness 的定位、核心功能、ohmo 个人助手能力,以及它适合哪些使用场景。

如果你最近在关注开源 AI Agent 工具,HKUDS/OpenHarness 是一个很值得留意的新项目。它不是单纯再做一个“会聊天的外壳”,而是把一个可运行、可扩展、可治理的 Agent 基础设施单独抽出来,做成了一个开源的 Agent Harness

按照官方 README 的说法,OpenHarness 主要提供的是一整套轻量级 Agent 基础能力,包括工具调用、技能加载、记忆机制、权限治理和多 Agent 协调;而它附带的 ohmo,则是建立在这套基础设施之上的个人 AI 助手应用。

01 OpenHarness 是什么

可以把 OpenHarness 理解成“给大模型装上手脚、记忆和边界”的运行层。

大模型本身擅长推理和生成,但如果你想让它真正成为一个可以长期工作的 Agent,通常还需要这些外围能力:

  • 调工具,而不是只输出文字
  • 读写文件、执行命令、访问搜索和网页能力
  • 在长会话里保留上下文和记忆
  • 对危险操作做权限控制
  • 把大任务拆给多个子 Agent 并行处理

OpenHarness 的目标,就是把这部分“围绕模型的工程层”做成一个清晰、开源、可检查的 Python 实现。它更像一个 Agent 操作底座,而不是单独强调某一种模型或某一个聊天界面。

02 这个项目的基本功能

从当前 GitHub 首页和 README 来看,OpenHarness 的核心能力主要集中在下面几块。

1. Agent Loop

这是 Agent 能连续工作的核心执行循环。官方列出的重点包括:

  • 流式工具调用循环
  • API 重试和指数退避
  • 并行工具执行
  • Token 统计和成本追踪

这部分的意义在于,Agent 不只是“一问一答”,而是可以在一次任务里连续观察、思考、调用工具、读取结果、再继续下一步。

2. 工具、Skills 和插件体系

OpenHarness 把工具层做得比较完整。项目主页提到它已经内置了文件、Shell、搜索、网页、MCP 等多类工具,并支持按需加载 Markdown 技能文件。

它的价值不只是“工具多”,更重要的是组合方式比较开放:

  • 可以直接使用内置工具
  • 可以按任务加载 skills
  • 可以通过插件扩展 hooks、skills 和 agents
  • 兼容 anthropics/skills 与相关插件生态

如果你希望把某些固定流程沉淀成可复用能力,而不是每次都靠 prompt 临时描述,这一层会很有用。

3. 上下文与记忆

这部分是 OpenHarness 很重要的差异点。官方给出的关键词包括:

  • CLAUDE.md 发现与注入
  • 自动上下文压缩
  • MEMORY.md 持久记忆
  • 会话恢复与历史延续

这意味着它不只是处理当前这一轮输入,而是会尽量把“项目约定”“历史任务”“长期偏好”保留下来,让 Agent 更适合持续工作,而不是每次从零开始。

4. 权限治理与安全边界

Agent 真正进入文件系统、终端和网络之后,治理就非常关键。OpenHarness 在这部分提供了:

  • 多级权限模式
  • 基于路径和命令的规则控制
  • PreToolUse / PostToolUse hooks
  • 交互式审批弹窗

简单说,它不只是让 Agent “能做事”,也考虑了“哪些事能直接做,哪些事必须先经过确认”。

5. 多 Agent 协调

OpenHarness 还支持把任务拆给子 Agent 处理。当前公开资料里提到的能力包括:

  • 子 Agent 创建与委派
  • 团队注册与任务管理
  • 后台任务生命周期管理

对复杂任务来说,这意味着它可以不只靠一个 Agent 串行推进,而是尝试做并行协作。

6. 多 Provider 工作流

OpenHarness 当前并不把 provider 只当成一个底层 API 名称,而是抽象成 workflow + profile。根据 README,当前支持的方向包括:

  • Claude / Anthropic-compatible
  • OpenAI-compatible
  • Codex Subscription
  • GitHub Copilot
  • Moonshot(Kimi)、GLM、MiniMax 等兼容后端

这让它更像一个“多模型、多入口”的 Agent 运行框架,而不是绑定某一家服务商。

7. React TUI 与非交互模式

OpenHarness 自带终端交互界面,运行 oh 后可以进入 React/Ink TUI。官方 README 提到它支持:

  • 命令选择器
  • 权限确认
  • 模型切换
  • Provider 切换
  • 会话恢复

如果你不想进入交互界面,也可以用非交互模式直接执行单次任务,例如把结果输出到标准输出、JSON 或流式 JSON,适合脚本化和自动化场景。

03 ohmo 是什么

如果说 OpenHarness 是底层基础设施,ohmo 就是建立在这套基础设施之上的“个人 Agent 应用”。

项目首页对 ohmo 的定位很明确:它不是普通聊天机器人,而是一个可以在长会话里持续工作的个人助手。官方描述里提到,它可以在 Feishu、Slack、Telegram、Discord 等渠道里与你交互,并执行诸如:

  • fork 分支
  • 写代码
  • 跑测试
  • 发起 PR

另外,README 还特别强调:ohmo 可以运行在你现有的 Claude Code 或 Codex 订阅之上,不一定要求额外申请新的 API key。对已经在使用这些订阅工具的人来说,这一点门槛比较低。

04 它适合什么场景

从这个项目当前公开出来的能力看,OpenHarness 比较适合下面几类人:

  • 想研究生产级 Agent 到底由哪些基础模块组成
  • 想自己搭建一个可扩展的开源 Agent 运行层
  • 想把工具、技能、记忆、权限、多 Agent 协调放到同一个框架里
  • 不希望被单一模型厂商或单一客户端形态绑定
  • 想基于现成架构继续做垂直领域 Agent 或个人助手

如果你的目标只是“找一个能直接聊天的成品助手”,那 OpenHarness 本体可能不是最轻量的选择;但如果你更关心 Agent 基础设施、工程可控性和后续扩展,这个项目就很值得研究。

05 快速理解它的定位

一句话总结:

OpenHarness 负责把大模型变成真正可执行任务的 Agent,ohmo 负责把这套能力包装成一个可以长期陪你工作的个人助手。

也可以把它拆成两层来看:

  • OpenHarness:开源 Agent Harness,本质是基础设施
  • ohmo:基于这套基础设施构建的 personal-agent app

截至 2026 年 4 月 12 日,项目 GitHub 首页显示它的更新已经推进到 v0.1.6(2026 年 4 月 10 日),重点继续放在自动上下文压缩、MCP 传输能力、React TUI 和多 Agent 运行稳定性上。这说明它目前仍处于快速演进阶段,但方向已经非常清晰。

参考链接

  • GitHub 项目主页:https://github.com/HKUDS/OpenHarness
  • 英文 README:https://github.com/HKUDS/OpenHarness/blob/main/README.md
  • 中文 README:https://github.com/HKUDS/OpenHarness/blob/main/README.zh-CN.md
记录并分享
使用 Hugo 构建
主题 StackJimmy 设计