Loading...
  • 构建
  • 管理
  • 模型与定价
  • 客户端 SDK
  • API 参考
Search...
⌘K
Log in
添加文件
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Solutions

  • AI agents
  • Code modernization
  • Coding
  • Customer support
  • Education
  • Financial services
  • Government
  • Life sciences

Partners

  • Amazon Bedrock
  • Google Cloud's Vertex AI

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Company

  • Anthropic
  • Careers
  • Economic Futures
  • Research
  • News
  • Responsible Scaling Policy
  • Security and compliance
  • Transparency

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Help and security

  • Availability
  • Status
  • Support
  • Discord

Terms and policies

  • Privacy policy
  • Responsible disclosure policy
  • Terms of service: Commercial
  • Terms of service: Consumer
  • Usage policy
构建/将工作委托给代理

添加文件

上传文件并将其挂载到容器中以供读取和处理。

您可以通过文件 API 上传文件并将其挂载到会话的容器中,从而为您的代理提供文件。

所有 Managed Agents API 请求都需要 managed-agents-2026-04-01 beta 标头。SDK 会自动设置 beta 标头。

上传文件

首先,使用文件 API上传文件:

file = client.beta.files.upload(file=Path("data.csv"))
print(f"File ID: {file.id}")

在会话中挂载文件

通过在创建会话时将上传的文件添加到 resources 数组中,将其挂载到容器中:

mount_path 是可选的,但请确保上传的文件具有描述性名称,以便代理知道它在查找什么。

session = client.beta.sessions.create(
    agent=agent.id,
    environment_id=environment.id,
    resources=[
        {
            "type": "file",
            "file_id": file.id,
            "mount_path": "/workspace/data.csv",
        },
    ],
)

将创建一个新的 file_id,用于引用会话中文件的实例。这些副本不计入您的存储限制。

多个文件

通过向 resources 数组添加条目来挂载多个文件:

resources = [
    {"type": "file", "file_id": "file_abc123", "mount_path": "/workspace/data.csv"},
    {"type": "file", "file_id": "file_def456", "mount_path": "/workspace/config.json"},
    {"type": "file", "file_id": "file_ghi789", "mount_path": "/workspace/src/main.py"},
]

每个会话最多支持 100 个文件。

管理运行中会话上的文件

您可以使用会话资源 API 在创建后从会话中添加或删除文件。每个资源在添加(或列出)时都会返回一个 id,您可以使用该 id 进行删除。

resource = client.beta.sessions.resources.add(
    session.id,
    type="file",
    file_id=file.id,
)
print(resource.id)  # "sesrsc_01ABC..."

使用 resources.list 列出会话上的所有资源。要删除文件,请使用资源 ID 调用 resources.delete:

listed = client.beta.sessions.resources.list(session.id)
for entry in listed.data:
    print(entry.id, entry.type)

client.beta.sessions.resources.delete(resource.id, session_id=session.id)

列出和下载会话文件

使用文件 API列出作用域为会话的文件并下载它们。

# 列出与会话关联的文件
files = client.beta.files.list(
    scope_id="sesn_abc123",
    betas=["managed-agents-2026-04-01"],
)
for f in files:
    print(f.id, f.filename)

# 下载文件
content = client.beta.files.download(files.data[0].id)
content.write_to_file("output.txt")

支持的文件类型

代理可以处理任何文件类型,包括:

  • 源代码(.py、.js、.ts、.go、.rs 等)
  • 数据文件(.csv、.json、.xml、.yaml)
  • 文档(.txt、.md)
  • 存档(.zip、.tar.gz)- 代理可以使用 bash 提取这些文件
  • 二进制文件 - 代理可以使用适当的工具处理这些文件

文件路径

容器中挂载的文件是只读副本。代理可以读取它们,但无法修改原始上传的文件。要处理修改后的版本,代理会写入容器内的新路径。

  • 文件挂载在您指定的确切路径
  • 父目录会自动创建
  • 路径应该是绝对路径(以 / 开头)

Was this page helpful?