Skip to content
AI-Daily-Builder

OpenHands Software Agent SDK:OpenHands V1 底层那套事件溯源、从本机到远端的基础架构

次浏览

一套干净、模块化的 Python/REST SDK,用来构建代码 agent — 它是 OpenHands V1、CLI 与 OpenHands Cloud 背后的引擎。事件溯源状态、本机优先并可按需开沙箱、MCP 工具。v1.26.0 于 2026 年 6 月 5 日推出。

pip install -U openhands-sdk openhands-tools

它是什么

OpenHands Software Agent SDK 是一组 Python 与 REST API,用来构建处理代码的 agent。它是 OpenHands V1 的核心 — 一次彻底的重新设计,把 agent 核心与构建在其上的应用程序拆开(OpenHands CLI 与 OpenHands Cloud 都跑在这套 SDK 上)。此 repo 采用 MIT 许可,迭代很快:最新的 tag v1.26.0 在 2026 年 6 月 5 日落地,紧接在 v1.25.0(6 月 4 日)与 v1.24.0(5 月 27 日)之后。

它的卖点是:同一份 agent 定义应该能在你的笔记本上做原型开发,也能在生产环境的容器化沙箱里运行,几乎不需要改动代码。你组合一个 LLM、一份带类型的 Tool 列表,以及一个绑定到工作区的 Conversation,然后用消息来驱动它。

为什么这套架构值得关注

随附的论文(arXiv 2511.03690,同时是 MLSys 2026 口头报告)提出四项设计原则,就算你永远不采用这套 SDK,也值得借鉴:

事件溯源加上不可变配置,是低调的重点。如果每一次状态转换都是一笔追加的事件,你就能确定性地重放一次失败的 agent 运行,而不必试着从日志重现一个非确定性的循环。

安装与运行

pip install -U openhands-sdk openhands-tools

文档明确指出 openhands-sdkopenhands-tools 是一组搭配软件包 — 用一条命令一起安装并升级,让版本保持对齐。若要使用沙箱化的工作区与随附的服务器,再加上 openhands-workspace openhands-agent-server

软件包角色
openhands-sdk核心 agent/conversation/LLM API
openhands-tools内置的终端、文件编辑器、任务追踪工具
openhands-workspaceDocker / 远端沙箱化工作区
openhands-agent-serverREST/WebSocket agent 服务器

一次极简的运行会把终端、文件编辑器与任务追踪器接进同一个 agent,把它指向当前目录,然后发出一条指令 — agent 自行规划、调用工具,并自己停下来。

实践者笔记

把这四个软件包的拆分当成真正的产品,而不是样板。先只用 openhands-sdk + openhands-tools 对着本机工作区去感受那个循环,等到你需要在隔离环境里运行不受信任的编辑时,再去动用 openhands-workspace。因为工具带类型、可替换并支持 MCP,你可以塞进自己的工具而不必 fork 核心 — 这正是「一个你拿来扩展的库」与「一个你拿来对抗的框架」之间的差别。

被低估的角度

大多数「agent SDK」的报道都紧盯它调用哪个模型。这里更耐久的赌注是事件溯源的状态模型:确定性重放把不稳定的 agent 运行,变成可以 diff、审计并做回归测试的可重现产物。这把 agent 从一段聊天会话,重新框定成更接近一条构建流水线的东西 — 而这正是团队在敢于信任它去重构真正的代码之前所需要的。

请喝咖啡