• 产品简介
  • 快速开始
    • Agent 开发
    • 导入 Git 仓库
    • 从模板开始
    • 直接上传
    • 从 AI 开始
  • 框架指南
    • Agent
    • 前端
      • Vite
      • React
      • Vue
      • Hugo
      • 其他框架
    • 后端
    • 全栈
      • Next.js
      • Nuxt
      • Astro
      • React Router
      • SvelteKit
      • TanStack Start
      • Vike
    • 自定义 404 页面
  • 项目指南
    • 项目管理
    • edgeone.json
    • 缓存配置
    • 构建输出配置
    • 域名管理
      • 概览
      • 自定义域名
      • 配置 HTTPS 证书
        • 概览
        • 申请免费证书
        • 使用 SSL 托管证书
      • 配置 DNS 的 CNAME 记录
    • 错误码
  • 构建指南
  • 部署指南
    • 概览
    • 触发部署
    • 管理部署
    • 部署按钮
    • 使用 Github Action
    • 使用 Gitlab CI/CD
    • 使用 CNB 插件
    • 使用 IDE 插件
    • 使用 CodeBuddy IDE
  • Makers for Platforms
    • 平台与多租户
    • Vibe Coding 解决方案
    • 模板示例
      • Vibe Coding 通用模板
      • Vibe Coding 平台模板
  • 可观测性
    • 概览
    • 指标分析
    • 日志分析
  • Functions
    • 概览
    • Edge Functions
    • Cloud Functions
      • 概览
      • Node.js
      • Python
      • Go
  • Agents
    • 概览
    • 快速开始
    • 会话管理
    • 可观测
    • 沙箱工具
      • 概览
      • Agent 框架使用
      • 沙箱原子 API
      • 网络搜索工具
    • Agent 应用鉴权
  • Models
    • 概览
    • 模型与厂商
      • 概览
      • 使用朱雀模型
      • 使用 Jev 模型
      • 使用厂商密钥
        • OpenAI
        • Anthropic
        • Google AI Studio
        • DeepSeek
        • MiniMax
        • 混元
        • 智谱
        • 月之暗面
    • 常见问题
  • 存储
    • 概览
    • KV
    • Blob
  • 中间件
  • AI 原生开发
    • Skills
    • MCP
    • Plugin
  • Copilot
    • 概览
    • 快速开始
  • API Token
  • EdgeOne CLI
  • Makers SDK
    • 概览
    • 示例
      • 通过 SDK 部署
      • 通过 CLI 部署
      • 项目管理
    • 项目
      • 项目操作
      • 环境变量
    • 部署
  • 消息通知
  • 集成指南
    • AI
      • Makers Models 集成
      • 图片大模型集成
    • 数据库
      • Supabase 集成
      • Pages KV 集成
    • 电商
      • Shopify 集成
      • WooCommerce 集成
    • 支付
      • Stripe 集成
      • Paddle 集成
    • CMS
      • WordPress 集成
      • Contentful 集成
      • Sanity 集成
      • Payload 集成
    • 身份验证
      • Supabase 集成
      • Clerk 集成
    • IM
      • 概览
      • 企业微信
      • 飞书
      • 钉钉
      • Telegram
      • Slack
      • Discord
  • 最佳实践
    • 为网站添加 AI 对话助手
    • AI 对话式部署:使用 Skill 一句话部署项目
    • 使用 Makers Agents 快速搭建 Agent 应用
    • 使用 Shopify 搭建电商平台
    • 使用 Supabase 和 Stripe 搭建 SaaS 站点
    • 如何快速搭建公司品牌站点
    • 如何快速搭建博客站点
    • 在 WorkBuddy 中通过免登录部署快速上线
  • 迁移指南
    • 从 Vercel 迁移至 EdgeOne Makers
    • 从 Cloudflare Pages 迁移至 EdgeOne Makers
    • 从 Netlify 迁移至 EdgeOne Makers
  • 排障指南
  • 常见问题
  • 限制与配额
  • 价格与套餐
  • 联系我们
  • 产品动态

项目操作

本章将介绍 makers.projects 上的项目创建、列出、查询、更新和删除方法。环境变量方法同样由 makers.projects 提供,更多信息请参见 环境变量。

数据模型

projects.list、projects.listAll 与 projects.get 返回项目对象,projects.create 只返回项目 ID,projects.update 与 projects.delete 无返回值。
字段
类型
必有
说明
projectId/project_id
string/str
是
项目 ID
name
string/str
是
同一账号下唯一的项目名称
status
string/str
是
项目状态
area
"mainland" | "overseas" | "global"
否
加速区域,分别对应中国大陆可用区、全球可用区(不含中国大陆)和全球可用区
presetDomain/preset_domain
string/str
否
项目域名,仅由 projects.get 返回
createdOn/created_on
string/str
是
创建时间,格式为 ISO 8601
modifiedOn/modified_on
string/str
是
修改时间,格式为 ISO 8601

projects.create

项目名称在同一账号下唯一,重复时抛出 ConflictError。

参数
参数
类型
必填
说明
name
string/str
是
同一账号下唯一的项目名称,重复时抛出 ConflictError
area
"mainland" | "overseas" | "global"
否
加速区域
initialEnvVars/initial_env_vars
EnvVar[]/list[dict]
否
创建项目时一并写入的环境变量。
返回值
Promise<CreateProjectResult>/dict —— 只包含 projectId/project_id。项目状态、项目域名等信息需通过 projects.get 查询。

示例
Typescript
Python
const { projectId } = await makers.projects.create({
name: "docs-site",
area: "overseas",
initialEnvVars: [{ key: "API_URL", value: "https://example.com" }],
});
created = makers.projects.create(
name="docs-site",
area="overseas",
initial_env_vars=[{"key": "API_URL", "value": "https://example.com"}],
)
project_id = created["project_id"]

projects.list

分页列出项目。

参数
参数
类型
必填
说明
projectIds/project_ids
string[]/list[str]
否
按项目 ID 过滤
name
string/str
否
按项目名称过滤
status
string/str
否
按项目状态过滤
provider
string/str
否
按 Provider 过滤
page
number/int
否
页码,从 0 开始,默认 0
pageSize/page_size
number/int
否
每页条数,取值范围为 1 至 100,默认 20
order.field
string/str
否
两种语言的取值不同,TypeScript 为 "createdOn" 或 "modifiedOn",Python 为 "created_on" 或 "modified_on"
order.direction
"asc" | "desc"
否
排序方向
返回值
Promise<Page<Project>>/dict —— 包含 items、page、pageSize/page_size、total 和 hasNext/has_next 五个字段。页码从 0 开始。

示例
Typescript
Python
const page = await makers.projects.list({
name: "docs",
page: 0,
pageSize: 20,
order: { field: "createdOn", direction: "desc" },
});

console.log(page.total, page.hasNext);
for (const project of page.items) {
console.log(project.projectId, project.name);
}
page = makers.projects.list(
name="docs",
page=0,
page_size=20,
order={"field": "created_on", "direction": "desc"},
)

print(page["total"], page["has_next"])
for project in page["items"]:
print(project["project_id"], project["name"])

projects.listAll / projects.list_all

过滤与排序参数与 projects.list 相同,但不接受 page。

参数
参数
类型
必填
说明
projectIds/project_ids
string[]/list[str]
否
按项目 ID 过滤
name
string/str
否
按项目名称过滤
status
string/str
否
按项目状态过滤
provider
string/str
否
按 Provider 过滤
pageSize/page_size
number/int
否
每页条数,取值范围为 1 至 100,默认 20
order.field
string/str
否
两种语言的取值不同,TypeScript 为 "createdOn" 或 "modifiedOn",Python 为 "created_on" 或 "modified_on"
order.direction
"asc" | "desc"
否
排序方向
返回值
AsyncIterable<Project>/Iterator[dict] —— 由 SDK 自动翻页。TypeScript 用 for await 逐条取出,Python 用 for 逐条取出。

示例
Typescript
Python
for await (const project of makers.projects.listAll()) {
console.log(project.projectId, project.name);
}
for project in makers.projects.list_all():
print(project["project_id"], project["name"])

projects.get

按项目 ID 查询单个项目,项目不存在时抛出 NotFoundError。

参数
参数
类型
必填
说明
projectId/project_id
string/str
是
项目 ID
返回值
Promise<Project>/dict

示例
Typescript
Python
const project = await makers.projects.get({ projectId: "your-project-id" });
console.log(project.name, project.presetDomain);
project = makers.projects.get(project_id="your-project-id")
print(project["name"], project.get("preset_domain"))

projects.update

只传入需要修改的字段,未传入的字段保持原值。
可更新的内容包括项目名称,以及构建部署配置中的根目录、输出目录、构建命令、安装命令、框架预设和 Node 版本。

参数
参数
类型
必填
说明
projectId/project_id
string/str
是
项目 ID
name
string/str
否
项目名称
rootDir/root_dir
string/str
否
根目录
outputDir/output_dir
string/str
否
输出目录
buildCmd/build_cmd
string/str
否
构建命令
installCmd/install_cmd
string/str
否
安装命令
framework
string/str
否
框架预设
nodejsVersion/nodejs_version
string/str
否
Node 版本
返回值
Promise<void>/None

示例
Typescript
Python
await makers.projects.update({
projectId: "your-project-id",
name: "new-name",
rootDir: ".",
outputDir: "dist",
buildCmd: "npm run build",
installCmd: "npm install",
framework: "other",
nodejsVersion: "20",
});
makers.projects.update(
project_id="your-project-id",
name="new-name",
root_dir=".",
output_dir="dist",
build_cmd="npm run build",
install_cmd="npm install",
framework="other",
nodejs_version="20",
)

projects.delete

按项目 ID 删除项目,项目不存在时抛出 NotFoundError。

参数
参数
类型
必填
说明
projectId/project_id
string/str
是
项目 ID
返回值
Promise<void>/None

示例
Typescript
Python
await makers.projects.delete({ projectId: "your-project-id" });
makers.projects.delete(project_id="your-project-id")

ai-agent