如果之前看过我写的 Harness 相关内容,那这篇我就不再重复解释“什么是 Harness”了。
这次介绍的是一个新开源项目:OpenHarness。
香港大学数据科学研究所(HKUDS) 开源的 OpenHarness,4 月 1 日刚发布、已斩获 5k+ Star,还在飞速攀升。
一开始我以为会是又一个新的 Harness 框架,但我实际看了才发现根本不一样。
不同于之前我介绍的 OpenSpec、ECC、Trellis 这类项目。OpenHarness 本身就是一套可运行的、实现 Harness 架构的 Agent Runtime。
说得再简单一些,你可以理解成是更类似于 ClaudeCode/Codex,但是又在上层直接集成了 Harness 的新 TUI。
当然,身为 cc/codex 党,暂时还没有切换工具的打算。
所以我看到的第一反应不是“OpenHarness 能帮我做到什么程度”,而是:
又出现了一个可以认真拆架构的 Harness 实现。
它的项目Readme直接写了它的定位:Open Agent Harness。
从公开资料看,这个项目覆盖的不是单点能力,而是一整套 Agent 运行时链路:Agent Loop、43+ 工具、Skills、Memory、权限、Hooks、Tasks、多代理协调、CLI/TUI、插件生态系统。
我看这类项目有个很朴素的习惯:
先不听它讲得多牛逼,先看三件事——实际上手难度、支持什么能力、能做到什么程度
OpenHarness 在这三件事上,至少第一眼看过去是成立的。
它的结构也比较清楚,没有那种“功能很多,但不知道核心在哪”的感觉。项目里基本能看到几层很明确的划分:
engine:负责 Agent Looptools:负责工具注册和执行skills:负责按需加载知识plugins:负责扩展permissions/hooks:负责治理memory/tasks/coordinator:负责长期运行和协作ui:负责 CLI 和 TUI
说白了,它不是在回答“怎么做一个会调工具的聊天框”,而是在回答:
如果把 Agent 当成一个真正的系统,它的 Harness 底座应该怎么搭。
最简单的安装方式是一条脚本:
curl -fsSL https://raw.githubusercontent.com/HKUDS/OpenHarness/main/scripts/install.sh | bash
如果你想直接从源码装,也可以:
git clone https://github.com/HKUDS/OpenHarness.git cd OpenHarness uv sync –extra dev
依赖要求也比较标准,这些如果缺失的可以自行安装:
- Python 3.10+
uv- Node.js 18+(如果要用 React TUI)
- 一个可用的模型 API Key
后面按照终端的提示,或者在~/.openharness/settings.json 目录中进行环境配置。
# 这里是举例了kimi的接入 export ANTHROPIC_BASE_URL=https://api.moonshot.cn/anthropic export ANTHROPIC_API_KEY=your_kimi_api_key export ANTHROPIC_MODEL=kimi-k2.5
这里说一个坑,由于现在项目刚刚开始发展,版本号还处于 0.1.x 版本。如果你想试用的话,我建议主要使用 Linux/MacOS,至少截止4月6号,我自己在 Windows 上,包括 WSL 上都尝试了会报错。
最直接的方式就是进交互模式:
uv run oh
或者venv启动的话可以直接使用 oh 指令进入
如果你只是想丢一个 Prompt 测试,也很简单:
oh -p “解释这个代码库”
如果你想把它接到自动化流程里,它也支持结构化输出:
oh -p “列出main.py中的所有函数” –output-format json
或者流式 JSON:
oh -p “解决登录失败的问题” –output-format stream-json
这一点我还算是比较有意思。
因为很多项目的实际使用方式还是停留在“命令行聊天”,OpenHarness 至少已经把几种典型场景都考虑进去了:
- 人在回路里的交互式使用
- shell 脚本里的自动化调用
- 程序对程序的结构化消费
OpenHarness 支持三种主流供应商 API 形态:
- Anthropic
- OpenAI-compatible
- GitHub Copilot
以我们最常用的 OpenAI 兼容模式为例,你可以这么切:
uv run oh –api-format openai –base-url “https://dashscope.aliyuncs.com/compatible-mode/v1” –api-key “sk-xxx” –model “qwen3.5-flash”
也可以走环境变量(当然也可以像前面说的在配置文件中配置):
export OPENHARNESS_API_FORMAT=openai export OPENAI_API_KEY=sk-xxx export OPENHARNESS_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1 export OPENHARNESS_MODEL=qwen3.5-flash uv run oh
不局限于单一模型的这个思想,其实有点类似 OpenCode,但是又有些许不同。至少没有把自己绑死在某个模型供应商上。
OpenHarness 官方文档里已经比较清楚列举了,整体还是以 Harness 体系构建为核心,我就直接拿来了。
🔧 工具(43+)
每个工具都具备:
- pydantic 输入验证——结构化、类型安全输入
- 自描述 JSON 模式——模型会自动理解工具
- 权限集成——每次执行前检查
- 钩子支持 — PreToolUse/PostToolUse 生命周期事件
📚 技能系统
技能是按需知识——仅在模型需要时加载:
Available Skills:
- commit: Create clean, well-structured git commits
- review: Review code for bugs, security issues, and quality
- debug: Diagnose and fix bugs systematically
- plan: Design an implementation plan before coding
- test: Write and run tests for code
- simplify: Refactor code to be simpler and more maintainable
- pdf: PDF processing with pypdf (from anthropics/skills)
- xlsx: Excel operations (from anthropics/skills)
- ... 40兼容人类/技能——只需复制文件到。
.md”~/.openharness/skills/+ more🔌 插件系统
兼容 claude 代码插件。测试了 12 个官方插件:
插件 类型 它的作用commit-commands指挥 git提交、推送、PR工作流程security-guidance钩子 文件编辑的安全警告hookify命令 + 代理 创建自定义行为钩子feature-dev指挥 功能开发工作流程code-review代理人 多代理PR评审pr-review-toolkit代理人 专业的PR审核代理# Manage plugins oh plugin list oh plugin install <source> oh plugin enable <name>🤝 生态系统工作流程
OpenHarness 作为轻量级束层,适用于 Claude 风格的工具约定:
- 面向OpenClaw的工作流程可以重用Markdown优先的知识和命令驱动的协作模式。
- Claude风格的插件和技能保持可移植性,因为OpenHarness让这些格式保持熟悉。
- ClawTeam 风格的多智能体工作很好地映射到内置的团队、任务和背景执行原语。
关于具体的使用建议而非泛泛的声明,请参见
docs/SHOWCASE.md。🛡️ 权限
多级安全与细粒度控制:
模式 行为 使用场景 默认 写/执行前先问问 日常发展 自动 允许一切 沙盒环境 计划模式 阻止所有写入 大型重构,先复习路径层级规则在:
settings.json{ “permission”: { “mode”: “default”, “path_rules”: [{“pattern”: ”/etc/*”, “allow”: false}], “denied_commands”: [“rm -rf /”, “DROP TABLE *”] } }🖥️ 终端用户界面
React/Ink TUI 提供完整互动体验:
- 命令选择器:输入→方向键选择 → 进入
/ - 权限对话框:互动 y/n 含工具详情
- 模式切换器:→从列表中选择
/permissions - 会议简历:→历史中的精选
/resume - 动画旋转器:工具执行过程中的实时反馈
- 键盘快捷键:底部显示,上下文感知
📡 CLI
oh [OPTIONS] COMMAND [ARGS]
Session: -c/–continue, -r/–resume, -n/–name Model: -m/–model, –effort, –max-turns Output: -p/–print, –output-format text|json|stream-json Permissions: –permission-mode, –dangerously-skip-permissions Context: -s/–system-prompt, –append-system-prompt, –settings Advanced: -d/–debug, –mcp-config, –bare
Subcommands: oh mcp | oh plugin | oh auth
关键差异化能力
- Harness Engineering 方法论:不是”写代码然后手动测”,而是:spawn agent → 自动执行 → 自动验证 → 报告结果。整个开发循环都在 harness 内完成。
- Swarm 多 agent 协作:支持 coordinator 编排多个 in-process teammate 并发工作,不是只有单个 agent 独立对话。
- Provider 无关:同一套 harness 可以跑在 Claude、GPT、Kimi、DeepSeek、Gemini、本地 Ollama 等任何 LLM 上。OpenAI-compatible endpoint 开箱即用。
- 快速扩充中:现阶段直接对标 Claude Code 的核心能力(从其源码提取转写),同时在快速扩展到更多应用场景:
- 类 openclaw 的 auth 管理
- IM channel 集成(可以通过 Telegram/Slack 等使用)
- 一键安装 (
curl | bash) - 可换肤 TUI
为什么会关注 OpenHarness,不是我觉得它是标准答案,而是看看这个项目能不能给我带来新的思路。
如果你之前已经理解了 Harness 的重要性,那这次看 OpenHarness,重点就不该还是停留在“哦,原来 Harness 很重要”。
更值得看的,其实是:一个新的开源团队,正在怎么把 Harness 真正做成系统。
团队里到底如何推进构建,这个最终形态到底是什么样子,现在我还不清楚。
究竟是通过团队自己整理出一份自己的 Harness 架构组成清单呢,还是找到接入一套够轻量成熟完备的 Harness 框架?亦或是连入口工具都统一,OpenHarness 这种整合了 Harness 的入口工具?
像我以前的文章里说的,没有所谓的“标准答案”。
至少现在还没有。
OpenHarness 当然还早,可能现在连正常使用起来都费劲。
但至少它给了我们一个新的思考方向。
对我来说,这就够了。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/271428.html