受够了聊天机器人,是时候用 OpenHarness 构建真正的智能体了
不知道你有没有这种感觉:ChatGPT 给了一个不错的代码建议,但要真正用上它,你得自己创建文件、粘贴代码、运行测试,然后再修复几个导入问题。我们已经习惯了把这种体验叫做"AI 辅助",但实际上它不过是加了聊天界面的高级搜索罢了。
几天前,我偶然发现了 HKUDS 团队的 OpenHarness 仓库。这帮人觉得聊天机器人已经够多了——是时候给语言模型装上"手"了。这个项目是一套用于构建自主智能体的基础设施,它不只是聊天,而是能活在你的终端里、浏览网页、自主编辑代码。
什么是 Agent Harnessing
作者们用了一个很贴切的词——Harness(驾驭)。道理很简单:单独的 LLM 不过是"罐子里的大脑"。要成为真正的智能体,它需要眼睛(上下文)、手(工具)和记忆。
OpenHarness 是一个 Python 框架,负责处理所有这些脏活累活:
- 管理 Agent Loop 循环(请求 — 流式输出 — 工具调用 — 重复)。
- 访问控制(防止智能体一不小心删掉你磁盘根目录)。
- 集成 MCP(Model Context Protocol)。
- 通过
MEMORY.md等文件组织记忆。
最棒的是,这个项目不绑定任何特定云服务商。你可以用 Claude 或 OpenAI,也可以通过 Ollama 接入本地模型。
OpenHarness 能做的五件事
我翻遍了源码和 README,以下是日常开发工作中最有用的功能。
开箱即用的工具集
仓库里已经实现了超过 40 个工具。不仅仅是"运行个 bash 脚本"那么简单。有通过 Grep 搜索文件、Jupyter notebook 支持、网页浏览,甚至还能启动其他智能体来委托任务。工具通过 Pydantic 进行类型定义,这样模型就能理解输入数据的 schema,减少不必要的幻觉。
技能系统
与其把系统提示词写成《战争与和平》的篇幅,OpenHarness 采用从 Markdown 文件动态加载技能的方式。如果智能体需要做代码审查,它就加载 review.md。如果需要部署项目——它就抓取对应的技能。这既节省 token,又让 AI 行为更可预测。
安全与访问级别
我一直很害怕给 AI 开终端权限。OpenHarness 通过权限模式解决了这个问题。在默认模式下,智能体在执行危险操作(写文件、执行命令)前会请求确认。还有 Plan 模式——智能体只能读取文件和提出修改建议,但不会真正动手。
个人助手 Ohmo
仓库里还有一个 ohmo 项目。这是一个现成的智能体应用,可以接入 Telegram、Slack 或 Discord。你在通讯软件里发消息,它就在你的工作站上创建 Git 分支、修复 bug、打开 PR。这通过已有的订阅(如 Claude Code 或 Codex)实现,不需要额外支付 API 调用费用。
Dry Run 模式
一个对调试很有用的功能。命令 oh --dry-run 可以显示加载了哪些配置、哪些密钥处于激活状态、模型可以使用哪些工具——但不会向付费云服务发送任何请求。
底层原理
项目架构相当透明。所有功能都拆分成独立的子系统:
- Engine:系统的心脏,管理模型的推理循环。
- Permissions:一层检查每个工具调用的规则(例如,阻止对
/etc/的编辑)。 - UI:用 React 和 Ink 构建的漂亮终端界面。是的,就在控制台里。
- Coordinator:处理多智能体场景,当一个任务被拆分成多个子任务交给"帮手"。
有意思的是,项目支持 MCP 协议。这意味着你可以给智能体连接任何上下文服务器——比如数据库或某个特定 API——它马上就能学会使用它。
实际应用场景
为什么要把这套东西引入你的工作流?
第一,自动化日常任务。你可以这样问智能体:"找出 src 文件夹里所有未使用的导入并清理掉,然后运行测试。"当它在文件里忙活的时候,你可以喝咖啡。
第二,处理不熟悉的遗留代码。智能体可以扫描项目、构建依赖图谱,然后用代码搜索工具解释某个模块是如何工作的。
第三,创建你自己的专业机器人。如果你的公司有特定的部署流程,只需要写一个 SKILL.md 描述步骤,你的智能体现在就知道如何按照你的方式部署项目了。
值得一试吗
项目看起来很有活力:114 个通过的测试和频繁的更新(就在几天前刚发布了 0.1.7 版本)。缺点嘛——文档有时候需要你深入代码去理解,而且虽然声称支持 Windows,但在 PowerShell 中需要用 openh 而不是短格式 oh。
如果你受够了从聊天窗口复制代码到 IDE,想体验一下智能体真正能做什么,OpenHarness 是一个很好的起点。至少它是少数几个试图让智能体基础设施变得可理解、可扩展的项目之一。
安装很简单:
curl -fsSL https://raw.githubusercontent.com/HKUDS/OpenHarness/main/scripts/install.sh | bash
oh setup
然后试着让它帮你修复一下你的小项目。结果可能会让你惊喜。
相关项目