跳转到内容

OpenHands 项目介绍

OpenHands 项目介绍

项目定位

OpenHands 是一个开源的 AI 驱动软件开发 Agent(代号「AI 程序员」),能够在沙箱环境中自主执行编码、调试、测试和部署任务。它通过 Docker 容器化运行时提供安全保障,支持从个人终端到企业级部署的全场景使用方式。

核心能力

  • 自主软件开发:Agent 可理解自然语言指令,自主编写代码、运行命令、调试错误并完成 PR
  • 多模型支持:通过 LiteLLM 集成 Anthropic、OpenAI、Google、Mistral 等主流 LLM
  • 浏览器自动化:内置 Playwright 支持,Agent 可操作网页界面完成交互任务
  • 多部署模式:CLI(终端)、Local GUI(本地 Web)、Cloud(托管 SaaS)、Enterprise(私有化 K8s)
  • Skills / Microagents:基于 Markdown 的可复用专业知识系统,支持仓库级和组织级技能分发
  • Hooks 扩展系统:V1 架构引入的钩子系统,支持事件驱动的自定义逻辑
  • 多 Git 平台集成:GitHub、GitLab、Bitbucket、Azure DevOps 一等公民支持
  • MCP 协议支持:通过 Model Context Protocol 连接外部工具服务器

技术栈

层级技术
后端Python 3.12+、FastAPI、LiteLLM、SQLAlchemy
前端React、Vitest、TanStack Query
沙箱Docker、tmux、Playwright
协议MCP(SSE/SHTTP/Stdio)、WebSocket(Socket.IO)
Agent SDKopenhands-sdk、openhands-agent-server、openhands-tools(v1.22.1)
部署Docker Compose、Kubernetes、Cloudflare

架构概览

快速体验

CLI 模式

Terminal window
# 安装
pip install openhands-ai
# 运行(需配置 API key)
openhands --model claude-sonnet-4-5-20250514 -d "修复项目中的类型错误"

Docker 本地运行

Terminal window
# 完整构建
make build
# 启动应用
make run

访问 http://localhost:3001 打开 Web GUI。

教程导读

本教程分为两个部分:

AI 应用通用知识

从 OpenHands 源码中抽象出 AI Agent 设计的通用模式,写入独立通用知识教程:

编程核心技术

聚焦 OpenHands 的具体工程实践:

  • V1 双 Server 架构(App Server + Agent Server)
  • 沙箱运行时多后端支持(Docker / E2B / Modal / Kubernetes)
  • 上下文压缩策略(Condenser)的工程实现
  • 安全确认模式(Confirmation Mode)与安全分析器
  • 事件驱动架构与 Webhook 系统