当前位置: 首页 > article >正文

港大开源 【OpenHarness】 深度剖析:1.1 万行代码解构 Agent 架构,把黑盒变白盒

港大开源 【OpenHarness】 深度剖析1.1 万行代码解构 Agent 架构把黑盒变白盒写在前面香港大学数据科学研究所HKUDS开源的 OpenHarness 项目上线两天斩获 1.9K Star10 天突破 9.5K Star——这个速度在 AI Agent 领域极为罕见。为什么因为它用1.1 万行 Python 代码实现了 Claude Code 50 万行代码的98% 核心功能而且开源、白盒、可定制。OpenHarness 的核心定位是Agent Harness——围绕 LLM 构建的完整基础设施让 LLM 从只会说话变成能做事。今天我们从概念定义、核心机制到生态定位彻底拆解 OpenHarness。 文章目录 一、什么是 Agent Harness从模型到智能体的关键一跃⚙️ 二、OpenHarness 核心机制五大子系统 三、Ohmo、多 Provider 与白盒化 Agent 的未来 一、什么是 Agent Harness从模型到智能体的关键一跃1.1 模型 ≠ 智能体很多人把 LLM 和 Agent 混为一谈——这是根本性的误解。**LLM大语言模型**是一个只会说话的系统。你给它一段文本它返回一段文本。它不能读写文件、不能执行命令、不能搜索网页、不能记住昨天做了什么。LLM 是大脑——能推理、规划、决策但没有手和记忆。**Agent智能体**是一个能做事的系统。它不仅能推理还能调用工具执行操作、维护持久化记忆、遵守安全规则、协调多个子 Agent。Agent LLM Harness。**Harness基础设施层**就是让 LLM 从只会说话变成能做事的关键一跃。OpenHarness 给出了精确定义Agent Harness 是围绕 LLM 构建的完整基础设施使 LLM 成为一个功能完备的智能体。模型提供智能Harness 提供手、记忆和安全规则。1.2 两层架构模型层 框架层OpenHarness 将 Agent 系统清晰地拆分为两个层次模型层Agent。提供推理、规划和决策能力。这一层就是 LLM 本身——Claude、GPT-4o、DeepSeek、Llama 等。模型层不关心怎么做只关心做什么和为什么做。框架层Harness。提供工具调用、权限控制、记忆存储、多 Agent 协调。这一层是 OpenHarness 的核心——它定义了 Agent “能做什么”工具、“记住什么”记忆、“不能做什么”安全规则、“怎么协作”多 Agent。这种分离的好处是显而易见的模型可以随时替换框架保持不变。你今天用 Claude明天换 DeepSeek后天换本地 Ollama——Harness 层的工具、记忆、安全策略完全复用。1.3 为什么 OpenHarness 能用 1.1 万行代码实现 98% 功能Claude Code 约 50 万行代码OpenHarness 约 1.1 万行——代码量差 45 倍但核心功能覆盖 98%。为什么原因一不做模型训练。OpenHarness 不碰模型层——它只做 Harness 层。模型训练、微调、对齐的代码量巨大但 OpenHarness 完全不需要。原因二不做 UI 渲染。Claude Code 有完整的 VS Code 扩展和 Web 界面OpenHarness 只有一个轻量 React/Ink TUI——终端界面。原因三Python 生态复用。OpenHarness 大量复用 Python 生态——文件操作用标准库、Shell 执行用 subprocess、搜索用 grep/find、Web 用 httpx。不需要从零实现。原因四精炼而非简陋。1.1 万行代码不是砍功能而是精炼设计。每个模块只做一件事做好一件事——Unix 哲学。⚙️ 二、OpenHarness 核心机制五大子系统2.1 工具系统43 个工具 54 个命令OpenHarness 内置 43 个工具、54 个命令覆盖 Agent 日常操作的绝大部分需求文件操作。读写文件、创建目录、搜索文件内容、移动/复制/删除文件。这是 Agent 最基础的能力——没有文件操作Agent 无法与代码库交互。Shell 执行。执行任意命令行命令、运行脚本、管理进程。Shell 是 Agent 的万能工具——任何没有专用工具的操作都可以通过 Shell 完成。搜索工具。grep 搜索文件内容、find 搜索文件路径、代码搜索支持正则表达式。搜索是 Agent 的眼睛——没有搜索Agent 只能盲目操作。Web 访问。HTTP 请求、网页抓取、API 调用。Web 工具让 Agent 能访问互联网——获取文档、查询 API、下载资源。MCP 协议。Model Context Protocol 集成——连接外部工具服务器。MCP 是 Agent 工具生态的USB 接口——任何 MCP 兼容的工具都可以即插即用。Skills技能文件。Markdown 格式的技能定义——把重复工作流封装成可复用能力。例如代码审查 Skill、“部署 Skill”、“测试 Skill”。2.2 安全系统三层防护Agent 的安全是生产环境的头等关切——一个没有安全约束的 Agent 可能删除重要文件、泄露敏感信息、执行危险命令。OpenHarness 提供三层安全防护第一层路径和命令白名单。基于路径和命令的访问控制——Agent 只能在允许的目录中操作只能执行允许的命令。这是硬约束——即使 Agent 想越界系统也会阻止。第二层PreToolUse / PostToolUse 钩子。工具调用前后的拦截点——在工具执行前检查参数、在工具执行后检查结果。这是软约束——可以基于上下文动态决定是否允许。第三层交互式审批。敏感操作弹出确认提示——Agent 想执行rm -rf先问用户。这是人机协作——把最终决定权交给人类。三层防护不是互斥的而是叠加的——路径白名单是基础防线钩子是动态防线交互审批是最后防线。2.3 记忆系统MEMORY.mdLLM 的上下文窗口有限——长对话中早期信息会被遗忘。OpenHarness 的记忆系统通过MEMORY.md文件实现持久化记忆自动记忆。Agent 在工作过程中自动将重要信息写入 MEMORY.md——项目结构、关键决策、已完成的任务、待办事项。跨会话持久化。MEMORY.md 存储在文件系统中不是上下文窗口中——即使关闭终端、重启 Agent记忆也不会丢失。项目级记忆。每个项目有自己的 MEMORY.md——不同项目的记忆互不干扰。Agent 进入新项目时自动读取该项目的 MEMORY.md 恢复上下文。CLAUDE.md 约定。项目根目录的 CLAUDE.md 文件定义项目约定——代码风格、架构决策、工具偏好。Agent 自动发现并遵守这些约定。2.4 多 Agent 协调复杂任务需要多个 Agent 协作——一个 Agent 写代码另一个 Agent 审查代码第三个 Agent 运行测试。OpenHarness 支持多 Agent 协调子 Agent 创建和委派。主 Agent 可以创建子 Agent将子任务委派给子 Agent 执行。子 Agent 完成后结果返回给主 Agent。团队注册和任务管理。Agent 可以注册为团队成员接受任务分配。任务管理器跟踪每个 Agent 的状态和进度。后台任务生命周期管理。长时间运行的任务可以在后台执行——Agent 不需要等待可以继续处理其他任务。2.5 插件生态hooks skills agentsOpenHarness 的插件系统是三层扩展架构第一层内置工具。43 个开箱即用的工具——文件、Shell、搜索、Web、MCP。新手直接用零配置。第二层Skills。Markdown 技能文件——把重复工作流封装成可复用能力。例如代码审查 Skill定义了审查流程、检查项、输出格式。第三层Plugins。hooks skills agents 的完整插件包——完全自定义 Agent 的行为。可以添加新工具、修改安全策略、定义新的工作流。三层扩展的设计哲学新手用内置工具就能上手高手用 Skills 封装工作流专家用 Plugins 构建生态。 三、Ohmo、多 Provider 与白盒化 Agent 的未来3.1 Ohmo内置个人 AgentOpenHarness 内置了一个名为Ohmo的个人 Agent——一条命令启动即刻可用$ oh# 启动 OhmoOhmo: Hi!Im Ohmo, your personal agent.帮我重构这个模块搜索所有 TODO 注释运行测试并修复失败的用例Ohmo 的核心特性自动发现 CLAUDE.md。进入项目目录时Ohmo 自动读取 CLAUDE.md 项目约定——代码风格、架构决策、工具偏好。不需要手动配置。持久化 MEMORY.md。Ohmo 自动维护 MEMORY.md——记录项目结构、关键决策、已完成的任务。跨会话保持上下文。React TUI 终端界面。基于 React/Ink 的终端 UI——命令选择器CtrlP、权限确认、模型切换/model、Provider 切换、会话恢复。非交互模式。oh --non-interactive适合 CI/CD 和自动化场景——不需要人工干预Agent 自主完成任务。3.2 多 Provider 工作流OpenHarness 不绑定单一模型提供商——它将 Provider 抽象为工作流 配置文件组合Claude / Anthropic 兼容。原生支持 Claude 系列模型——Claude Sonnet、Claude Opus。OpenAI 兼容。支持 GPT-4o、o3 等 OpenAI 模型。DeepSeek 兼容。支持 DeepSeek V3、R1 等模型。Ollama 本地模型。支持通过 Ollama 运行本地模型——Llama、Qwen、Mistral 等。Codex 订阅模式。支持 OpenAI Codex 订阅。GitHub Copilot 兼容。支持 Copilot 后端。国产模型。兼容 MoonshotKimi、GLM、MiniMax 等国产模型。多 Provider 的核心价值不同任务用不同模型。简单任务用便宜模型DeepSeek V3复杂推理用强模型Claude Opus本地敏感任务用 Ollama——成本和性能的最优平衡。3.3 白盒化 AgentOpenHarness 的真正价值Claude Code 是黑盒——你不知道它内部怎么决策、怎么调用工具、怎么处理错误。你只能信任它。OpenHarness 是白盒——每一行代码都可审查、每一步执行都可追踪、每一个工具都可定制。你可以验证它。这不是开源情怀而是生产必需安全审计。企业必须知道 Agent 在做什么——它访问了哪些文件执行了哪些命令发送了哪些网络请求黑盒 Agent 无法回答这些问题。定制化。不同场景需要不同的工具和安全策略——开发 Agent 需要文件和 Shell 工具研究 Agent 需要 Web 和搜索工具运维 Agent 需要监控和部署工具。黑盒 Agent 的工具集是固定的。成本控制。白盒才能优化 Token 消耗和工具调用——你可以看到每一步的 Token 用量、工具调用次数、延迟分布。黑盒 Agent 的成本是盲盒。可复现。白盒才能复现和调试 Agent 行为——同样的输入同样的工具同样的安全策略应该得到同样的输出。黑盒 Agent 的行为不可复现。3.4 四大应用场景软件开发。代码生成、重构、调试、测试。43 个工具覆盖完整开发流程。CLAUDE.md 保持项目约定。MEMORY.md 积累项目知识。研究分析。文献搜索、数据分析、报告生成。Web 工具 文件工具 搜索工具组合。MEMORY.md 积累领域知识。运维自动化。日志分析、部署脚本、监控配置。Shell 工具 安全沙箱。权限控制防止误操作。数据处理。ETL 流程、数据清洗、可视化。文件工具 Shell 工具。多 Agent 并行处理大数据集。 总结速查卡OpenHarness 核心概念概念一句话解释Agent Harness围绕 LLM 构建的完整基础设施——让 LLM 从说话到做事两层架构模型层推理/规划/决策 框架层工具/安全/记忆/协作1.1 万行代码实现 Claude Code 50 万行的 98% 核心功能——精炼而非简陋43 工具 / 54 命令文件/Shell/搜索/Web/MCP/Skills——覆盖日常操作三层安全路径白名单 PreToolUse/PostToolUse 钩子 交互式审批MEMORY.md持久化记忆——跨会话、项目级、自动维护Ohmo内置个人 Agent——一条命令启动即刻可用多 ProviderClaude/OpenAI/DeepSeek/Ollama/Codex/Copilot/国产模型一句话总结OpenHarness 是港大 HKUDS 开源的 Agent Harness——用 1.1 万行 Python 代码实现了 Claude Code 50 万行的 98% 核心功能。核心定位是模型提供智能Harness 提供能力——两层架构模型层框架层将 LLM 和基础设施解耦。五大子系统工具系统 43 工具/54 命令、安全系统三层防护、记忆系统 MEMORY.md、多 Agent 协调、插件生态三层扩展覆盖 Agent 开发的完整需求。内置 Ohmo 个人 Agent 一条命令启动兼容 Claude/OpenAI/DeepSeek/Ollama 等 6 Provider。OpenHarness 的真正价值不是开源替代而是白盒化 Agent——每一行代码可审查、每一步执行可追踪、每一个工具可定制。Agent 的未来不是更强的黑盒而是更透明的白盒。参考链接OpenHarness GitHubOpenHarness 深入浅出OpenHarness 功能介绍 (KnightLi)Agent Harness Survey (Preprints)

相关文章:

港大开源 【OpenHarness】 深度剖析:1.1 万行代码解构 Agent 架构,把黑盒变白盒

港大开源 【OpenHarness】 深度剖析:1.1 万行代码解构 Agent 架构,把黑盒变白盒 写在前面:香港大学数据科学研究所(HKUDS)开源的 OpenHarness 项目,上线两天斩获 1.9K Star,10 天突破 9.5K Star…...

从YUYV到MJPEG:一次搞懂Linux V4L2摄像头像素格式的坑,附帧数据保存实战

从YUYV到MJPEG:深入解析Linux V4L2摄像头像素格式与实战避坑指南 当你在Linux系统下通过V4L2框架采集摄像头数据时,是否遇到过保存的图片无法打开、颜色显示异常或者帧数据莫名其妙损坏的情况?这些问题的根源往往在于对像素格式的理解不足。本…...

【故障诊断】DSCNN-HA-TL:融合Swin窗口注意力和全局注意力机制的变工况轴承故障诊断(迁移学习/小样本)

在工业旋转机械中,滚动轴承是最关键、也最容易发生故障的部件之一。然而,变工况、故障样本稀缺、跨域泛化能力差三大难题,长期制约着故障诊断模型的落地效果。 近期,来自河北工程大学、天津大学等机构的研究团队提出了一种全新的…...

原神玩家信息查询完整指南:如何快速掌握账号详情

原神玩家信息查询完整指南:如何快速掌握账号详情 【免费下载链接】GenshinPlayerQuery 根据原神uid查询玩家信息(基础数据、角色&装备、深境螺旋战绩等) 项目地址: https://gitcode.com/gh_mirrors/ge/GenshinPlayerQuery 还在为无法全面了解自己的原神账…...

手把手调SerDes眼图:从FFE系数配置到示波器实测避坑指南

手把手调SerDes眼图:从FFE系数配置到示波器实测避坑指南 在高速数字电路设计中,SerDes(串行器/解串器)技术已经成为现代通信系统的核心。无论是数据中心的光模块,还是消费电子中的USB4接口,SerDes都扮演着关…...

从指标到版图:基于Cadence与gmid方法的两级运放实战设计

1. 两级运放设计入门:从指标到晶体管的思维转换 第一次接触两级运放设计时,我盯着性能指标表发呆了半小时。AV≥10M、CL10pf、SR10V/us这些数字就像天书,直到导师扔给我一本《模拟集成电路设计艺术》和一份Cadence使用手册。现在回想起来&…...

2025 上海 GEO 优化公司最新权威推荐:技术领航者与合作指南

一、核心关键词GEO 优化、生成式引擎优化、AI 搜索流量、上海 GEO 公司、本地服务 GEO、跨境 GEO、DeepSeek 排名优化、豆包排名优化、装修行业 GEO、B2B 获客优化、全域 AI 营销、合规 GEO 服务二、GEO 简介及上海市场现状分析1. GEO 核心定义GEO(Generative Engin…...

国产 KVM 兼容痛点及全国产定制方案

作为标准 KVM、军工加固 KVM 产品经理,在一些项目落地过程中,我发现一个普遍问题:国产服务器、国产系统越来越普及,但市面上绝大多数 KVM 切换器,兼容性问题频发,已经成为运维短板。一、当前 KVM 最常见的兼…...

突破性能瓶颈:Photoshop图层批量导出工具的架构解析与工作流优化

突破性能瓶颈:Photoshop图层批量导出工具的架构解析与工作流优化 【免费下载链接】Photoshop-Export-Layers-to-Files-Fast This script allows you to export your layers as individual files at a speed much faster than the built-in script from Adobe. 项目…...

Termux零门槛部署Kali:从命令行到可视化桌面的完整实践

1. 为什么要在手机上部署Kali Linux? 几年前我第一次听说能在手机上运行Kali Linux时,第一反应是"这玩意儿能用吗?"。但当我真正尝试后才发现,这种便携式的渗透测试环境简直太香了!想象一下,在地…...

3分钟终极解决方案:Windows系统完美识别iPhone USB网络共享的完整免费指南

3分钟终极解决方案:Windows系统完美识别iPhone USB网络共享的完整免费指南 【免费下载链接】Apple-Mobile-Drivers-Installer Powershell script to easily install Apple USB and Mobile Device Ethernet (USB Tethering) drivers on Windows! 项目地址: https:/…...

问卷星 vs 腾讯问卷 vs 金数据:2026主流问卷工具AI开放能力最新横评

作为问卷调研行业的深度观察者,老N近期注意到调研工具链正在发生一场静悄悄的革命。最近,问卷星正式上线了AI工具包(wjx-ai-kit),其CLI(命令行工具)支持多达67个子命令,并适配了Clau…...

Arm Neoverse CMN-650信号接口架构与设计解析

1. Arm Neoverse CMN-650信号接口架构解析在现代SoC设计中,一致性互连网络如同城市交通系统,负责协调各个功能区块的数据流动。Arm Neoverse CMN-650作为第五代一致性网状网络IP,其信号接口设计体现了高性能计算对带宽、延迟和可靠性的极致追…...

手把手教你为全志Tina Linux添加新SPI屏驱动:以GC9306和HX8357C为例

全志Tina Linux SPI屏驱动移植实战:从裸机到内核框架的完整指南 在嵌入式Linux开发中,LCD显示屏的驱动移植是一个常见但颇具挑战性的任务。不同于裸机环境下的直接寄存器操作,Linux内核要求驱动程序遵循特定的框架和规范。本文将深入探讨如何…...

TVA 在宠物混合监护场景中的创新应用(1)

重磅预告:本专栏将独家连载新书《智能体视觉技术与应用》(系列丛书)部分精华内容,该书是世界首套系统阐述“因式智能体”视觉理论与实践的专著,特邀美国 TypeOne 公司首席科学家、斯坦福大学博士 Bohan 担任技术顾问。…...

TVA 在宠物混合监护场景中的创新应用(5)

重磅预告:本专栏将独家连载新书《智能体视觉技术与应用》(系列丛书)部分精华内容,该书是世界首套系统阐述“因式智能体”视觉理论与实践的专著,特邀美国 TypeOne 公司首席科学家、斯坦福大学博士 Bohan 担任技术顾问。…...

Sekai Stickers:如何用这款开源工具快速创建个性化Discord表情包

Sekai Stickers:如何用这款开源工具快速创建个性化Discord表情包 【免费下载链接】sekai-stickers Project Sekai sticker maker 项目地址: https://gitcode.com/gh_mirrors/se/sekai-stickers 在Discord社区交流中,表情包已经成为表达情感、活跃…...

怎样高效搭建AI多智能体交易系统:3步快速部署完整方案

怎样高效搭建AI多智能体交易系统:3步快速部署完整方案 【免费下载链接】TradingAgents-AI.github.io TradingAgents: Multi-Agents LLM Financial Trading Framework 项目地址: https://gitcode.com/GitHub_Trending/tr/TradingAgents-AI.github.io 想要让AI…...

TVA 在宠物混合监护场景中的创新应用(4)

重磅预告:本专栏将独家连载新书《智能体视觉技术与应用》(系列丛书)部分精华内容,该书是世界首套系统阐述“因式智能体”视觉理论与实践的专著,特邀美国 TypeOne 公司首席科学家、斯坦福大学博士 Bohan 担任技术顾问。…...

利用Taotoken用量看板精细化管理团队API消耗

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 利用Taotoken用量看板精细化管理团队API消耗 对于依赖大模型API进行开发的团队而言,清晰、透明地掌握资源消耗情况是成…...

SystemVerilog中logic数据类型:统一reg与wire的设计实践

1. 项目概述:从“reg”到“logic”的思维跃迁如果你写过Verilog,那么对reg和wire这两个数据类型一定再熟悉不过了。在RTL设计的世界里,我们习惯了用reg来描述寄存器,用wire来描述连线,这几乎成了一种肌肉记忆。但当你开…...

MoviePilot媒体元数据服务连接异常的技术诊断与系统解决方案

MoviePilot媒体元数据服务连接异常的技术诊断与系统解决方案 【免费下载链接】MoviePilot NAS媒体库自动化管理工具 项目地址: https://gitcode.com/gh_mirrors/mo/MoviePilot MoviePilot作为专业的NAS媒体库自动化管理工具,其核心功能依赖于TheMovieDb&…...

SafetyNet-Fix 深度技术实现:绕过谷歌硬件认证的底层机制剖析

SafetyNet-Fix 深度技术实现:绕过谷歌硬件认证的底层机制剖析 【免费下载链接】safetynet-fix Google SafetyNet attestation workarounds for Magisk 项目地址: https://gitcode.com/gh_mirrors/sa/safetynet-fix SafetyNet-Fix 是一个专门针对 Magisk 框架…...

Flowable工作流实战:手把手教你安全删除运行中的任务(附完整SQL与避坑指南)

Flowable工作流实战:安全删除运行中任务的完整指南 在业务流程管理系统中,Flowable作为一款轻量级的工作流引擎,因其高效的流程执行能力和灵活的扩展性而广受开发者青睐。然而在实际开发过程中,我们难免会遇到需要强制删除运行中任…...

基于MCP协议构建加密货币数据查询工具:coinpaprika-mcp详解

1. 项目概述:一个连接加密货币数据世界的桥梁 最近在折腾一个需要实时获取多种加密货币数据的项目,从价格、市值到社区动态,需求五花八门。市面上数据源不少,但要么API调用限制太死,要么数据维度不够全,要…...

零基础入门:labelCloud如何让你轻松完成3D点云标注工作

零基础入门:labelCloud如何让你轻松完成3D点云标注工作 【免费下载链接】labelCloud A lightweight tool for labeling 3D bounding boxes in point clouds. 项目地址: https://gitcode.com/gh_mirrors/la/labelCloud 你是否正在寻找一款简单易用的3D点云标注…...

如何快速掌握明日方舟自动化助手:5大核心功能告别重复操作

如何快速掌握明日方舟自动化助手:5大核心功能告别重复操作 【免费下载链接】MaaAssistantArknights 《明日方舟》小助手,全日常一键长草!| A one-click tool for the daily tasks of Arknights, supporting all clients. 项目地址: https:/…...

OpenRGB:一站式开源RGB灯光控制神器,彻底摆脱厂商软件束缚!

OpenRGB:一站式开源RGB灯光控制神器,彻底摆脱厂商软件束缚! 【免费下载链接】OpenRGB Open source RGB lighting control that doesnt depend on manufacturer software. Supports Windows, Linux, MacOS. Mirror of https://gitlab.com/Calc…...

独立硬件看门狗芯片Air153C:提升嵌入式系统可靠性的终极方案

1. 项目概述:为什么我们需要一颗独立的看门狗芯片?最近在做一个户外数据采集终端的项目,设备部署在野外,需要长期稳定运行。最头疼的问题不是功能实现,而是如何应对各种意想不到的“死机”。电源波动、电磁干扰、程序跑…...

告别硬编码:模板引擎的加载逻辑与层叠继承艺术

更多内容请见: 《Python Web项目集锦》 - 专栏介绍和目录 文章目录 前言:被低估的视图半壁江山 第一章:破除迷信——Django 模板的设计哲学 1.1 限制的威力:为什么没有乘法器和复杂表达式? 1.2 两种角色的对立统一 第二章:寻宝游戏——模板加载器的底层引擎 2.1 TEMPLATE…...