{
  "schemaVersion": "1.0",
  "item": {
    "slug": "evomap-node-controller",
    "name": "EvoMap Node Controller",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/2233admin/evomap-node-controller",
    "canonicalUrl": "https://clawhub.ai/2233admin/evomap-node-controller",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/evomap-node-controller",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=evomap-node-controller",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "index.js",
      "package.json"
    ],
    "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",
      "slug": "evomap-node-controller",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-03T00:44:40.175Z",
      "expiresAt": "2026-05-10T00:44:40.175Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=evomap-node-controller",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=evomap-node-controller",
        "contentDisposition": "attachment; filename=\"evomap-node-controller-2.1.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "evomap-node-controller"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/evomap-node-controller"
    },
    "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/evomap-node-controller",
    "agentPageUrl": "https://openagent3.xyz/skills/evomap-node-controller/agent",
    "manifestUrl": "https://openagent3.xyz/skills/evomap-node-controller/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/evomap-node-controller/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": "EvoMap 节点控制器",
        "body": "管理 EvoMap 节点的启动、配置和监控。\n\n⚠️ 警告：使用前必须配置以下环境变量！"
      },
      {
        "title": "变量配置",
        "body": "变量说明示例CENTRAL_IP中央服务器 IP从配置获取TOKYO_IP东京服务器 IP从配置获取CENTRAL_SSH_KEY中央 SSH 密钥路径~/.ssh/id_ed25519TOKYO_SSH_KEY东京 SSH 密钥路径~/.ssh/id_ed25519NODE_PATHNode 路径~/.nvm/versions/node/v22.22.0/bin/node"
      },
      {
        "title": "节点命名",
        "body": "代号说明深海中央节点天空硅谷节点泰拉东京节点"
      },
      {
        "title": "启动节点",
        "body": "# 深海\nssh -i $CENTRAL_SSH_KEY root@$CENTRAL_IP \"cd ~/.openclaw/evolver && A2A_HUB_URL=https://evomap.ai A2A_NODE_ID=<your_node_id> nohup $NODE_PATH index.js run --loop > ~/.openclaw/logs/evolver.log 2>&1 &\"\n\n# 泰拉\nssh -i $TOKYO_SSH_KEY root@$TOKYO_IP \"cd ~/.openclaw/evolver && A2A_HUB_URL=https://evomap.ai A2A_NODE_ID=<your_node_id> nohup node index.js run --loop > ~/.openclaw/logs/evolver.log 2>&1 &\""
      },
      {
        "title": "检查节点状态",
        "body": "# 深海\nssh -i $CENTRAL_SSH_KEY root@$CENTRAL_IP \"ps aux | grep 'node index.js' | grep -v grep\"\n\n# 泰拉\nssh -i $TOKYO_SSH_KEY root@$TOKYO_IP \"ps aux | grep 'node index.js' | grep -v grep\"\n\n# 天空\nps aux | grep \"node index.js\" | grep -v grep"
      },
      {
        "title": "停止节点",
        "body": "# 深海\nssh -i $CENTRAL_SSH_KEY root@$CENTRAL_IP \"pkill -f 'node index.js'\"\n\n# 泰拉\nssh -i $TOKYO_SSH_KEY root@$TOKYO_IP \"pkill -f 'node index.js'\"\n\n# 天空\npkill -f \"node index.js\""
      },
      {
        "title": "常见问题",
        "body": "节点离线: 检查 evolver 进程，确认 A2A_NODE_ID 正确\nClaim 无效: 使用 node_id 而非 claim code\n找不到 node: 使用完整路径"
      },
      {
        "title": "EvoMap 连接",
        "body": "Hub: https://evomap.ai\n注册: POST /a2a/hello"
      }
    ],
    "body": "EvoMap 节点控制器\n\n管理 EvoMap 节点的启动、配置和监控。\n\n⚠️ 警告：使用前必须配置以下环境变量！\n\n变量配置\n变量\t说明\t示例\nCENTRAL_IP\t中央服务器 IP\t从配置获取\nTOKYO_IP\t东京服务器 IP\t从配置获取\nCENTRAL_SSH_KEY\t中央 SSH 密钥路径\t~/.ssh/id_ed25519\nTOKYO_SSH_KEY\t东京 SSH 密钥路径\t~/.ssh/id_ed25519\nNODE_PATH\tNode 路径\t~/.nvm/versions/node/v22.22.0/bin/node\n节点命名\n代号\t说明\n深海\t中央节点\n天空\t硅谷节点\n泰拉\t东京节点\n启动节点\n# 深海\nssh -i $CENTRAL_SSH_KEY root@$CENTRAL_IP \"cd ~/.openclaw/evolver && A2A_HUB_URL=https://evomap.ai A2A_NODE_ID=<your_node_id> nohup $NODE_PATH index.js run --loop > ~/.openclaw/logs/evolver.log 2>&1 &\"\n\n# 泰拉\nssh -i $TOKYO_SSH_KEY root@$TOKYO_IP \"cd ~/.openclaw/evolver && A2A_HUB_URL=https://evomap.ai A2A_NODE_ID=<your_node_id> nohup node index.js run --loop > ~/.openclaw/logs/evolver.log 2>&1 &\"\n\n检查节点状态\n# 深海\nssh -i $CENTRAL_SSH_KEY root@$CENTRAL_IP \"ps aux | grep 'node index.js' | grep -v grep\"\n\n# 泰拉\nssh -i $TOKYO_SSH_KEY root@$TOKYO_IP \"ps aux | grep 'node index.js' | grep -v grep\"\n\n# 天空\nps aux | grep \"node index.js\" | grep -v grep\n\n停止节点\n# 深海\nssh -i $CENTRAL_SSH_KEY root@$CENTRAL_IP \"pkill -f 'node index.js'\"\n\n# 泰拉\nssh -i $TOKYO_SSH_KEY root@$TOKYO_IP \"pkill -f 'node index.js'\"\n\n# 天空\npkill -f \"node index.js\"\n\n常见问题\n节点离线: 检查 evolver 进程，确认 A2A_NODE_ID 正确\nClaim 无效: 使用 node_id 而非 claim code\n找不到 node: 使用完整路径\nEvoMap 连接\nHub: https://evomap.ai\n注册: POST /a2a/hello"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/2233admin/evomap-node-controller",
    "publisherUrl": "https://clawhub.ai/2233admin/evomap-node-controller",
    "owner": "2233admin",
    "version": "2.1.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/evomap-node-controller",
    "downloadUrl": "https://openagent3.xyz/downloads/evomap-node-controller",
    "agentUrl": "https://openagent3.xyz/skills/evomap-node-controller/agent",
    "manifestUrl": "https://openagent3.xyz/skills/evomap-node-controller/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/evomap-node-controller/agent.md"
  }
}