Files API
Files API 浏览 Runtime 当前工作目录(cwd)中的文件,不是任意主机文件访问接口。它面向运维、调试与控制台展示场景,让外部客户端通过 HTTP 浏览 Agent 的工作区,无需 SSH。API 为只读,不提供上传、写入或删除能力。端点一览
所有端点遵守相同的约束:
- 受
/v1/*的x-api-key鉴权保护(如已配置)。 - 路径参数
path是相对 cwd 的子路径,禁止..逃逸、绝对路径和 null byte。 - cwd 内的 symlink 若解析后逃出 cwd,会被拒绝。
GET /v1/files
Query 参数
响应(200)
Entry 字段
entries 数组排序稳定:directory 优先,再按 name 字典序(区分大小写)。
错误响应
示例
GET /v1/files/content
单文件流式下载,支持 HTTP Range。必填 query 参数path 为相对 cwd 的文件路径。
成功响应(200)的响应头:
Range 请求
支持单段 Range,返回206 Partial Content:
多段 Range(如
bytes=0-99,200-299)回退为 200 全文件返回。
错误响应
示例
HEAD /v1/files/content
与GET 相同的 query 参数和响应头,但没有响应体。用于下载前预查 Content-Length / Content-Type,或验证文件是否存在(404 与 200 区分)。
路径安全
所有path 参数都经过统一的 safeResolve 检查:
- 拒绝 null byte:
path含\0返回400。 - 拒绝绝对路径:如
/etc/passwd返回400。 - 拒绝路径遍历:如
../、sub/../../返回400。 - 拒绝 symlink 逃逸:cwd 内的符号链接若解析后指向 cwd 外,下载时返回
400;列表时省略target字段。
范围边界
Files API 不提供:- 文件上传、写入、删除(只读)
- 文件搜索或 glob
- 目录打包(tar/zip)
- 文件变更通知
- 内容脱敏
- 多根目录(cwd 是唯一根)
相关
- Agent 详情 API:同类只读接口