{
  "schemaVersion": "1.0",
  "item": {
    "slug": "hummingbot-deploy",
    "name": "Hummingbot Deploy",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/fengtality/hummingbot-deploy",
    "canonicalUrl": "https://clawhub.ai/fengtality/hummingbot-deploy",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/hummingbot-deploy",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=hummingbot-deploy",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "scripts/check_env.sh",
      "scripts/install_mcp.sh",
      "scripts/verify.sh"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/hummingbot-deploy"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/hummingbot-deploy",
    "agentPageUrl": "https://openagent3.xyz/skills/hummingbot-deploy/agent",
    "manifestUrl": "https://openagent3.xyz/skills/hummingbot-deploy/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/hummingbot-deploy/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "hummingbot-deploy",
        "body": "Deploy the Hummingbot trading infrastructure. Before starting, explain to the user what will be installed:"
      },
      {
        "title": "What You're Installing",
        "body": "Hummingbot API (Required): Your personal trading server that exposes a standardized REST API for trading, fetching market data, and deploying bot strategies across many CEXs and DEXs.\n\n\nHummingbot MCP (Optional): MCP server that helps AI agents (Claude, Gemini, Codex, etc.) interact with Hummingbot API. Only needed if using AI agent CLIs.\n\n\nCondor (Optional): Terminal and Telegram-based UI for Hummingbot API."
      },
      {
        "title": "Components",
        "body": "ComponentRepositoryHummingbot APIhummingbot/hummingbot-apiMCP Serverhummingbot/mcpCondorhummingbot/condor"
      },
      {
        "title": "Pre-Installation Check",
        "body": "Only Hummingbot API is required. MCP and Condor are optional add-ons.\n\nFirst, run the environment check to verify prerequisites:\n\nbash <(curl -s https://raw.githubusercontent.com/hummingbot/skills/main/skills/hummingbot-deploy/scripts/check_env.sh)\n\nThis checks: container detection, TTY, Docker, Docker Compose, Git, Make."
      },
      {
        "title": "Install Hummingbot API",
        "body": "If ./hummingbot-api already exists, verify it's running by checking docker logs:\n\ncd ./hummingbot-api && make deploy && sleep 2 && docker logs hummingbot-api 2>&1 | grep -i \"uvicorn running\"\n\nIf logs show \"Uvicorn running\", skip to \"Install MCP Server\". Otherwise, reset and reinstall.\n\nFresh install:\n\ngit clone https://github.com/hummingbot/hummingbot-api.git ./hummingbot-api\ncd ./hummingbot-api\n\nOn regular machines (interactive TTY - check_env.sh shows \"Interactive TTY: Yes\"):\n\nmake setup    # Prompts for: API username, password, config password (defaults: admin/admin/admin)\nmake deploy\n\nIn containers (no TTY - check with [ -t 0 ] && echo \"TTY\" || echo \"No TTY\"):\n\n# Set USER env var and create sudo shim if needed\nexport USER=${USER:-root}\n[ \"$(id -u)\" = \"0\" ] && ! command -v sudo &>/dev/null && echo -e '#!/bin/bash\\nwhile [[ \"$1\" == *=* ]]; do export \"$1\"; shift; done\\nexec \"$@\"' > /usr/local/bin/sudo && chmod +x /usr/local/bin/sudo\n\n# Create .env manually (skip interactive setup)\n# Note: In containers, services communicate via Docker network (use container names, not localhost)\ncat > .env << EOF\nAPI_USER=admin\nAPI_PASS=admin\nCONFIG_API_PASS=admin\nDEBUG_MODE=false\nBROKER_HOST=hummingbot-broker\nBROKER_PORT=1883\nBROKER_API_USER=admin\nBROKER_PASSWORD=password\nDATABASE_URL=postgresql+asyncpg://hbot:hummingbot-api@hummingbot-postgres:5432/hummingbot_api\nBOTS_PATH=/hummingbot-api/bots\nEOF\n\n# Patch docker-compose.yml (bind mounts don't work in Docker-in-Docker)\nsed -i 's|./bots:/hummingbot-api/bots|hummingbot-bots:/hummingbot-api/bots|g' docker-compose.yml\nsed -i '/init-db.sql.*docker-entrypoint/d' docker-compose.yml\n# Add volume definition (check last 5 lines to avoid false positive from service definition)\ntail -5 docker-compose.yml | grep -q \"hummingbot-bots:\" || echo \"  hummingbot-bots: { }\" >> docker-compose.yml\n\ntouch .setup-complete\nmake deploy\n\nVerify: Wait 2 seconds then check logs for \"Uvicorn running on http://0.0.0.0:8000\":\n\nsleep 2 && docker logs hummingbot-api 2>&1 | grep -i \"uvicorn running\""
      },
      {
        "title": "Install MCP Server",
        "body": "Install the MCP server using your CLI's native command. Use the same credentials from API setup.\n\nIMPORTANT: Do NOT ask the user which CLI to use. You already know which CLI you are:\n\nIf you are Claude Code, use claude\nIf you are Gemini CLI, use gemini\nIf you are Codex CLI, use codex\n\nbash <(curl -s https://raw.githubusercontent.com/hummingbot/skills/main/skills/hummingbot-deploy/scripts/install_mcp.sh) \\\n  --agent <YOUR_CLI> --user <API_USER> --pass <API_PASS>\n\nExample for Claude (substitute your actual CLI name and credentials):\n\nbash <(curl -s https://raw.githubusercontent.com/hummingbot/skills/main/skills/hummingbot-deploy/scripts/install_mcp.sh) \\\n  --agent claude --user admin --pass admin"
      },
      {
        "title": "Installation Complete",
        "body": "After all components are installed, tell the user:\n\nRestart your AI agent (Claude Code, Gemini CLI, Codex CLI, etc.) to load the MCP server\nInstall Hummingbot Skills to enable trading capabilities:\nnpx skills add hummingbot/skills"
      },
      {
        "title": "Install Condor (Optional)",
        "body": "git clone https://github.com/hummingbot/condor.git ./condor\ncd ./condor\nbash setup-environment.sh  # Prompts for Telegram bot token\nmake deploy"
      },
      {
        "title": "Upgrade",
        "body": "cd ./hummingbot-api && git pull && make deploy"
      },
      {
        "title": "Verify Installation",
        "body": "bash <(curl -s https://raw.githubusercontent.com/hummingbot/skills/main/skills/hummingbot-deploy/scripts/verify.sh)"
      },
      {
        "title": "Troubleshooting",
        "body": "# View logs\ncd ./hummingbot-api && docker compose logs -f\n\n# Reset\ncd ./hummingbot-api && docker compose down -v && rm -rf ./hummingbot-api"
      },
      {
        "title": "See Also",
        "body": "Hummingbot API Docs\nMCP Server Docs"
      }
    ],
    "body": "hummingbot-deploy\n\nDeploy the Hummingbot trading infrastructure. Before starting, explain to the user what will be installed:\n\nWhat You're Installing\n\nHummingbot API (Required): Your personal trading server that exposes a standardized REST API for trading, fetching market data, and deploying bot strategies across many CEXs and DEXs.\n\nHummingbot MCP (Optional): MCP server that helps AI agents (Claude, Gemini, Codex, etc.) interact with Hummingbot API. Only needed if using AI agent CLIs.\n\nCondor (Optional): Terminal and Telegram-based UI for Hummingbot API.\n\nComponents\nComponent\tRepository\nHummingbot API\thummingbot/hummingbot-api\nMCP Server\thummingbot/mcp\nCondor\thummingbot/condor\nPre-Installation Check\n\nOnly Hummingbot API is required. MCP and Condor are optional add-ons.\n\nFirst, run the environment check to verify prerequisites:\n\nbash <(curl -s https://raw.githubusercontent.com/hummingbot/skills/main/skills/hummingbot-deploy/scripts/check_env.sh)\n\n\nThis checks: container detection, TTY, Docker, Docker Compose, Git, Make.\n\nInstall Hummingbot API\n\nIf ./hummingbot-api already exists, verify it's running by checking docker logs:\n\ncd ./hummingbot-api && make deploy && sleep 2 && docker logs hummingbot-api 2>&1 | grep -i \"uvicorn running\"\n\n\nIf logs show \"Uvicorn running\", skip to \"Install MCP Server\". Otherwise, reset and reinstall.\n\nFresh install:\n\ngit clone https://github.com/hummingbot/hummingbot-api.git ./hummingbot-api\ncd ./hummingbot-api\n\n\nOn regular machines (interactive TTY - check_env.sh shows \"Interactive TTY: Yes\"):\n\nmake setup    # Prompts for: API username, password, config password (defaults: admin/admin/admin)\nmake deploy\n\n\nIn containers (no TTY - check with [ -t 0 ] && echo \"TTY\" || echo \"No TTY\"):\n\n# Set USER env var and create sudo shim if needed\nexport USER=${USER:-root}\n[ \"$(id -u)\" = \"0\" ] && ! command -v sudo &>/dev/null && echo -e '#!/bin/bash\\nwhile [[ \"$1\" == *=* ]]; do export \"$1\"; shift; done\\nexec \"$@\"' > /usr/local/bin/sudo && chmod +x /usr/local/bin/sudo\n\n# Create .env manually (skip interactive setup)\n# Note: In containers, services communicate via Docker network (use container names, not localhost)\ncat > .env << EOF\nAPI_USER=admin\nAPI_PASS=admin\nCONFIG_API_PASS=admin\nDEBUG_MODE=false\nBROKER_HOST=hummingbot-broker\nBROKER_PORT=1883\nBROKER_API_USER=admin\nBROKER_PASSWORD=password\nDATABASE_URL=postgresql+asyncpg://hbot:hummingbot-api@hummingbot-postgres:5432/hummingbot_api\nBOTS_PATH=/hummingbot-api/bots\nEOF\n\n# Patch docker-compose.yml (bind mounts don't work in Docker-in-Docker)\nsed -i 's|./bots:/hummingbot-api/bots|hummingbot-bots:/hummingbot-api/bots|g' docker-compose.yml\nsed -i '/init-db.sql.*docker-entrypoint/d' docker-compose.yml\n# Add volume definition (check last 5 lines to avoid false positive from service definition)\ntail -5 docker-compose.yml | grep -q \"hummingbot-bots:\" || echo \"  hummingbot-bots: { }\" >> docker-compose.yml\n\ntouch .setup-complete\nmake deploy\n\n\nVerify: Wait 2 seconds then check logs for \"Uvicorn running on http://0.0.0.0:8000\":\n\nsleep 2 && docker logs hummingbot-api 2>&1 | grep -i \"uvicorn running\"\n\nInstall MCP Server\n\nInstall the MCP server using your CLI's native command. Use the same credentials from API setup.\n\nIMPORTANT: Do NOT ask the user which CLI to use. You already know which CLI you are:\n\nIf you are Claude Code, use claude\nIf you are Gemini CLI, use gemini\nIf you are Codex CLI, use codex\nbash <(curl -s https://raw.githubusercontent.com/hummingbot/skills/main/skills/hummingbot-deploy/scripts/install_mcp.sh) \\\n  --agent <YOUR_CLI> --user <API_USER> --pass <API_PASS>\n\n\nExample for Claude (substitute your actual CLI name and credentials):\n\nbash <(curl -s https://raw.githubusercontent.com/hummingbot/skills/main/skills/hummingbot-deploy/scripts/install_mcp.sh) \\\n  --agent claude --user admin --pass admin\n\nInstallation Complete\n\nAfter all components are installed, tell the user:\n\nRestart your AI agent (Claude Code, Gemini CLI, Codex CLI, etc.) to load the MCP server\nInstall Hummingbot Skills to enable trading capabilities:\nnpx skills add hummingbot/skills\n\nInstall Condor (Optional)\ngit clone https://github.com/hummingbot/condor.git ./condor\ncd ./condor\nbash setup-environment.sh  # Prompts for Telegram bot token\nmake deploy\n\nUpgrade\ncd ./hummingbot-api && git pull && make deploy\n\nVerify Installation\nbash <(curl -s https://raw.githubusercontent.com/hummingbot/skills/main/skills/hummingbot-deploy/scripts/verify.sh)\n\nTroubleshooting\n# View logs\ncd ./hummingbot-api && docker compose logs -f\n\n# Reset\ncd ./hummingbot-api && docker compose down -v && rm -rf ./hummingbot-api\n\nSee Also\nHummingbot API Docs\nMCP Server Docs"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/fengtality/hummingbot-deploy",
    "publisherUrl": "https://clawhub.ai/fengtality/hummingbot-deploy",
    "owner": "fengtality",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/hummingbot-deploy",
    "downloadUrl": "https://openagent3.xyz/downloads/hummingbot-deploy",
    "agentUrl": "https://openagent3.xyz/skills/hummingbot-deploy/agent",
    "manifestUrl": "https://openagent3.xyz/skills/hummingbot-deploy/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/hummingbot-deploy/agent.md"
  }
}