编程 OpenHarness 深度解析:当 1.1 万行 Python 代码挑战 51.2 万行闭源帝国

2026-04-09 02:03:37 +0800 CST views 3

OpenHarness 深度解析:当 1.1 万行 Python 代码挑战 51.2 万行闭源帝国

港大开源的 Agent Harness,用 44 倍体积压缩实现 98% 核心能力,登顶 GitHub Trending 榜首


引言:Agent 时代的" Harness "革命

2026 年 4 月 2 日,香港大学数据科学研究院(HKUDS)在 GitHub 上扔下了一颗重磅炸弹——OpenHarness。这个开源项目在短短两天内狂揽 1900+ Star,登顶全球 Trending 榜首,不到一周突破 7000 Star。它的出现,不仅仅是一个新工具的诞生,更标志着 AI Agent 基础设施领域的一次范式转移。

让我们先看一组令人震撼的数字对比:

维度OpenHarness闭源巨头(Claude Code 等)
代码行数1.1 万行 Python51.2 万行
体积压缩比1x44x
核心能力覆盖98%100%
开源协议MIT(可商用)闭源
生态兼容Claude Code 100% 兼容原生

这组数字背后,是一个核心命题:Agent 基础设施的民主化。当大厂用数十万行代码构建护城河时,HKUDS 用精妙的架构设计证明——Agent Harness 的本质不是代码量的堆砌,而是对「模型 + 基础设施」这一核心公式的深刻理解。


第一章:Agent 的本质——重新理解 Harness

1.1 从公式说起:Agent = Model + Harness

在 AI 圈有一个公认的公式:

Agent = 大模型 + Harness

大模型是 AI 的「大脑」,提供原始的推理和智能;而 Harness 是让大脑真正能干活的「手脚、眼睛、记忆和安全带」。

LangChain 官方给出了最简洁的定义:

"Agent = Model + Harness(智能体 = 模型 + 驾驭层)"

"If you're not the model, you're the harness(如果你不是模型本身,那你写的所有代码都是驾驭层)。"

从本质上讲,Harness 是模型之外的一切,包括代码、配置和执行逻辑。它将原始模型(只会输入输出文本的黑盒子)转变为能完成复杂任务的智能体,提供:

  • 状态管理(State Management)
  • 工具执行(Tool Execution)
  • 反馈循环(Feedback Loop)
  • 可执行约束(Executable Constraints)

没有 Harness,大模型永远只是个会聊天的「陪聊」,成不了能替你干活的「数字员工」。

1.2 Harness 的七大核心职责

一个生产级的 Agent Harness 需要承担以下七大职责:

┌─────────────────────────────────────────────────────────────┐
│                    Agent Harness 架构                        │
├─────────────┬─────────────┬─────────────┬───────────────────┤
│   Agent     │    Tool     │   Memory    │   Permission      │
│    Loop     │   System    │   System    │   Governance      │
│  (核心循环)  │  (工具系统)  │  (记忆系统)  │   (权限治理)       │
├─────────────┼─────────────┼─────────────┼───────────────────┤
│   Multi-    │   Skill     │   Plugin    │   Observability   │
│   Agent     │   System    │   System    │   (可观测性)       │
│ Coordination│  (技能系统)  │  (插件系统)  │                   │
│ (多Agent协调)│             │             │                   │
└─────────────┴─────────────┴─────────────┴───────────────────┘
  1. Agent Loop(核心循环):负责「思考 → 工具调用 → 结果反馈 → 再决策」的完整闭环
  2. Tool System(工具系统):让 Agent 具备与外部世界交互的能力
  3. Memory System(记忆系统):解决 Agent「健忘」的痛点,支持跨会话持久化
  4. Permission Governance(权限治理):多级权限控制,把安全握在用户手里
  5. Multi-Agent Coordination(多 Agent 协调):支持子 Agent 生成、任务委派、团队协作
  6. Skill/Plugin System(技能/插件系统):按需加载能力,扩展无上限
  7. Observability(可观测性):全链路日志、成本追踪,告别黑盒

第二章:OpenHarness 架构深度拆解

OpenHarness 最难得的一点,是把复杂的 Agent Harness 拆解成了 10 个边界清晰、逻辑独立的子系统,每个模块都有完整的类型校验和权限控制。

2.1 核心架构全景图

# OpenHarness 核心架构伪代码
class OpenHarness:
    """
    OpenHarness - 开源 Agent Harness 实现
    1.1 万行代码,10 大子系统,98% 核心能力覆盖
    """
    
    def __init__(self):
        # 1. Agent Loop - 心脏
        self.agent_loop = AgentLoop()
        
        # 2. Tool System - 手脚
        self.tool_registry = ToolRegistry()
        self.tool_registry.register_core_tools()  # 43+ 内置工具
        
        # 3. Skill System - 技能
        self.skill_loader = SkillLoader()
        
        # 4. Memory System - 记忆
        self.memory_manager = MemoryManager()
        self.context_compressor = ContextCompressor()
        
        # 5. Permission System - 安全边界
        self.permission_engine = PermissionEngine()
        self.hook_manager = HookManager()
        
        # 6. Multi-Agent System - 团队协作
        self.agent_coordinator = AgentCoordinator()
        self.subagent_factory = SubagentFactory()
        
        # 7. Plugin System - 扩展
        self.plugin_manager = PluginManager()
        
        # 8. Sandbox - 隔离执行
        self.sandbox = SandboxExecutor()
        
        # 9. Observability - 可观测
        self.telemetry = TelemetryCollector()
        self.cost_tracker = CostTracker()
        
        # 10. TUI/CLI - 交互
        self.tui = ReactTUI()
        self.cli = CLIInterface()

2.2 Agent Loop:心脏的跳动

Agent Loop 是整个 Harness 的心脏,负责「思考 - 工具调用 - 结果反馈 - 再决策」的完整闭环。

class AgentLoop:
    """
    Agent Loop 核心实现
    支持流式工具调用、指数退避重试、并行执行
    """
    
    async def run(self, messages: List[Message], tools: List[Tool]) -> Response:
        """
        核心循环:思考 → 工具调用 → 观察 → 再思考
        """
        while True:
            # 1. 调用 LLM 获取响应
            response = await self.llm.stream(messages, tools)
            
            # 2. 检查是否需要工具调用
            if response.stop_reason != "tool_use":
                # 模型已完成思考,直接返回
                break
            
            # 3. 并行执行所有工具调用
            tool_results = await asyncio.gather(*[
                self.execute_tool_with_hooks(tool_call)
                for tool_call in response.tool_uses
            ])
            
            # 4. 将结果加入上下文,继续循环
            messages.extend(tool_results)
            
            # 5. Token 计数与成本追踪
            self.telemetry.track_tokens(response.usage)
    
    async def execute_tool_with_hooks(self, tool_call: ToolCall) -> ToolResult:
        """
        带 Hook 的工具执行
        PreToolUse → 权限检查 → 执行 → PostToolUse
        """
        # Pre-hook:权限检查、日志记录
        await self.hooks.pre_tool_use(tool_call)
        
        # 权限验证
        if not self.permission_engine.is_allowed(tool_call):
            return ToolResult(error="Permission denied")
        
        # 执行工具
        result = await self.tool_registry.execute(tool_call)
        
        # Post-hook:结果处理、审计日志
        await self.hooks.post_tool_use(tool_call, result)
        
        return result

核心特性

  • Streaming Tool-Call Cycle:流式工具调用,实时响应
  • Exponential Backoff:API 失败自动重试,指数退避
  • Parallel Tool Execution:并行执行多个工具调用
  • Token Counting & Cost Tracking:实时 Token 计数与成本追踪

2.3 Tool System:43+ 工具的全景

OpenHarness 内置了 43 种核心工具,覆盖文件操作、Shell 执行、网络搜索、MCP 协议等全场景:

# 工具分类与示例
TOOL_CATEGORIES = {
    "文件操作": [
        "read",      # 读取文件
        "write",     # 写入文件
        "edit",      # 编辑文件(diff 格式)
        "glob",      # 文件匹配
        "grep",      # 文本搜索
        "ls",        # 目录列表
    ],
    "Shell 执行": [
        "bash",      # Bash 命令
        "python",    # Python 代码执行
    ],
    "网络与搜索": [
        "web_search",     # 网页搜索
        "web_fetch",      # 网页抓取
        "curl",           # HTTP 请求
    ],
    "MCP 协议": [
        "mcp_invoke",     # MCP 工具调用
        "mcp_list",       # MCP 服务发现
    ],
    "代码分析": [
        "code_analyze",   # 代码分析
        "ast_parse",      # AST 解析
    ],
}

按需加载机制

class ToolRegistry:
    """
    工具注册表 - 支持按需加载和权限控制
    """
    
    def __init__(self):
        self._tools: Dict[str, Tool] = {}
        self._skill_tools: Dict[str, Tool] = {}
    
    def register_core_tools(self):
        """注册 43+ 核心工具"""
        for tool_def in CORE_TOOLS:
            self._tools[tool_def.name] = Tool.from_def(tool_def)
    
    def load_skill(self, skill_path: str):
        """
        按需加载 Markdown 格式的 Skill
        100% 兼容 anthropics/skills 生态
        """
        skill = SkillParser.parse(skill_path)
        for tool_def in skill.tools:
            self._skill_tools[tool_def.name] = Tool.from_skill(tool_def)
    
    def get_available_tools(self, context: Context) -> List[Tool]:
        """
        根据上下文动态返回可用工具
        避免 Context Bloat(93% 的 Token 可能来自未使用的工具定义)
        """
        # 阶段化执行:ASSESS → ANALYZE → PLAN → EXECUTE → VALIDATE
        phase = context.execution_phase
        return [t for t in self._tools.values() if t.is_available_in(phase)]

2.4 Memory System:解决 Agent 的健忘症

记忆系统是 OpenHarness 的一大亮点,它解决了 Agent「健忘」的核心痛点。

class MemoryManager:
    """
    记忆管理系统
    支持跨会话持久化、自动上下文压缩、会话恢复
    """
    
    def __init__(self, workspace: Path):
        self.workspace = workspace
        self.claude_md = ClaudeMDDiscovery(workspace)  # CLAUDE.md 自动发现
        self.memory_md = MemoryMDPersistence(workspace)  # MEMORY.md 持久记忆
        self.compressor = ContextCompressor()
    
    async def prepare_context(self, session: Session) -> List[Message]:
        """
        准备上下文:CLAUDE.md + MEMORY.md + 会话历史
        """
        context = []
        
        # 1. 自动发现并注入 CLAUDE.md
        claude_md = self.claude_md.discover()
        if claude_md:
            context.append(SystemMessage(content=claude_md.content))
        
        # 2. 加载持久化记忆
        memory = self.memory_md.load()
        if memory:
            context.append(SystemMessage(content=memory.summary))
        
        # 3. 加载会话历史
        history = session.get_history()
        
        # 4. 上下文压缩(如果超出限制)
        if self.estimate_tokens(context + history) > TOKEN_LIMIT:
            history = self.compressor.compact(history)
        
        return context + history
    
    async def persist_memory(self, session: Session):
        """
        持久化记忆到 MEMORY.md
        """
        summary = await self.summarize_session(session)
        self.memory_md.append(summary)

记忆系统的三层架构

┌─────────────────────────────────────────────────────────────┐
│                      Memory 三层架构                         │
├─────────────────────────────────────────────────────────────┤
│  Layer 3: Session Memory (会话级)                           │
│  - 当前会话的完整历史                                       │
│  - 支持 /resume 会话恢复                                    │
├─────────────────────────────────────────────────────────────┤
│  Layer 2: Persistent Memory (跨会话)                        │
│  - MEMORY.md 持久化存储                                     │
│  - 用户偏好、项目背景、关键决策                               │
├─────────────────────────────────────────────────────────────┤
│  Layer 1: Project Context (项目级)                          │
│  - CLAUDE.md 自动发现与注入                                  │
│  - 项目规范、代码风格、架构约定                               │
└─────────────────────────────────────────────────────────────┘

2.5 Permission System:把安全握在手里

权限治理是生产级 Agent 的关键,OpenHarness 提供了多级权限模式:

class PermissionEngine:
    """
    权限治理引擎
    多级权限模式、路径级规则、工具调用前后钩子
    """
    
    PERMISSION_MODES = {
        "bypass": "完全绕过权限检查(仅测试用)",
        "auto": "自动模式:低风险操作自动通过,高风险需确认",
        "confirm": "确认模式:所有工具调用都需要用户确认",
        "deny": "拒绝模式:拒绝所有工具调用(只读模式)",
    }
    
    def __init__(self):
        self.mode = "auto"
        self.path_rules: List[PathRule] = []
        self.denied_commands: Set[str] = set()
        self.hooks = HookManager()
    
    def is_allowed(self, tool_call: ToolCall) -> bool:
        """
        检查工具调用是否被允许
        """
        # 1. 检查全局拒绝列表
        if tool_call.name in self.denied_commands:
            return False
        
        # 2. 检查路径规则
        if tool_call.name in ["read", "write", "edit"]:
            path = tool_call.arguments.get("path", "")
            for rule in self.path_rules:
                if rule.matches(path) and not rule.is_allowed(tool_call.name):
                    return False
        
        # 3. 根据权限模式决定
        if self.mode == "bypass":
            return True
        elif self.mode == "deny":
            return False
        elif self.mode == "confirm":
            return self.prompt_user_confirmation(tool_call)
        elif self.mode == "auto":
            return self.auto_decide(tool_call)
    
    def auto_decide(self, tool_call: ToolCall) -> bool:
        """
        自动决策:基于风险等级
        """
        risk_level = self.assess_risk(tool_call)
        
        if risk_level == "low":
            return True
        elif risk_level == "medium":
            # 记录日志,自动通过
            self.log_tool_call(tool_call)
            return True
        elif risk_level == "high":
            # 需要用户确认
            return self.prompt_user_confirmation(tool_call)
        else:  # critical
            return False

路径规则示例

# .openharness/permissions.yaml
permission_mode: auto

path_rules:
  - pattern: "~/.ssh/*"
    allow: ["read"]
    deny: ["write", "edit", "bash"]
  
  - pattern: "/etc/*"
    allow: []
    deny: ["write", "edit", "bash"]
  
  - pattern: "~/workspace/*"
    allow: ["read", "write", "edit", "bash"]
    
  - pattern: "*.env"
    allow: ["read"]
    deny: ["write", "edit"]

denied_commands:
  - "rm -rf /"
  - "sudo"
  - "chmod -R 777"

2.6 Multi-Agent Coordination:从单兵到团队

OpenHarness 支持子 Agent 生成和团队协作,实现复杂任务的分工协作:

class AgentCoordinator:
    """
    多 Agent 协调器
    支持子 Agent 生成、任务委派、团队管理
    """
    
    async def spawn_subagent(
        self,
        role: str,
        tools: List[str],
        memory: str = "isolated",
        permissions: PermissionConfig = None
    ) -> Subagent:
        """
        生成子 Agent
        
        Args:
            role: 子 Agent 的角色定义
            tools: 最小权限原则,只授予所需工具
            memory: "isolated" | "shared" | "inherited"
            permissions: 权限配置
        """
        # AWS-style least-privilege:每个子 Agent 只有所需工具
        tool_subset = {name: self.tool_registry.get(name) for name in tools}
        
        subagent = Subagent(
            role=role,
            tools=tool_subset,
            memory_space=self.create_memory_space(memory),
            permissions=permissions or PermissionConfig.restricted(),
        )
        
        self.team_registry.register(subagent)
        return subagent
    
    async def delegate_task(self, task: Task, subagent: Subagent) -> TaskResult:
        """
        委派任务给子 Agent
        支持后台执行、生命周期管理
        """
        # 启动后台任务
        job = await self.background_executor.submit(
            subagent.execute,
            task
        )
        
        # 等待完成或超时
        result = await job.wait(timeout=task.timeout)
        
        # 结果汇总
        return TaskResult(
            output=result.output,
            artifacts=result.artifacts,
            metrics=result.metrics,
        )
    
    async def coordinate_team(self, project: Project):
        """
        协调多个 Agent 完成复杂项目
        """
        # 1. 分析项目,拆解任务
        tasks = await self.analyze_project(project)
        
        # 2. 为每个任务生成专用子 Agent
        subagents = []
        for task in tasks:
            agent = await self.spawn_subagent(
                role=task.required_role,
                tools=task.required_tools,
            )
            subagents.append((agent, task))
        
        # 3. 并行执行
        results = await asyncio.gather(*[
            self.delegate_task(task, agent)
            for agent, task in subagents
        ])
        
        # 4. 结果整合
        return self.integrate_results(results)

2.7 Observability:告别黑盒

可观测性是生产级 Agent 的必备能力,OpenHarness 提供了全链路追踪:

class TelemetryCollector:
    """
    可观测性收集器
    全链路日志、Token 计数、成本追踪、执行轨迹可视化
    """
    
    def __init__(self):
        self.traces: List[Trace] = []
        self.cost_tracker = CostTracker()
    
    async def trace_execution(self, operation: Operation):
        """
        追踪操作执行
        """
        trace = Trace(
            operation_id=operation.id,
            start_time=datetime.now(),
            tool_calls=[],
            llm_calls=[],
        )
        
        try:
            result = await operation.execute()
            trace.status = "success"
            trace.result = result
        except Exception as e:
            trace.status = "error"
            trace.error = str(e)
        finally:
            trace.end_time = datetime.now()
            trace.duration = trace.end_time - trace.start_time
            
        self.traces.append(trace)
        return trace
    
    def generate_report(self) -> ObservabilityReport:
        """
        生成可观测性报告
        """
        return ObservabilityReport(
            total_tokens=self.cost_tracker.total_tokens,
            total_cost=self.cost_tracker.total_cost,
            tool_call_distribution=self.analyze_tool_usage(),
            execution_timeline=self.traces,
            performance_metrics=self.calculate_metrics(),
        )

第三章:实战上手——30 秒安装体验

3.1 一键安装

OpenHarness 的安装体验极其友好,一条命令搞定:

# 一键安装(自动检测 OS、检查依赖、完成配置)
curl -fsSL https://raw.githubusercontent.com/HKUDS/OpenHarness/main/scripts/install.sh | bash

# 查看版本确认安装成功
oh --version

安装脚本会自动:

  • 检测操作系统(Linux / macOS / WSL)
  • 验证 Python ≥ 3.10 和 Node.js ≥ 18
  • 通过 pip 安装 OpenHarness
  • 设置 React TUI(如果 Node.js 可用)
  • 创建 ~/.openharness/ 配置目录

3.2 配置 Provider

OpenHarness 支持多种 Provider Workflow:

# 统一配置入口
oh setup

# 查看已有 workflow/profile
oh provider list

# 切换当前 workflow
oh provider use codex

# 查看认证状态
oh auth status

支持的 Provider:

Workflow适用场景
Anthropic-Compatible APIClaude / Kimi / GLM / MiniMax
Claude Subscription复用本地 ~/.claude/.credentials.json
OpenAI-Compatible APIOpenAI / OpenRouter / DeepSeek / Ollama
Codex Subscription复用本地 ~/.codex/auth.json
GitHub CopilotGitHub Copilot OAuth

3.3 启动交互式 TUI

# 启动 React/Ink TUI
oh

# 非交互模式
oh -p "Explain this repository"
oh -p "List all functions in main.py" --output-format json
oh -p "Fix the bug" --output-format stream-json

TUI 支持:

  • / 命令选择器
  • 交互式权限确认
  • /model 模型切换
  • /permissions 权限模式切换
  • /resume 会话恢复
  • /provider workflow 选择

3.4 ohmo:Personal Agent App

ohmo 是基于 OpenHarness 的 personal-agent app:

# 初始化 ohmo
ohmo init

# 这会创建:
# ~/.ohmo/soul.md          # 长期人格与行为原则
# ~/.ohmo/identity.md      # ohmo 自己是谁
# ~/.ohmo/user.md          # 用户画像、偏好
# ~/.ohmo/BOOTSTRAP.md     # 首轮 onboarding ritual
# ~/.ohmo/memory/          # personal memory
# ~/.ohmo/gateway.json     # gateway 配置

# 配置 gateway
ohmo config

# 运行 personal agent
ohmo

# 管理 gateway
ohmo gateway run
ohmo gateway status
ohmo gateway restart

第四章:核心设计哲学——为什么它能这么轻?

4.1 架构设计的"奥卡姆剃刀"

OpenHarness 用 1.1 万行代码实现 98% 核心能力的秘诀在于精准的架构设计

  1. 边界清晰的模块化:10 个子系统各司其职,没有冗余耦合
  2. 按需加载原则:Skill、Tool、Plugin 都是按需加载,避免 Context Bloat
  3. 阶段化执行:ASSESS → ANALYZE → PLAN → EXECUTE → VALIDATE,每个阶段只加载必要工具
  4. 兼容而非重复:100% 兼容 Claude Code 生态,复用现有插件和 Skill

4.2 与闭源巨头的对比分析

维度OpenHarness闭源巨头差异分析
代码行数1.1 万行51.2 万行44 倍压缩
核心能力98%100%2% 差距主要在商业特性
启动速度< 1s3-5s轻量级架构
内存占用~50MB~200MB4 倍差距
可定制性完全开源受限架构透明
生态兼容Claude Code 100%原生生态互通

那 2% 的差距是什么?主要是:

  • 企业级 SSO/LDAP 集成
  • 云端协作功能
  • 商业支持服务

对于个人开发者和研究团队,这 2% 并不影响核心使用。

4.3 性能优化技巧

# 1. Context Compression - 自动上下文压缩
class ContextCompressor:
    """
    当上下文超出限制时,自动压缩历史消息
    """
    def compact(self, messages: List[Message]) -> List[Message]:
        # 保留系统消息和最近 N 轮对话
        # 对更早的消息进行摘要
        summary = self.summarize(messages[:-N])
        return [SystemMessage(summary)] + messages[-N:]

# 2. On-Demand Tool Loading - 按需加载工具
class ToolRegistry:
    def get_tools_for_phase(self, phase: ExecutionPhase) -> List[Tool]:
        """
        根据执行阶段返回所需工具,避免加载全部 43+ 工具
        """
        phase_tools = {
            ExecutionPhase.ASSESS: ["read", "glob", "grep"],
            ExecutionPhase.ANALYZE: ["read", "code_analyze", "ast_parse"],
            ExecutionPhase.PLAN: ["read", "write"],
            ExecutionPhase.EXECUTE: ["write", "edit", "bash", "python"],
            ExecutionPhase.VALIDATE: ["read", "bash", "python"],
        }
        return [self._tools[name] for name in phase_tools[phase]]

# 3. Lazy Skill Loading - 延迟加载 Skill
class SkillLoader:
    def load(self, skill_name: str) -> Skill:
        """
        按需解析 Markdown Skill 文件
        """
        if skill_name not in self._cache:
            skill_path = self.find_skill_file(skill_name)
            self._cache[skill_name] = self.parse_skill(skill_path)
        return self._cache[skill_name]

第五章:生态与未来——开源社区的力量

5.1 当前生态

OpenHarness 的生态正在快速扩展:

  • 43+ 内置工具:覆盖文件、Shell、搜索、MCP 等全场景
  • 40+ 内置 Skill:开箱即用的技能库
  • 100% 兼容:anthropics/skills 和 Claude Code 插件
  • 多平台支持:Linux、macOS、WSL
  • 多 Provider:Anthropic、OpenAI、Kimi、GLM、DeepSeek、Ollama 等

5.2 贡献方向

HKUDS 欢迎社区贡献以下方向:

  1. Tools:新的工具实现
  2. Skills:领域特定的 Skill
  3. Plugins:扩展插件
  4. Providers:新的 LLM Provider
  5. Multi-Agent:多 Agent 协调算法
  6. Tests:测试覆盖
  7. 文档:中文翻译和教程

5.3 路线图

根据官方信息,OpenHarness 的路线图包括:

  • ClawTeam 集成:团队协作功能(Roadmap)
  • 更多 IM Channel:Telegram、Slack、Discord、Feishu 等
  • 云端同步:跨设备记忆同步
  • 可视化界面:Web UI 支持

第六章:总结与展望

6.1 核心价值

OpenHarness 的出现,标志着 Agent 基础设施领域的民主化趋势

  1. 架构透明:10 个子系统边界清晰,代码可读性强
  2. 轻量高效:1.1 万行代码实现 98% 核心能力
  3. 生态兼容:100% 兼容 Claude Code,降低迁移成本
  4. 完全开源:MIT 协议,可自由修改和商用

6.2 适用场景

OpenHarness 特别适合以下场景:

  • AI 研究者:理解生产级 Agent 的内部机制
  • Agent 开发者:基于成熟架构构建专用 Agent
  • 技术团队:需要可定制、可审计的 Agent 基础设施
  • 个人用户:想要一个完全可控的 Personal Agent

6.3 写在最后

OpenHarness 的成功不仅仅是一个开源项目的成功,它证明了优秀的架构设计可以战胜代码量的堆砌。当大厂用数十万行代码构建护城河时,HKUDS 用精妙的模块化设计证明——Agent Harness 的本质是对「模型 + 基础设施」这一核心公式的深刻理解。

正如 LangChain 的那句话:

"If you're not the model, you're the harness."

OpenHarness 让每个人都能拥有属于自己的 Harness,让 AI Agent 真正从「黑盒」变成「白盒」,从「不可控」变成「完全可控」。

这,就是开源的力量。


参考链接

  • GitHub 仓库:https://github.com/HKUDS/OpenHarness
  • 官方文档:https://github.com/HKUDS/OpenHarness/blob/main/README.zh-CN.md
  • HKUDS 主页:https://github.com/HKUDS

本文撰写于 2026 年 4 月,基于 OpenHarness v0.1.2 版本

推荐文章

html流光登陆页面
2024-11-18 15:36:18 +0800 CST
7种Go语言生成唯一ID的实用方法
2024-11-19 05:22:50 +0800 CST
php机器学习神经网络库
2024-11-19 09:03:47 +0800 CST
总结出30个代码前端代码规范
2024-11-19 07:59:43 +0800 CST
淘宝npm镜像使用方法
2024-11-18 23:50:48 +0800 CST
一文详解回调地狱
2024-11-19 05:05:31 +0800 CST
2024年微信小程序开发价格概览
2024-11-19 06:40:52 +0800 CST
程序员出海搞钱工具库
2024-11-18 22:16:19 +0800 CST
程序员茄子在线接单