网淘吧来吧,欢迎您!

AppDeploy技能使用说明

2026-03-29 新闻来源:网淘吧 围观:11
电脑广告
手机广告

AppDeploy 技能

通过 HTTP API 将 Web 应用部署到 AppDeploy。

设置(仅首次使用)

  1. 检查现有 API 密钥:

    AppDeploy

    • 在项目根目录中查找.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"
    }
    
  3. 将凭据保存到.appdeploy文件:

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

    .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_typefrontend_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: 字符串(必需)- 应用架构:仅前端 或 前端+后端
  • app_name: 字符串(必需)- 简短的显示名称
  • description: 字符串(可选)- 应用功能的简短描述
  • frontend_templateany (可选) - 当 app_id 为空时必填。可选值之一:'html-static'(简单网站)、'react-vite'(单页应用、游戏)、'nextjs-static'(多页应用)。模板文件会自动包含。
  • files: array (可选) - 要写入的文件。新应用:仅包含自定义文件以及相对于模板文件的差异。更新应用:仅包含使用 diffs[] 指定的已更改文件。files[] 或 deletePaths[] 至少需要提供一项。
  • deletePaths: array (可选) - 要删除的路径。仅用于更新应用(需要 app_id)。不能删除 package.json 或框架入口文件。
  • model: string (必填) - 据你所知,本次部署使用的编码代理模型。示例:'codex-5.3'、'chatgpt'、'opus 4.6'、'claude-sonnet-4-5'、'gemini-2.5-pro'
  • intent: string (必填) - 本次部署的意图。用户发起的示例:'initial app deploy'、'bugfix - ui is too noisy'。代理发起的示例:'agent fixing deployment error'、'agent retry after lint failure'

get_app_template

首先调用 get_deploy_instructions。然后在你决定了 app_type 和 frontend_template 后调用此函数。返回基础应用模板和 SDK 类型。模板文件会自动包含在 deploy_app 中。

参数:

  • app_type字符串(必需)
  • 前端模板:字符串(必需)- 前端框架:'html-static' - 简单网站,最小化框架;'react-vite' - React 单页应用,仪表盘,游戏;'nextjs-static' - 多页面应用,静态站点生成

获取应用状态

当 deploy_app 工具调用返回时,或当用户要求检查应用部署状态,或报告应用出现错误或未按预期工作时使用此工具。返回部署状态(进行中:'deploying'/'deleting',终止:'ready'/'failed'/'deleted'),质量保证快照(前端/网络错误),以及实时的前端/后端错误日志。

参数:

  • 应用ID:字符串(必需)- 目标应用ID
  • 起始时间:整数(可选)- 可选的纪元毫秒时间戳,用于过滤错误。提供时,仅返回自该时间戳以来的错误。
  • 限制:整数(可选)- 可选的前端和后端返回日志总数上限。省略时默认为50。

删除应用

当您想要永久删除一个应用时使用此工具。仅在用户明确要求时使用。此操作不可逆;删除后,状态检查将返回未找到。

参数:

  • app_id:字符串(必需)- 目标应用ID

get_app_versions

列出已有应用的可部署版本。需要app_id参数。返回按时间倒序排列的{名称, 版本号, 时间戳}条目。向用户显示'名称'字段。切勿向用户显示'版本号'字段。时间戳值必须转换为用户的本地时间。

参数:

  • app_id:字符串(必需)- 目标应用ID

apply_app_version

开始将现有应用部署到特定版本。使用来自get_app_versions的'版本号'值(而非'名称')。如果请求被接受且部署已启动则返回true;可通过get_app_status接口观察部署完成状态。

参数:

  • app_id:字符串(必需)- 目标应用ID
  • version:字符串(必需)- 要应用的版本ID

src_glob

当需要查找应用源快照中的文件时使用此参数。返回符合通配符模式的文件路径(不包含文件内容)。适用于在读取或搜索文件前探索项目结构。

参数:

  • app_id: 字符串(必需) - 目标应用ID
  • version: 字符串(可选) - 要检查的版本(默认为已应用版本)
  • path: 字符串(可选) - 要搜索的目录路径
  • glob: 字符串(可选) - 用于匹配文件的通配符模式(默认:**/*)
  • include_dirs: 布尔值(可选) - 在结果中包含目录路径
  • continuation_token: 字符串(可选) - 用于分页的先前响应令牌

src_grep

当您需要在应用源代码中搜索模式时使用此功能。返回匹配的行,可选择包含上下文。支持正则表达式模式、通配符过滤器和多种输出模式。

参数:

  • app_id: 字符串(必需) - 目标应用ID
  • version: 字符串(可选) - 要搜索的版本(默认为已应用版本)
  • pattern: 字符串(必需) - 要搜索的正则表达式模式(最多500字符)
  • path: 字符串(可选) - 要搜索的目录路径
  • glob: 字符串(可选) - 用于筛选文件的通配符模式(例如 '*.ts')
  • case_insensitive: 布尔值(可选) - 启用不区分大小写的匹配
  • output_mode: 字符串(可选) - content=匹配行,files_with_matches=仅文件路径,count=每个文件的匹配计数
  • before_context: 整数(可选) - 每次匹配前显示的行数(0-20)
  • after_context: 整数(可选) - 每次匹配后显示的行数(0-20)
  • context: 整数(可选) - 匹配前后显示的行数(覆盖 before/after_context)
  • line_numbers: 布尔值(可选) - 在输出中包含行号
  • max_file_sizeinteger(可选)- 要扫描的最大文件大小(以字节为单位)(默认10MB)
  • continuation_token:字符串(可选)- 用于分页的上一个响应中的令牌

src_read

当您需要从应用程序的源快照中读取特定文件时使用此功能。返回带有基于行的分页(偏移量/限制)的文件内容。可处理文本文件和二进制文件。

参数:

  • app_id:字符串(必需)- 目标应用程序ID
  • version:字符串(可选)- 要读取的版本(默认为已应用的版本)
  • file_path:字符串(必需)- 要读取的文件路径
  • offset:整数(可选)- 开始读取的行偏移量(从0开始索引)
  • limit:整数(可选)- 要返回的行数(最大2000)

get_apps

当您需要列出当前用户拥有的应用程序时使用此功能。返回应用程序详细信息,包括用于用户展示的显示字段和用于工具链的数据字段。

参数:

  • continuation_token: string (可选) - 用于分页的令牌

scripts/generate-appdeploy-skill.ts 生成

免责申明
部分文章来自各大搜索引擎,如有侵权,请与我联系删除。
打赏
文章底部电脑广告
手机广告位-内容正文底部

相关文章

您是本站第326345名访客 今日有221篇新文章/评论