---
title: "框架支持"
description: "每个 Agent 框架在 Dex 上怎样运行一个 turn、支持哪些 Session 功能，以及它的限制。"
canonical_url: "https://docs.superdurable.io/zh-Hans/agent-frameworks/framework-support/"
source: "docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/agent-frameworks/framework-support.mdx"
locale: "zh-Hans"
framework: "claude-agent-sdk"
---

> 供 AI Agent 使用的全部页面索引：https://docs.superdurable.io/zh-Hans/llms.txt

# 框架支持

本文件为 Claude Agent SDK 版本。其他框架：[Google ADK](https://docs.superdurable.io/zh-Hans/agent-frameworks/framework-support.google-adk.md) · [LangChain and LangGraph](https://docs.superdurable.io/zh-Hans/agent-frameworks/framework-support.langchain-langgraph.md) · [Mastra](https://docs.superdurable.io/zh-Hans/agent-frameworks/framework-support.mastra.md) · [OpenAI Agents SDK](https://docs.superdurable.io/zh-Hans/agent-frameworks/framework-support.openai-agents-sdk.md) · [Pydantic AI](https://docs.superdurable.io/zh-Hans/agent-frameworks/framework-support.pydantic-ai.md) · [Vercel AI SDK](https://docs.superdurable.io/zh-Hans/agent-frameworks/framework-support.vercel-ai-sdk.md)

每个 Agent 框架都通过自己的适配器运行在同一个 Session Flow 上。选择你的框架，查看它的 turn 怎样对应到 Step、它有哪些 Session 功能，以及它的限制。

<a id="how-each-framework-runs-a-turn"></a>

## 你的框架如何运行一个 turn

大多数适配器会在 tool 运行前让框架停下，因此每次 Tool Call 都在自己的 Step 中并行运行：读操作或幂等写操作用 `CallTool`，其他写操作用 `CallSingleAttemptTool`。需要审批的调用先在 `AwaitToolApproval` 中等待。下一个 `RunModel` 把记录下来的结果交给框架，因此没有 tool 会再次运行。一个查询订单的 turn 依次运行 `RunModel`、`CallTool`、`ResumeTurn` 和 `RunModel`。Claude Agent SDK 是例外：它在 `RunModel` 内部运行读操作。

下面的标签页展示每个框架如何被暂停和恢复，以及各框架的不同之处。

Claude Agent SDK 把 Claude Code 作为 Agent 运行。它的 Agent Loop 在 Claude Code CLI 中运行，CLI 是 Worker 的一个子进程。Dex 适配器在持久化 Session 内运行这个 Agent Loop。它支持 Python 和 TypeScript。

**何时使用**

想要 Claude Code 的 Agent Loop、上下文管理和 tool 时，使用它。你的 Agent 已经在用 Claude Agent SDK 时，也使用它。

如果想要每个 Step 一次模型调用、并行的 tool Step 或 Dex compaction，请使用 [内置 Agent Loop](https://docs.superdurable.io/zh-Hans/agent-frameworks/built-in-agent-loop.md)。

**Session 如何运行**

Claude Code 会运行整个 turn，所以适配器把一个 turn 拆成多个 segment。一个 `RunModel` Step 为一个 segment 运行 CLI。模型调用在 segment 内运行，读操作 tool 也是：延后执行的读操作会让 CLI 重启。Connector Tool Call 是例外：即使是读操作，它也总是离开 segment。见 [连接 Connector](https://docs.superdurable.io/zh-Hans/agent-frameworks/connectors-as-tools.md#connect-connectors)。

写操作 Tool Call 会结束 segment。需要审批时，它在 `AwaitToolApproval` 中等待。然后它在自己的 Step 中运行：幂等写操作用 `CallTool`，其他写操作用 `CallSingleAttemptTool`。接着 `ResumeTurn` 回到 `RunModel`，后者恢复同一个 Claude session。CLI 拿到记录下来的结果，不会再次运行这个 tool。

失败的 segment 会重试，最多尝试三次，并且整体重新运行。其中的模型调用和读操作会再次运行。已经在自己的 Step 中运行过的写操作，在 segment 重试时不会再次运行。

查询订单的 turn 运行一个 `RunModel` Step。取消订单的 turn 依次运行 `RunModel`、`AwaitToolApproval`、`CallSingleAttemptTool`、`ResumeTurn` 和 `RunModel`。

<a id="features-by-harness"></a>

## 各 Harness 支持的功能

有些 Session 功能取决于 harness：

| 功能                               | 框架适配器                 | 内置 Agent Loop |
| -------------------------------- | --------------------- | ------------- |
| 排队消息、**Steer** 和 `cancel_turn`   | 是                     | 是             |
| Dex 对旧 message 的 compaction      | 是，Claude Agent SDK 除外 | 是             |
| 向用户提问（`ask_user`）                | 否                     | 是             |
| Plan（plan mode 和 `execute_plan`） | 否                     | 是             |

<a id="limits"></a>

## 限制

每个标签页列出一个适配器中会影响 Agent 写法的限制，以及替代做法。

- 每个 segment 只有一次写操作调用离开 turn。包含两次写操作的回复要多花一个 segment 和一次模型调用。同一次回复中的写操作永远不会作为并行的 Step 运行。
- 在 CLI 内部运行的 tool，例如 **Bash** 或 **Edit**，是 at least once 的。Segment 重新运行时它们也会再次运行。CLI 修改的文件不会被记录。
- Segment 必须在 `RunModel` 的 method timeout 内完成，默认 15 分钟。可以用 Python 中的 `run_model_limit` 或 TypeScript 中的 `runModelLimit` 调高它。
- Claude Code 自己压缩 transcript，Dex compaction 保持关闭。长 Session 的终点是 state 上限，而不是 context window：即单个 Session 的 active state，默认 64 MiB（[Session limits](https://docs.superdurable.io/zh-Hans/reference/agents/session-limits.md)（英文））。
- 记录下来的 tool result 只保留文本。
- Subagent 内的写操作调用会被拒绝。模型会被要求在主对话中调用它。

Server 的限制见 [Limits for long sessions](https://docs.superdurable.io/zh-Hans/reference/agents/session-limits.md)（英文）。

<a id="next"></a>

## 下一步

- [内置 Agent Loop](https://docs.superdurable.io/zh-Hans/agent-frameworks/built-in-agent-loop.md)：拥有全部 Session 功能的 Harness。
- [在生产环境运行 Agent](https://docs.superdurable.io/zh-Hans/agent-frameworks/production.md)：为真实用户运行 Session 之前的检查清单。
