SuperAPI AI 工具集

projects

部署与运维

查看项目

更新于 10-15 15:12

技能介绍

用途

该技能用于管理 Railway 项目,包括列出、切换和配置项目。当用户提出以下需求时使用:查看所有项目、了解自己拥有哪些项目、查看跨工作区的项目、查看自己有哪些工作区、切换到其他项目、重命名项目、启用或禁用 PR 部署、将项目设为公开或私有,以及查看项目设置。

主要能力

列出项目

railway list --json 的输出可能非常大。建议在子代理中运行,只返回必要字段:

  • 项目:id、name
  • 工作区:id、name
  • 服务:name(可选,当用户需要服务上下文时)

提取并返回简化摘要,而不是完整 JSON。

列出工作区

railway whoami --json 返回用户信息,包括用户所属的所有工作区。

切换项目

将其他项目链接到当前目录:

railway link -p <project-id-or-name>

或以交互方式:

railway link

切换后,可使用 status 技能查看项目详情。

更新项目

通过 GraphQL API 修改项目设置。

获取项目 ID:

railway status --json

从响应中提取 project.id。

更新变更:

bash <<'SCRIPT'
scripts/railway-api.sh \
  'mutation updateProject($id: String!, $input: ProjectUpdateInput!) {
    projectUpdate(id: $id, input: $input) { name prDeploys isPublic botPrEnvironments }
  }' \
  '{"id": "PROJECT_ID", "input": {"name": "new-name"}}'
SCRIPT

ProjectUpdateInput 字段:

字段 类型 描述
name String 项目名称
description String 项目描述
isPublic Boolean 将项目设为公开/私有
prDeploys Boolean 启用/禁用 PR 部署
botPrEnvironments Boolean 启用 Dependabot/Renovate PR 环境

示例:

重命名项目:

scripts/railway-api.sh '<mutation>' '{"id": "uuid", "input": {"name": "new-name"}}'

启用 PR 部署:

scripts/railway-api.sh '<mutation>' '{"id": "uuid", "input": {"prDeploys": true}}'

将项目设为公开:

scripts/railway-api.sh '<mutation>' '{"id": "uuid", "input": {"isPublic": true}}'

多个字段:

scripts/railway-api.sh '<mutation>' '{"id": "uuid", "input": {"name": "new-name", "prDeploys": true}}'

使用方式

该技能通过 Railway CLI 命令与 GraphQL API 脚本配合使用。列出项目使用 railway list --json,列出工作区使用 railway whoami --json,切换项目使用 railway link,获取项目 ID 使用 railway status --json,更新项目设置则调用 scripts/railway-api.sh 执行 projectUpdate 变更。

适用场景

  • 用户询问“显示我所有的项目”或“我有哪些项目”
  • 用户询问跨工作区的项目
  • 用户询问“我有哪些工作区”
  • 用户想切换到其他项目
  • 用户要求重命名项目
  • 用户想启用/禁用 PR 部署
  • 用户想将项目设为公开或私有
  • 用户询问项目设置

限制与错误处理

  • 未认证:提示先运行 railway login。
  • 无项目:提示使用 railway init 创建项目。
  • 权限被拒绝:提示检查 Railway 角色。
  • 项目未找到:提示运行 railway list 查看可用项目。

组合使用

  • 查看项目详情:使用 status 技能
  • 创建新项目:使用 new 技能
  • 管理环境:使用 environment 技能