离谱!AI 只会聊天也敢叫 Agent?14.9k Star OpenHarness 给它套上“安全马具”

20 阅读5分钟

嗨,我是小华同学,专注解锁高效工作与前沿AI工具!每日精选开源技术、实战技巧,助你省时50%、领先他人一步。👉免费订阅,与10万+技术人共享升级秘籍!

你以为 Agent 有了大模型就能交付?现实不是这样。

它可能知道该读文件、改代码、跑测试,但真正决定 Agent 能不能稳定干活的,是工具怎么接、权限怎么控、上下文怎么续、失败怎么重试。

这篇用 3 分钟讲清 OpenHarness:给模型套上一层 Harness,让 AI 从“会聊天”变成“能在边界内做事”。

OpenHarness 封面:给 Agent 套上安全马具

这个项目是什么

OpenHarness 是一个面向开源社区的 Agent Harness,项目入口命令是 oh,另外还提供基于它构建的个人 Agent ohmo

一句话理解:模型负责决定做什么,Harness 负责决定怎么做、能不能做,以及做完之后留下什么结果。

维度OpenHarness 提供的能力
Agent Loop流式 Tool Call、重试、并行执行、Token 与成本跟踪
工具体系43+ 工具,覆盖文件、Shell、搜索、Web、MCP 等
知识扩展Markdown Skills 按需加载,支持插件、Hooks 和 Agents
上下文CLAUDE.md 注入、MEMORY.md 持久记忆、会话恢复、自动压缩
安全治理多级权限、路径规则、命令拦截、PreToolUse/PostToolUse Hooks
协作能力子 Agent、团队注册、任务生命周期和后台任务

截至 2026 年 7 月 19 日,官方仓库页面显示约 14.9k Star、2.4k Fork,使用 MIT 协议,主要技术栈是 Python,并配套 React/Ink TUI。

别把 Agent 只理解成一个聊天框

很多 Agent Demo 看起来很聪明:输入一句话,模型给出一段漂亮回答。

但真正进入项目后,问题马上变成:

  • 它能不能读到正确的文件?
  • 它有没有权限执行危险命令?
  • 工具失败后会不会无限重试?
  • 上一轮会话的上下文还能不能接上?
  • 多个 Agent 同时工作时,任务和结果怎么管理?

这就是 Harness 的价值。它不是替代模型,而是把模型放进一个有工具、有观察、有记忆、有边界的运行环境里。

官方项目原图:模型思考、Harness 执行、任务完成

上图其实可以浓缩成一句话:模型决定 WHAT,Harness 处理 HOW。

白板手绘创作图:从“只会想”到“可控地做事”

OpenHarness 真正补齐了什么

1. 把 Agent Loop 做成基础设施

OpenHarness 不只是发起一次模型调用,而是围绕“请求、流式响应、Tool Call、执行结果、继续循环”组织运行时。

工具执行前后还可以经过权限检查和 Hook。这样,Agent 的每一步都有机会被观察、限制和记录。

2. 把 Skills 和 Plugins 变成可插拔能力

项目支持按需加载 Markdown Skills,也支持插件、命令、Hooks、Agents 与 MCP 服务。

对开发者来说,这意味着你可以把领域知识和操作规范写成可复用模块,而不是把所有规则硬塞进一个超长 System Prompt。

3. 把“记忆”从一句口号变成文件和会话机制

CLAUDE.md 可以参与上下文注入,MEMORY.md 用于持久知识,Session Resume 和 Auto-Compact 则负责让长任务不至于因为上下文压缩而失忆。

这对代码 Agent 尤其重要:真正的开发任务往往不是一次问答,而是连续几小时甚至几天的协作。

4. 把权限放到 Agent 的主流程里

文件路径、命令规则、交互式审批、PreToolUse/PostToolUse Hooks,构成了一个更明确的治理层。

它不能替你自动消灭所有风险,但至少让“模型说要做什么”和“系统允许它做什么”分成两件事。

最值得收藏的功能:oh --dry-run

这是 OpenHarness 很适合工程团队的一点:先预演,再执行。

oh --dry-run
oh --dry-run -p "Review this bug fix and grep for failing tests"
oh --dry-run -p "Explain this repository" --output-format json

Dry-run 会解析当前的配置、认证状态、Prompt、Skills、Commands、Tools 和 MCP 配置,但不会调用模型、执行工具、启动子 Agent 或连接 MCP Server。

它还会给出三种 readiness 结论:

结果你应该怎么理解
ready当前配置基本可以直接运行
warning能解析,但存在认证或 MCP 等待处理的问题
blocked按当前状态继续执行大概率会失败

白板板书创作图:OpenHarness 的 dry-run 预演流程

这类设计的意义不在于多一个参数,而在于它把 Agent 运行前的“可解释检查”变成了标准流程:先知道它准备调用什么,再决定是否真的放行。

3 分钟跑起来

pip install openharness-ai
oh setup
oh -p "Explain this repository"

如果想从源码体验:

git clone https://github.com/HKUDS/OpenHarness.git
cd OpenHarness
uv sync --extra dev
uv run oh

想体验个人 Agent,可以继续:

ohmo init
ohmo config
ohmo gateway start

项目文档还提供 Claude、OpenAI、Codex、GitHub Copilot 以及多种兼容接口的 Provider Workflow。Windows PowerShell 下,官方建议使用 openh,避免和系统的 Out-Host 别名冲突。

它适合谁

人群值得看的原因
Agent 开发者研究工具调用、上下文、权限与多 Agent 的组合方式
AI 应用团队参考一套从 Prompt 到运行时治理的工程骨架
Python 开发者可以从清晰的模块边界入手扩展工具、Provider 和插件
想做个人 Agent 的人ohmo 可接入飞书、Slack、Telegram、Discord 等渠道

但也要保持清醒:OpenHarness 是 Agent 基础设施,不是“装上就自动完成一切”的万能机器人。 你仍然需要配置 Provider、认证和权限;真正用于生产环境时,还要自己评估数据边界、命令白名单、成本和失败恢复策略。

小华的判断

OpenHarness 最值得关注的地方,不是又做了一个聊天界面,而是它把 Agent 最容易被忽略的部分摆到了台面上:工具、记忆、观察、行动和权限。

当大家都在讨论“哪个模型更聪明”时,Harness 提醒我们:Agent 能不能稳定交付,往往取决于模型之外的那一整层工程系统。

如果你正在做代码 Agent、MCP 工具、个人 AI 助手或多智能体协作,OpenHarness 很适合拿来做一次结构化拆解。后续可以继续研究它的 Tool Registry、权限检查、Provider Workflow 和 ohmo Gateway。

项目地址

github.com/HKUDS/OpenH…