GitHub Explorer

OpenHands 深度分析报告

GitHub: https://github.com/OpenHands/OpenHands

一句话总结

开源 AI 编码 Agent 赛道的领跑者——以学术论文(CodeAct)为根基、Docker 沙箱为安全底线、10 种记忆压缩策略为技术壁垒,构建从 SDK 到企业版的完整 AI 驱动开发平台。

值得关注的理由

  1. 学术+工业最强组合:CMU 教授 + UIUC PhD + 工程老兵,$23.8M 融资,SWE-Bench 77.6% 得分,480+ 贡献者
  2. 架构深度领先:Action-Observation 事件驱动 + Docker 沙箱内执行服务器 + 10 种 Condenser 记忆策略 + 多 Agent 委托——每一层都是可复用的工程模式
  3. 最完整的开源 Agent 产品矩阵:SDK → CLI → Local GUI → Cloud → Enterprise,模型无关(支持 Claude/GPT/DeepSeek/Qwen/Ollama),5 平台集成(GitHub/GitLab/Bitbucket/Forgejo/AzureDevOps)

项目画像

维度数据
GitHubhttps://github.com/OpenHands/OpenHands
Star / Fork69,507 / 8,714
代码行数353,000 (Python 61%, TSX/TypeScript 25%)
项目年龄25 个月
开发阶段密集开发(月均 252 commit,V0→V1 架构迁移中)
贡献模式社区驱动(480+ 贡献者,核心团队 7-8 人)
热度定位大众热门(69.5K stars,开源 AI Agent 赛道 Top 3)
质量评级代码[优秀] 文档[良好] 测试[良好]

作者视角:为什么存在这个项目

创始人/作者背景

CMU 教授 Graham Neubig + UIUC PhD Xingyao Wang + 工程老兵 Robert Brennan,累计融资 $23.8M(Seed $5M + Series A $18.8M)。学术根基(CodeAct 论文 arXiv:2402.01030)+ 产业化执行力的罕见组合。

问题判断

从学术研究中发现:现有 LLM Agent 框架在行动空间设计上过于碎片化——对话、文件操作、命令执行各自独立。CodeAct 论文的核心发现:让 Agent 通过代码执行统一所有操作,比分散的工具调用更高效。

解法哲学

  • 统一动作空间:bash + Python 就是 Agent 的”手和脚”
  • 沙箱优先安全:Docker 沙箱是默认架构,不是可选插件
  • 模型无关设计:通过 LiteLLM 支持任意 LLM 后端
  • 学术-工业双轨:保持 SWE-Bench 竞争力的同时推进商业化

战略意图

SDK → CLI → Local GUI → Cloud → Enterprise 五层产品矩阵。当前处于 V0→V1 大规模架构迁移期(deadline 2026-04-01),核心 Agent 逻辑正外迁至独立的 software-agent-sdk。

动机与定位

OpenHands(原 OpenDevin)是当前开源 AI 编码 Agent 赛道的领跑者,定位为”Code Less, Make More”的 AI 驱动开发平台。项目核心动机源于一个学术洞察:将 LLM 的所有”行动”统一到代码执行这个单一动作空间,既简化了架构又提高了性能(CodeAct 论文, arXiv:2402.01030)。

项目不是简单的”给 LLM 加个终端”,而是构建了一个完整的 Agent 运行时环境,包含沙箱隔离、多 Agent 委托、记忆管理、安全分析、浏览器交互和多平台集成。其最终愿景是成为软件开发的”AI 操作系统”——从 Issue 解决、PR 创建到代码审查的全流程自动化。

作者视角

问题发现

Graham Neubig(CMU NLP 教授)和 Xingyao Wang(UIUC PhD)从学术研究中发现:现有 LLM Agent 框架在行动空间设计上过于碎片化——对话、文件操作、命令执行各自独立,导致上下文切换成本高、泛化能力弱。CodeAct 论文的核心发现是:让 Agent 通过代码执行来统一所有操作,比分散的工具调用更高效。

解法哲学

  1. 统一动作空间:CodeAct 的核心理念——bash + Python 就是 Agent 的”手和脚”,所有复杂操作都通过代码组合实现
  2. 沙箱优先安全:Docker 沙箱是默认架构,不是可选插件。Agent 的一切操作都在隔离环境中执行
  3. 模型无关设计:通过 LiteLLM 抽象层支持任意 LLM 后端,不绑定特定模型厂商
  4. 学术-工业双轨:保持 SWE-Bench 评测竞争力(77.6%)的同时推进商业化

背景知识迁移

  • NLP 研究方法论 → Agent 评测体系(SWE-Bench 驱动开发)和 Prompt Engineering 精细化
  • 分布式系统经验(Robert Brennan)→ 沙箱架构、Runtime 抽象、事件流设计
  • 开源社区运营 → 480+ 贡献者的 Microagent/Skills 生态策略

战略图景

SDK (software-agent-sdk)  →  CLI  →  Local GUI  →  Cloud  →  Enterprise
    ↑ V1 核心                      ↓ V0 遗留
    Agent 解耦                     单体架构 (2026-04-01 淘汰)

当前处于 V0→V1 大规模架构迁移期(deadline 2026-04-01),核心 Agent 逻辑正在外迁至独立的 software-agent-sdk 仓库,本仓库 openhands/ 下的 controller/agent/runtime 大量文件标注 Legacy-V0。这是一次”行驶中换发动机”的迁移。

架构与设计决策

目录结构概览

openhands/                     # ~79,500 行 Python
├── agenthub/                  # Agent 实现注册中心
│   ├── codeact_agent/         # 核心 Agent:CodeAct(V2.2)
│   │   ├── codeact_agent.py   # step() 核心循环
│   │   ├── function_calling.py # LLM Function Calling 解析
│   │   ├── tools/             # 12 个内置工具定义
│   │   │   ├── bash.py, browser.py, finish.py, think.py
│   │   │   ├── str_replace_editor.py, llm_based_edit.py
│   │   │   ├── ipython.py, task_tracker.py, condensation_request.py
│   │   │   └── security_utils.py, prompt.py
│   │   └── prompts/           # Jinja2 系统提示模板
│   ├── browsing_agent/        # 独立浏览 Agent
│   ├── loc_agent/             # 代码定位 Agent
│   ├── readonly_agent/        # 只读分析 Agent
│   ├── visualbrowsing_agent/  # 视觉浏览 Agent
│   └── dummy_agent/           # 测试用 Agent
├── controller/                # Agent 控制器 (V0, ~1,400 行)
│   ├── agent_controller.py    # 主循环:on_event→should_step→_step
│   ├── agent.py               # Agent 抽象基类(注册表模式)
│   ├── stuck.py               # 循环卡死检测器
│   ├── replay.py              # 轨迹回放
│   └── state/                 # 状态管理(State + StateTracker)
├── runtime/                   # 执行运行时
│   ├── base.py                # Runtime 抽象基类 (~1,345 行)
│   ├── action_execution_server.py  # 沙箱内 FastAPI 服务 (~1,085 行)
│   ├── impl/
│   │   ├── docker/            # Docker 运行时 (~778 行)
│   │   ├── local/             # 本地运行时
│   │   ├── remote/            # 远程运行时
│   │   └── kubernetes/        # K8s 运行时
│   ├── browser/               # 浏览器环境(BrowserGym)
│   ├── mcp/                   # MCP 代理层
│   ├── plugins/               # 插件(Jupyter, VSCode, AgentSkills)
│   ├── builder/               # Docker 镜像构建器
│   └── utils/                 # Bash 会话(tmux)、文件编辑、Git 处理
├── events/                    # 事件系统(Action/Observation 二元模型)
│   ├── event.py               # Event 基类
│   ├── action/                # 16+ 种 Action 类型
│   ├── observation/           # 对应 Observation 类型
│   ├── stream.py              # EventStream 发布-订阅
│   └── serialization/         # 事件序列化/反序列化
├── llm/                       # LLM 抽象层
│   ├── llm.py                 # LiteLLM 封装
│   ├── llm_registry.py        # LLM 注册与路由
│   ├── fn_call_converter.py   # 函数调用格式转换器
│   └── retry_mixin.py         # 重试逻辑
├── memory/                    # 记忆管理
│   ├── condenser/             # 10 种历史压缩策略
│   │   ├── amortized_forgetting_condenser.py
│   │   ├── llm_attention_condenser.py
│   │   ├── llm_summarizing_condenser.py
│   │   ├── structured_summary_condenser.py
│   │   ├── observation_masking_condenser.py
│   │   ├── browser_output_condenser.py
│   │   ├── conversation_window_condenser.py
│   │   ├── recent_events_condenser.py
│   │   ├── no_op_condenser.py
│   │   └── pipeline.py        # 压缩器管道组合
│   └── conversation_memory.py
├── microagent/                # 微代理系统
│   ├── microagent.py          # Knowledge/Repo 两种微代理
│   └── prompts/
├── mcp/                       # MCP(Model Context Protocol)客户端
│   ├── client.py, tool.py
│   └── utils.py
├── integrations/              # 多平台集成
│   ├── github/, gitlab/, bitbucket/
│   ├── azure_devops/, forgejo/
│   └── protocols/
├── resolver/                  # Issue 自动解决器
│   ├── resolve_issue.py       # 端到端 Issue→PR
│   ├── send_pull_request.py
│   └── interfaces/            # GitHub/GitLab/Bitbucket/Forgejo/AzureDevOps
├── security/                  # 安全分析
│   ├── invariant/             # 不变量检查
│   ├── grayswan/              # 对抗安全
│   └── llm/                   # LLM 风险评估
├── critic/                    # Agent 评估器
│   └── base.py                # BaseCritic → CriticResult (score + message)
├── server/                    # V0 Web 服务器 (Legacy)
│   ├── app.py                 # FastAPI 应用入口
│   ├── routes/                # REST + WebSocket 路由
│   └── session/               # 会话管理
├── app_server/                # V1 应用服务器 (新架构)
│   ├── v1_router.py           # /api/v1 路由
│   ├── sandbox/               # 沙箱生命周期管理
│   ├── event/                 # 事件存储与流式传输
│   └── services/              # JWT 认证等核心服务
├── storage/                   # 存储抽象
│   ├── local.py, s3.py, google_cloud.py
│   └── conversation/, settings/, secrets/
├── core/                      # 核心配置与常量
│   └── config/                # 9 种配置类型
├── linter/                    # 内置代码检查
├── io/                        # I/O 抽象
└── utils/                     # 通用工具函数

frontend/                      # React + TypeScript
├── src/
│   ├── api/                   # 17 个 API 服务模块
│   ├── components/
│   │   ├── features/          # 功能组件
│   │   ├── v1/                # V1 新组件
│   │   └── ui/                # 基础 UI 组件
│   ├── hooks/                 # React Hooks (chat, mutation, query)
│   ├── routes/                # React Router 路由
│   ├── stores/                # 状态管理
│   └── types/                 # TypeScript 类型 (core + v1)

skills/                        # 36 个 Microagent 技能文件 (.md)
tests/                         # 221 个 Python 测试 + 209 个前端测试

关键设计决策

1. Action-Observation 事件驱动架构

整个系统围绕 EventStream 构建。Agent 产生 Action(如 CmdRunAction, FileEditAction),Runtime 执行后返回 Observation(如 CmdOutputObservation, FileEditObservation)。这是一个清晰的命令-响应模式,通过发布-订阅解耦了 Agent 逻辑和执行逻辑。

User → MessageAction → EventStream → AgentController.on_event()
                                          ↓
                                    agent.step(state) → Action
                                          ↓
                                    EventStream → Runtime
                                          ↓
                                    Observation → EventStream → agent.step()

2. 沙箱内 Action Execution Server(关键隔离设计)

action_execution_server.py 是一个运行在 Docker 容器内部的 FastAPI 服务,Agent 通过 HTTP 与其通信。这意味着:

  • Agent 代码(宿主机)和执行环境(容器)完全隔离
  • 容器内有独立的 bash 会话(基于 tmux)、Jupyter、浏览器、MCP 代理
  • 文件编辑使用 openhands-aci(Anthropic Computer Interface)的 OHEditor

3. Condenser 记忆压缩系统(10 种策略)

这是对 LLM 上下文窗口限制的系统化解法。Condenser 返回 View(压缩后的事件列表)或 Condensation(需要 Agent 执行的压缩动作),形成一个双向协议:

  • NoOpCondenser:不压缩
  • ConversationWindowCondenser:滑动窗口
  • RecentEventsCondenser:只保留最近事件
  • ObservationMaskingCondenser:遮盖旧 Observation 内容
  • AmortizedForgettingCondenser:分摊遗忘
  • LLMAttentionCondenser:LLM 驱动注意力选择
  • LLMSummarizingCondenser:LLM 摘要压缩
  • StructuredSummaryCondenser:结构化摘要
  • BrowserOutputCondenser:浏览器输出专用压缩
  • Pipeline:上述策略的组合管道

4. Agent 注册表 + 委托模式

Agent 基类维护一个全局 _registry,通过 Agent.register('CodeActAgent', CodeActAgent) 注册。AgentController 支持 AgentDelegateAction 将子任务委派给不同类型的 Agent(如 BrowsingAgent),实现了多 Agent 协作。

5. 双轨架构(V0/V1 并行)

当前代码库处于罕见的”双轨运行”状态:

  • V0(openhands/controller/, openhands/server/):单体架构,Agent 逻辑、Runtime、Server 紧耦合
  • V1(openhands/app_server/, 外部 software-agent-sdk):解耦架构,Agent 核心逻辑迁入独立 SDK

server/app.py 同时挂载了 V0 的路由和 V1 的 /api/v1 路由,实现了渐进式迁移。

创新点

  1. CodeAct 统一动作空间:将 LLM Agent 的所有操作统一为代码执行(bash + Python),而非碎片化的工具调用。这是有学术论文支撑的核心创新,实测在 SWE-Bench 上显著优于传统方法。

  2. 10 种 Condenser 记忆管理:业界最丰富的 Agent 记忆压缩策略集合。特别是 AmortizedForgettingCondenser(分摊遗忘)和 LLMAttentionCondenser(LLM 驱动的注意力选择)是新颖的方法。Pipeline 组合模式允许按需构建压缩策略链。

  3. 沙箱内执行服务器模式:不是简单地在容器中运行命令,而是在容器内运行一个完整的 FastAPI 服务,通过 HTTP 通信。这提供了:(a) 结构化的请求-响应通信,(b) 容器内独立的插件生态(Jupyter, VSCode, Browser),(c) 比 docker exec 更可靠的长期会话管理。

  4. StuckDetector 循环卡死检测:Agent 循环卡死是 AI Agent 的常见问题。OpenHands 实现了专门的检测器,能识别多种卡死模式(重复命令、语法错误循环等),并提供三种恢复策略(回退到循环前、重试用户消息、停止)。

  5. Microagent 技能系统:36 个 .md 文件定义的轻量技能,通过 RAG 方式在运行时动态注入 Agent 上下文。分为 Knowledge(通用知识)和 Repo(仓库特定指令),支持社区贡献。

  6. Critic 评估框架:内置 BaseCritic 和 AgentFinishedCritic,为 Agent 行为提供量化评分(score >= 0.5 为成功),支持基于 git patch 的评估,直接对接 SWE-Bench 评测。

  7. 多平台 Issue Resolver:openhands/resolver/ 实现了从 Issue 到 PR 的全自动化流水线,支持 GitHub、GitLab、Bitbucket、Forgejo、Azure DevOps 五个平台。

可复用模式

  1. EventStream 发布-订阅模式:EventStream + EventStreamSubscriber 模式可用于任何需要解耦生产者-消费者的 Agent 系统。事件的序列化/反序列化层使状态持久化和轨迹回放成为自然能力。

  2. Agent 注册表模式:Agent._registry + Agent.register(name, cls) + Agent.get_cls(name) 是一个干净的插件注册模式,适用于任何需要运行时发现和实例化策略的场景。

  3. Condenser Pipeline 组合模式:将多种压缩策略组合成管道,每种策略返回 View | Condensation 的联合类型。这个模式可直接用于任何 LLM 上下文管理场景。

  4. Action Execution Client/Server 分离:宿主机运行 Client(发送 Action),容器运行 Server(执行并返回 Observation)。这种通过 HTTP 桥接的隔离模式可用于任何需要安全执行不可信代码的场景。

  5. StateTracker + ControlFlags 模式:用迭代次数标志和预算标志控制 Agent 执行边界,sync_budget_flag_with_metrics() 实时同步 LLM 消费。适用于任何需要成本控制的 Agent 系统。

  6. SecurityAnalyzer 可插拔安全层:安全分析器是可选的,不存在时默认 UNKNOWN 风险(fail-safe)。支持不变量检查、LLM 风险评估、对抗安全三种模式。

  7. LLMRegistry + Router 模式:通过 Registry 管理多个 LLM 实例,支持按 Agent 配置路由到不同模型。适合需要多模型协调的应用。

  8. Microagent RAG 注入模式:将领域知识以 Markdown 文件形式存储,运行时通过语义匹配注入 Agent 系统提示。低成本、可社区贡献、支持仓库级定制。

竞品交叉分析

vs Claude Code

维度OpenHandsClaude Code
核心理念CodeAct(代码即行动)终端原生推理
模型绑定模型无关(LiteLLM 支持全系列)绑定 Claude 系列
安全隔离Docker 沙箱默认隔离权限系统 + 用户确认
记忆管理10 种 Condenser 策略压缩摘要机制
开放性完全开源 + 可自部署闭源商业产品
部署形态SDK/CLI/GUI/Cloud/Enterprise终端 CLI
多 Agent原生委托机制单 Agent
代码执行容器内 FastAPI Server直接终端执行

OpenHands 的优势在于开放性、模型选择自由度和企业级部署选项。Claude Code 的优势在于推理深度(Anthropic 模型直接优化)和极简的终端体验。

vs Devin

维度OpenHandsDevin
定位开源 AI 开发平台最自主 AI 工程师(商业)
自主性中高(需要确认关键操作)最高(全自主执行)
开放性完全开源闭源
评测SWE-Bench 77.6%SWE-Bench 领先
集成5 平台(GitHub/GitLab/Bitbucket/Forgejo/AzureDevOps)深度 Slack/GitHub
定价自部署免费 / Cloud 付费高端定价

OpenHands 是 Devin 的开源替代。二者在 SWE-Bench 上不相上下,但 OpenHands 的自部署能力和模型选择自由度是其差异化优势。Devin 在产品打磨和全自主体验上更领先。

vs Cursor/Cline

维度OpenHandsCursorCline
形态独立 Agent 平台IDE(VS Code Fork)VS Code 插件
Agent 能力全自主任务执行辅助编码为主IDE 内 Agent
沙箱Docker 隔离无沙箱无沙箱
多 Agent原生支持无无
记忆管理10 种 Condenser基础上下文管理基础
Issue→PR原生 Resolver无无

OpenHands 和 Cursor/Cline 本质上不在同一赛道:OpenHands 是”自主 Agent”,Cursor/Cline 是”辅助工具”。OpenHands 更适合自动化的 Issue 解决和批量代码任务,Cursor/Cline 更适合开发者日常编码中的交互式协助。

综合竞争结论

OpenHands 在开源 AI Agent 赛道占据独特位置:

  • 唯一同时具备学术根基(CMU/UIUC)、产品矩阵(SDK→Cloud)、商业化路径($23.8M 融资)的开源方案
  • 核心壁垒:CodeAct 方法论 + 沙箱隔离架构 + 10 种记忆管理策略 + 5 平台集成
  • 主要风险:V0→V1 架构迁移是一次高风险的”行驶中换引擎”操作,deadline 仅剩 10 天(2026-04-01);代码库中大量 Legacy 标记暗示技术债务沉重
  • 竞争策略:以开放性和模型自由度对抗闭源产品(Claude Code, Devin, Cursor),以 Agent 自主性和沙箱安全对抗轻量插件(Cline)

代码质量

质量检查清单

检查项状态说明
目录结构清晰★★★★☆模块划分合理但 V0/V1 双轨造成混乱。agenthub/controller/runtime/events 四层分明,但 server/ vs app_server/ 的共存让新人困惑
代码量合理★★★☆☆~79,500 行 Python 偏重。agent_controller.py 1,392 行、base.py 1,345 行单文件过长。V0 遗留代码占比可观
抽象层次★★★★★优秀。Agent → Controller → Runtime → EventStream 四层抽象清晰。Condenser 的 View/Condensation 联合返回类型设计精妙
命名规范★★★★☆Python 标准命名,类名清晰(StuckDetector, AmortizedForgettingCondenser)。部分私有方法命名过长
错误处理★★★★★异常体系完善,LLMContextWindowExceedError, AgentStuckInLoopError 等语义明确。_react_to_exception 对不同 LLM 错误分类处理,包含 Rate Limit 重试逻辑
测试覆盖★★★★☆221 个 Python 测试文件 + 209 个前端测试。覆盖 unit/runtime/e2e 三层。condenser、controller、events 均有专门测试
安全设计★★★★★Docker 沙箱默认隔离、SecurityAnalyzer 可插拔、fail-safe 默认 UNKNOWN 风险、确认模式、安全风险分级(LOW/MEDIUM/HIGH/UNKNOWN)
可扩展性★★★★★Agent 注册表、Runtime 多实现、Condenser Pipeline、LLM Registry、Integration 多平台——每一层都是可插拔的
配置管理★★★★☆9 种配置类型(OpenHands/Agent/LLM/Sandbox/Security/MCP/ModelRouting/Extended/Condenser),支持 TOML + 环境变量。略显复杂
文档★★★★☆关键模块有 README(runtime, server, app_server)。代码注释质量高,特别是 CodeAct Agent 的 docstring 详尽。但 V0/V1 迁移状态缺乏用户可见的迁移指南
依赖管理★★★☆☆依赖较重(docker, litellm, browsergym, fastapi, libtmux, bashlex 等)。同时使用 Poetry + UV 双构建工具,处于迁移期
技术债务★★☆☆☆V0 遗留代码大量标记为 Legacy,但仍是运行时实际路径。server/ 和 app_server/ 并存、controller/ 整体标记 Legacy 但仍活跃——技术债务显著

总体评分:★★★★☆

OpenHands 展现了高水平的软件工程实践:事件驱动架构、多层抽象、可插拔设计、全面的错误处理和安全考量。其创新性(CodeAct、Condenser Pipeline、沙箱执行服务器)在开源 Agent 项目中领先。主要扣分项是 V0→V1 迁移造成的架构分裂和技术债务,以及偏重的代码量和依赖。

套利机会分析

  • 信息差: 69.5K stars 已被充分发现,但其 10 种 Condenser 记忆策略和 Action-Observation 事件架构的工程深度被低估——很多人只当它是”开源 Devin”
  • 技术借鉴: (1) EventStream 发布-订阅模式;(2) Condenser Pipeline 记忆压缩组合;(3) Agent 注册表+委托模式;(4) 沙箱内 FastAPI 执行服务器;(5) StuckDetector 循环卡死检测
  • 生态位: 开源 AI Agent 赛道唯一同时具备学术根基、产品矩阵和商业化路径的方案
  • 趋势判断: V1 架构迁移是关键转折点——成功则奠定长期技术领先,失败则可能被竞品追赶。SWE-Bench 77.6% 证明技术实力,$23.8M 融资保证持续投入

风险与不足

  1. V0→V1 架构迁移风险:deadline 2026-04-01(仅剩约 10 天),大量 Legacy 标记的代码仍是运行时实际路径,“行驶中换引擎”风险极高
  2. 技术债务显著:server/ 和 app_server/ 并存、controller/ 整体标记 Legacy 但仍活跃、Poetry + UV 双构建工具共存
  3. 代码量偏重:79,500 行 Python,部分单文件过长(agent_controller.py 1,392 行、base.py 1,345 行)
  4. 依赖较重:docker, litellm, browsergym, fastapi, libtmux, bashlex 等,供应链管理压力大
  5. 商业化压力:$23.8M 融资意味着需要快速商业化回报,可能影响开源社区方向
  6. 竞品追赶:Claude Code 在终端体验上持续改进,Devin 在全自主性上领先,Cursor 在日常编码体验上更打磨

行动建议

  • 如果你要用它: 最适合需要”自托管 + 模型无关 + 自动化 Issue→PR”的团队。如果只需编码辅助选 Cursor/Cline,如果不介意闭源选 Devin,如果只用 Claude 选 Claude Code。OpenHands 的独特价值在于开放性和企业级部署灵活性
  • 如果你要学它: 重点关注 (1) openhands/events/ — Action-Observation 事件架构;(2) openhands/memory/condenser/ — 10 种记忆压缩策略;(3) openhands/runtime/action_execution_server.py — 沙箱内执行服务器;(4) openhands/agenthub/codeact_agent/ — CodeAct Agent 核心循环;(5) openhands/controller/stuck.py — 循环卡死检测
  • 如果你要 fork 它: (1) 等 V1 迁移完成后再 fork(当前双轨状态不适合);(2) 清理 Legacy 代码减少认知负担;(3) 简化配置系统(当前 9 种配置类型过于复杂)

知识入口

资源链接
DeepWikideepwiki.com/OpenHands/OpenHands
Zread.aizread.ai/OpenHands/OpenHands
关联论文CodeAct: Pretraining Large Language Models for Code Acting
在线 Demoapp.openhands.ai — 官方 Cloud 版本
官方文档docs.openhands.ai

相关报告