we0agent

Get started

Introduction

we0agent 的定位、适用场景和最小心智模型。

we0agent 是一个面向业务系统的 agent loop SDK。它不只是模型调用封装,而是把模型、工具、会话、事件流、持久化、snapshot、resume、abort 和 hooks 组合成一套可集成的运行时。

它解决什么问题

普通模型 SDK 解决「怎么调用一次模型」。we0agent 解决的是「怎么把一个 agent 长期接进产品」:

问题we0agent 的答案
模型输出要实时显示stream() 产出 text-delta、工具、step 和 session 事件。
模型需要调用工具用 Pydantic 参数 schema 定义工具,engine 负责调度和记录结果。
会话要保存和恢复persistence 保存 session/message/part,mode="resume" 恢复未完成状态。
agent 会改文件snapshot tracker 记录文件变更,revert service 支持回滚。
业务需要观测和扩展hooks 介入模型/工具调用,ports 接入事件、状态、summary、snapshot 等服务。

最小心智模型

Mermaid
Rendering diagram...

核心使用模型分为两层:

  • We0Agent 是长期定义:模型、prompt、tools、persistence、ports、hooks。
  • stream() / invoke() 是单次请求:session_idmessagesmodeabortmetadata

核心对象

对象作用下一步
We0AgentSDK 主入口,持有 agent 定义并执行请求。We0Agent
We0Model封装模型卡片和 LangChain chat model。We0Model
SystemPrompt声明系统提示词 blocks,参与模型输入。SystemPrompt
MessageWithParts会话消息容器,保存用户、assistant、工具等 part。Persistence
AnyToolDefinition可暴露给模型调用的工具定义。AnyToolDefinition
We0Event流式输出、工具、状态和错误的统一事件。StreamingEvents

推荐学习顺序

  1. 先按 Installation 安装。
  2. Quickstart,确认模型和事件流正常。
  3. Concepts,建立完整心智模型。
  4. 依次定义 We0ModelSystemPromptAnyToolDefinition
  5. We0Agent,掌握 agent.py 主入口、stream()invoke()
  6. 按使用顺序阅读 guide:stream 事件、持久化续聊、hooks、ports 可选增强能力、abort。
  7. 需要精确字段时再查 API reference。

不适合什么

we0agent 不替代这些东西:

  • 不替代权限系统。生产工具仍需要业务侧鉴权和沙箱。
  • 不替代模型供应商 SDK 的所有参数说明。provider 专属能力通过 ModelCard.options 透传。
  • 不替代持久化运维。SQLite/Postgres 的备份、迁移和监控仍由业务系统负责。
  • 不保证 abort 立刻杀死副作用。中断是协作式收口,已经发生的外部副作用不会自动回滚。

On this page