SuperAPI AI 工具集

appdeploy

部署与运维

查看项目

更新于 10-15 12:43

技能介绍

AppDeploy Skill 用于通过 HTTP API 将 Web 应用部署到 AppDeploy,支持带后端 API、数据库和文件存储的应用。

用途

当用户计划或构建应用、需要将应用部署到公开 URL、发布网站或 Web 应用、说出“deploy this”“make this live”“give me a URL”,或需要更新已部署的应用时,可使用本技能。

首次设置

  1. 检查项目根目录是否存在 .appdeploy 文件;若存在且包含有效 api_key,则跳过设置直接使用。
  2. 若无 API 密钥,通过以下命令注册获取:

curl -X POST https://api-v2.appdeploy.ai/mcp/api-key
-H "Content-Type: application/json"
-d '{"client_name": "claude-code"}'

响应示例:

{ "api_key": "ak_...", "user_id": "agent-claude-code-a1b2c3d4", "created_at": 1234567890, "message": "Save this key securely - it cannot be retrieved later" }

  1. 将凭据保存到 .appdeploy:

{ "api_key": "ak_...", "endpoint": "https://api-v2.appdeploy.ai/mcp" }

  1. 将 .appdeploy 加入 .gitignore(若尚未添加)。

使用方式

向 MCP 端点发起 JSON-RPC 调用:

curl -X POST {endpoint}
-H "Content-Type: application/json"
-H "Accept: application/json, text/event-stream"
-H "Authorization: Bearer {api_key}"
-d '{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "{tool_name}", "arguments": { ... } } }'

工作流程

  1. 调用 get_deploy_instructions 了解部署约束与硬性规则。
  2. 调用 get_app_template,传入选定的 app_type 和 frontend_template。
  3. 调用 deploy_app 部署应用;新应用将 app_id 设为 null。
  4. 调用 get_app_status 检查构建是否成功。
  5. 使用 get_apps 列出已部署的应用。

可用工具

get_deploy_instructions:在调用 deploy_app 前获取部署约束和硬性规则,必须在生成任何代码前调用。仅返回说明,不执行部署。

deploy_app:当用户要求部署或发布网站/Web 应用并希望获得公开 URL 时使用。生成文件或调用本工具前,必须先调用 get_deploy_instructions 并遵循其约束。参数包括:app_id(必填,已有应用 id 或新应用为 null)、app_type(必填,frontend-only 或 frontend+backend)、app_name(必填,简短显示名)、description(可选)、frontend_template(app_id 为 null 时必填,可选 html-static、react-vite、nextjs-static,模板文件自动包含)、files(可选,新应用仅自定义文件及模板差异,更新仅变更文件使用 diffs[],files[] 或 deletePaths[] 至少一项)、deletePaths(可选,仅用于更新,不能删除 package.json 或框架入口)、model(必填,部署所用编码代理模型)、intent(必填,部署意图)。

get_app_template:先调用 get_deploy_instructions,再在确定 app_type 和 frontend_template 后调用。返回基础应用模板和 SDK 类型,模板文件自动包含在 deploy_app 中。参数:app_type(必填)、frontend_template(必填,html-static 适合简单站点,react-vite 适合 React SPA/仪表盘/游戏,nextjs-static 适合多页应用/SSG)。

get_app_status:当 deploy_app 返回或用户要求检查部署状态、报告应用出错或未按预期工作时使用。返回部署状态(进行中:deploying/deleting;终态:ready/failed/deleted)、QA 快照(前端/网络错误)以及实时前端/后端错误日志。参数:app_id(必填)、since(可选,epoch 毫秒时间戳过滤错误)。

delete_app:永久删除应用,仅在用户明确要求时使用。不可逆,删除后状态检查将返回 not found。参数:app_id(必填)。

get_app_versions:列出已有应用的可部署版本,需 app_id。返回按最新优先的 {name, version, timestamp} 项。向用户显示 name,不要显示 version 值,时间戳必须转换为用户本地时间。参数:app_id(必填)。

apply_app_version:开始部署已有应用的特定版本。使用 get_app_versions 返回的 version 值(非 name)。若接受并开始部署返回 true,使用 get_app_status 观察完成情况。参数:app_id(必填)、version(必填)。

src_glob:发现应用源码快照中的文件,返回匹配 glob 模式的文件路径(不含内容)。参数:app_id(必填)、version(可选,默认已应用版本)、path(可选)、glob(可选,默认 **/*)、include_dirs(可选)、continuation_token(可选,分页)。

src_grep:在应用源码中搜索模式,返回匹配行及可选上下文,支持正则、glob 过滤和多种输出模式。参数:app_id(必填)、version(可选)、pattern(必填,正则,最多 500 字符)、path(可选)、glob(可选)、case_insensitive(可选)、output_mode(可选,content/files_with_matches/count)、before_context(可选,0-20)、after_context(可选,0-20)、context(可选,覆盖前后上下文)、line_numbers(可选)、max_file_size(可选,默认 10MB)、continuation_token(可选)。

src_read:读取应用源码快照中的特定文件,返回带基于行分页(offset/limit)的文件内容,支持文本和二进制文件。参数:app_id(必填)、version(可选)、file_path(必填)、offset(可选,0 起始)、limit(可选,最多 2000 行)。

get_apps:列出当前用户拥有的应用,返回用于用户展示的显示字段和用于工具链的数据字段。参数:continuation_token(可选,分页)。

限制

仅在任务明确匹配上述范围时使用本技能。不要将输出视为环境特定验证、测试或专家审查的替代。若缺少必需输入、权限、安全边界或成功标准,应停止并请求澄清。