openclaw配置高德导航、京东商品搜索、QQ 音乐播放控制

高德导航:MCP
京东商品搜索:native plugin / function-call
QQ 音乐播放控制:native plugin / function-call,浏览器作兜底

原因是:OpenClaw 把工具当成结构化函数,插件可以原生注册工具;/mcp 会把 MCP 配到 mcp.servers;支持的 stdio MCP server 会作为子进程启动。高德官方站点已经把 MCP Server 列进"大模型开发工具",同时它的 Web 服务接口已经覆盖路线规划,URI API 也支持拉起高德 App/浏览器。JD 公开能力更适合做商品搜索、价格和订单查询;QQ 音乐官方开发者平台明确提供 OpenAPIQPlay,其中 QPlay 的定位就是拿到 QQ/微信/QQ 音乐 App 授权后,在合作方产品里获取音乐流并进行控制。([OpenClaw][1])

下面我直接给你一份合并后的 openclaw.json 模板,以及三套后端约定。

一份能放进 OpenClaw 的总配置

把下面保存成 ~/.openclaw/openclaw.json,再把占位符改成你的实际路径和密钥。OpenClaw 的插件配置放在 plugins.entries.<id>.config,插件搜索路径可以走 plugins.load.paths;浏览器功能要求 plugins.entries.browser.enabled 没被禁用,并且 browser.enabled=true。Ollama 这边继续走原生 http://127.0.0.1:11434,不要加 /v1,否则 OpenClaw 官方明确说会破坏工具调用。([OpenClaw][2])

json5 复制代码
{
  gateway: {
    mode: "local",
    bind: "loopback",
    port: 18789,
    auth: {
      mode: "token",
      token: "REPLACE_WITH_A_LONG_RANDOM_TOKEN"
    }
  },

  commands: {
    mcp: true,
    plugins: true
  },

  browser: {
    enabled: true,
    defaultProfile: "openclaw",
    profiles: {
      openclaw: { cdpPort: 18800, color: "#FF4500" },
      user: {
        driver: "existing-session",
        attachOnly: true,
        color: "#00AA00"
      }
    }
  },

  agents: {
    defaults: {
      model: {
        primary: "ollama/qwen2.5:3b",
        fallbacks: ["ollama/llama3.2:3b"]
      }
    }
  },

  models: {
    mode: "merge",
    providers: {
      ollama: {
        apiKey: "ollama-local",
        baseUrl: "http://127.0.0.1:11434",
        api: "ollama",
        models: [
          {
            id: "qwen2.5:3b",
            name: "Qwen2.5 3B",
            reasoning: false,
            input: ["text"],
            cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
            contextWindow: 4096,
            maxTokens: 1024
          },
          {
            id: "llama3.2:3b",
            name: "Llama 3.2 3B",
            reasoning: false,
            input: ["text"],
            cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
            contextWindow: 4096,
            maxTokens: 1024
          }
        ]
      }
    }
  },

  mcp: {
    servers: {
      amap: {
        command: "/home/<JETSON_USER>/bin/amap-mcp-openclaw",
        args: []
      }
    }
  },

  plugins: {
    enabled: true,
    load: {
      paths: [
        "/home/<JETSON_USER>/openclaw-plugins/jd-shop",
        "/home/<JETSON_USER>/openclaw-plugins/qqmusic-control"
      ]
    },
    entries: {
      browser: {
        enabled: true
      },

      "jd-shop": {
        enabled: true,
        env: {
          JD_APP_KEY: "REPLACE_ME",
          JD_APP_SECRET: "REPLACE_ME",
          JD_UNION_PID: "REPLACE_ME"
        },
        config: {
          baseUrl: "http://127.0.0.1:19081",
          timeoutMs: 8000,
          enablePriceQuery: true,
          enableOrderQuery: true,
          checkoutMode: "browser-confirm"
        }
      },

      "qqmusic-control": {
        enabled: true,
        env: {
          QQMUSIC_APP_ID: "REPLACE_ME",
          QQMUSIC_APP_SECRET: "REPLACE_ME"
        },
        config: {
          baseUrl: "http://127.0.0.1:19082",
          mode: "qplay-preferred",
          browserFallback: true,
          browserProfile: "openclaw",
          timeoutMs: 8000
        }
      }
    }
  }
}

1)高德导航:MCP 版

高德官方已经公开了路线规划 API,步行是 v3/direction/walking,驾车是 v3/direction/driving,骑行是 v4/direction/bicycling;这些接口都要求 origindestinationkey。官方文档同时列出了 URI API,适用于原生 App 和手机浏览器,通过 URL 形式实现标注、路径规划、POI 检索等能力。高德站点首页也已经把 MCP Server 列为"大模型开发工具"之一。([Amap][3])

本地包装器

/home/<JETSON_USER>/bin/amap-mcp-openclaw

bash 复制代码
#!/usr/bin/env bash
set -Eeuo pipefail
export AMAP_API_KEY="REPLACE_ME"
exec /home/<JETSON_USER>/.local/bin/uvx your-amap-mcp-server

这里 your-amap-mcp-server 是你自己的 MCP 包名或本地 server 入口。高德这套最稳的实现方式,就是你自己的 MCP server 去封装下面几个工具:([Amap][4])

  • amap_search_poi(keyword, city?, location?)
  • amap_geocode(address, city?)
  • amap_reverse_geocode(location)
  • amap_route_plan(origin, destination, mode)
  • amap_open_uri(destination_name, destination_location, mode)

MCP server 里实际调用的官方接口

  • 步行:https://restapi.amap.com/v3/direction/walking
  • 驾车:https://restapi.amap.com/v3/direction/driving
  • 骑行:https://restapi.amap.com/v4/direction/bicycling

这样做的好处是:OpenClaw 只知道 MCP 工具;高德的鉴权、限流和 URI 拼接都收在 MCP server 里。([Amap][3])

2)京东商品搜索:function-call / native plugin 版

京东开放平台公开可见的接口组里,京东联盟 API 覆盖了精选商品、活动、订单查询;公开检索还能看到 jd.union.open.goods.jingfen.queryjd.union.open.order.row.query,以及价格批量查询接口 jingdong.jdprices.get。这很适合做"搜索 / 比价 / 订单状态"型工具,不适合直接做消费者侧的全自动下单。([JD Zeus Developer Center][5])

你的插件应提供这些工具

jd-shop 这个 native plugin 里,注册这些工具最实用:

  • jd_search_goods(keyword, page=1, sort?)
  • jd_get_goods_price(sku_ids[])
  • jd_get_campaigns(channel?)
  • jd_get_order_status(order_time_from?, order_time_to?)
  • jd_open_goods_page(sku_id)
  • jd_open_checkout_page(sku_id)

插件背后的 bridge service

plugins.entries["jd-shop"].config.baseUrl 我建议接到你自己的本地 bridge,比如:

  • GET /search?keyword=...
  • POST /price
  • GET /campaigns
  • GET /orders
  • GET /open/goods/:skuId
  • GET /open/checkout/:skuId

然后 bridge service 再去签京东开放平台请求。这样好处是:
OpenClaw 插件不直接写京东签名逻辑,后期切淘宝、拼多多也容易。

同时 checkoutMode: "browser-confirm" 表示只允许打开商品页或结算页,不做自动支付。这个分层是我建议你一定保留的。([OpenClaw][2])

3)QQ 音乐播放控制:function-call 主路,浏览器兜底

QQ 音乐官方开发者平台明确写了它提供 OpenAPIQPlay 协议 ,并且 QPlay 的描述就是:用户通过微信、QQ 或 QQ 音乐 App 进行授权后,合作方产品可以获取 QQ 音乐 App 的音乐流并进行控制。也就是说,官方路径是存在的,但通常要走授权和接入审批。([QQ Music Developer Platform][6])

你的插件应提供这些工具

qqmusic-control 插件里,建议至少有:

  • qqmusic_search(keyword, limit=10)
  • qqmusic_play(track_id)
  • qqmusic_pause()
  • qqmusic_resume()
  • qqmusic_next()
  • qqmusic_current_track()
  • qqmusic_add_to_playlist(track_id, playlist_id)

插件配置解释

mode: "qplay-preferred" 表示:

  1. 优先走官方授权链路(OpenAPI/QPlay)
  2. 如果当前没有授权,或者某些播控接口权限没下来,就退回 browserFallback: true

浏览器兜底为什么要保留

OpenClaw 的浏览器工具支持一个隔离的 openclaw 配置文件,也支持一个 user 配置去复用你真实浏览器的已登录状态。官方文档明确建议:登录动作手工完成,不要把账号密码交给模型;自动登录容易触发反机器人防护并锁号。 所以 QQ 音乐的现实落地通常是:

  • 搜歌、列歌单:函数调用
  • 真正点播放:优先官方播控
  • 官方播控没打通时:让 OpenClaw 浏览器打开 QQ 音乐 Web 播放页,由你手工登录一次,再让 agent 控制这个浏览器 profile 继续播放/暂停/下一首。([OpenClaw][7])

三套后端各自怎么实现

高德:最像 MCP

因为高德本身就是"标准 HTTP 地图能力 + URI 拉起 App",而且官方已经把 MCP Server 当成正式方向之一,所以这里用 MCP 最自然。([Amap][8])

京东:最像 function-call

因为你真正需要的是"结构化商品结果、价格、活动、订单",这些天然适合 typed tool schema;而消费者侧结算动作最好留给浏览器确认。([OpenClaw][1])

QQ 音乐:最像 function-call + browser fallback

因为官方确实有 OpenAPI/QPlay,但接入和权限往往没高德那种 Web API 直接;保留浏览器兜底,能让你先跑起来。OpenClaw 官方也明确支持受控浏览器和现有登录态浏览器。([QQ Music Developer Platform][6])

推荐的上线顺序

先做:

  1. 高德导航全打通
  2. 京东商品搜索 + 比价 + 打开商品页
  3. QQ 音乐搜索 + 播放/暂停/下一首

三套最小骨架都打包

这三套骨架是按当前 OpenClaw 原生插件/MCP 形态写的:原生插件使用 openclaw.plugin.json 做发现与配置校验,入口用 definePluginEntry,工具通过 api.registerTool(...) 注册;FastMCP 侧则是 FastMCP(...) + @mcp.tool() + mcp.run() 的最小服务模式。OpenClaw 也支持从本地目录安装插件。 ([OpenClaw][1])

包里包含这三份:

  • amap-mcp/:Python + FastMCP,直接调用高德官方 Web 服务接口,做地理编码、逆地理编码、POI 关键词搜索、周边搜索、步行/驾车/骑行路线规划。高德官方文档公开了这些 HTTP 接口;高德站点本身也把 URI API 和 MCP Server 作为正式开发能力列出。 ([Amap][2])
  • jd-shop/:TypeScript native plugin,带一个本地 mock-bridge.mjs,所以可以先本地跑通 jd_search_goods / jd_get_goods_price / jd_get_campaigns / jd_get_order_status / jd_open_goods_page / jd_open_checkout_page。之所以做成"插件 + 本地 bridge",是因为京东开放平台公开能力更适合商品、活动、订单等业务接口,而不是直接把前台消费者流程硬写进插件。 ([JD Zeus Developer Center][3])
  • qqmusic-control/:TypeScript native plugin,也带一个本地 mock-bridge.mjs,可先跑通 qqmusic_search / qqmusic_play / qqmusic_pause / qqmusic_resume / qqmusic_next / qqmusic_current_track / qqmusic_browser_fallback_url。我把它设计成"插件 + bridge"的原因也一样:QQ 音乐官方开发者平台明确提供 OpenAPI / QPlay,但真实播控通常受授权、产品形态和接入方式影响,所以先把工具契约固定,再替换 bridge 更稳。 ([developer.y.qq.com][4])

启动方式:

bash 复制代码
# 1) Amap MCP
cd openclaw_app_skeletons/amap-mcp
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
export AMAP_API_KEY=你的高德Key
python server.py

# 2) JD plugin
cd ../jd-shop
npm install
npm run build
node mock-bridge.mjs

# 3) QQ Music plugin
cd ../qqmusic-control
npm install
npm run build
node mock-bridge.mjs

然后把对应的 MCP / plugin 配置片段加进 openclaw.json;我已经把最小配置示例写进包内的 README.md 了。OpenClaw 的本地插件安装命令仍然是:

bash 复制代码
openclaw plugins install ./jd-shop
openclaw plugins install ./qqmusic-control
openclaw gateway restart

这些都是官方支持的本地目录安装方式。 ([OpenClaw][5])

有一处保守处理:

Amap 那套我直接接了官方公开接口;JD 和 QQ 音乐两套我没有把"真实官方签名/授权细节"硬编码进插件,而是留在本地 bridge 层。这样你现在就能跑 mock 版验证 OpenClaw 工具链,后面再把 bridge 换成真实京东/QQ 音乐后端,不用重写插件工具名和参数结构。这个分层更适合前面那套 Jetson + OpenClaw 架构。 ([JD Zeus Developer Center][3])

相关链接及内容如有侵权,私信下架。

参考链接:

1\]: https://docs.openclaw.ai/tools "Tools and Plugins - OpenClaw" \[2\]: https://docs.openclaw.ai/gateway/configuration-reference "Configuration Reference - OpenClaw" \[3\]: https://lbs.amap.com/api/webservice/guide/api/direction "路径规划-基础 API 文档-开发指南-Web服务 API \| 高德地图API" \[4\]: https://lbs.amap.com/api/mcp-server/summary?utm_source=chatgpt.com "高德MCP Server" \[5\]: https://jos.jd.com/apilist?apiGroupId=531\&apiGroupName=%E4%BA%AC%E4%B8%9C%E8%81%94%E7%9B%9Fapi\&utm_source=chatgpt.com "宙斯开发者中心\| API列表 - 京东开放平台- JD.com" \[6\]: https://developer.y.qq.com/ "QQ音乐开发者平台" \[7\]: https://docs.openclaw.ai/tools/browser "Browser (OpenClaw-managed) - OpenClaw" \[8\]: https://lbs.amap.com/api?utm_source=chatgpt.com "高德地图API文档" \[9\]: https://docs.openclaw.ai/plugins/sdk-setup "Plugin Setup and Config - OpenClaw" \[10\]: https://lbs.amap.com/api/webservice/guide/api/georegeo?utm_source=chatgpt.com "高德地理编码" \[11\]: https://jos.jd.com/apilist?apiGroupId=531\&apiGroupName=%E4%BA%AC%E4%B8%9C%E8%81%94%E7%9B%9Fapi\&utm_source=chatgpt.com "宙斯开发者中心\| API列表 - 京东开放平台- JD.com" \[12\]: https://developer.y.qq.com/?utm_source=chatgpt.com "QQ音乐开发者平台" \[13\]: https://docs.openclaw.ai/tools/plugin "Plugins - OpenClaw"

相关推荐
智算菩萨1 天前
【OpenGL】10 完整游戏开发实战:基于OpenGL的2D/3D游戏框架、物理引擎集成与AI辅助编程指南
人工智能·python·游戏·3d·矩阵·pygame·opengl
刘简爱学习1 天前
弱监督互斥多类脑肿瘤图像分割的类间可分离性损失
人工智能·深度学习·计算机视觉
AI英德西牛仔1 天前
AI复制的文字带星号
人工智能·ai·chatgpt·豆包·deepseek·ds随心转
卖报的大地主1 天前
扩散薛定谔桥(Diffusion Schrödinger Bridge)
人工智能
向成科技1 天前
当“超轻量AI”遇上“最强国产芯”
人工智能·物联网·ai·芯片·国产化·硬件·主板
远见阁1 天前
智能体是如何“思考”的:ReAct模式
人工智能·ai·ai智能体
L-影1 天前
为什么你的数据里藏着“隐形圈子”?聊聊AI中的聚类
人工智能·ai·数据挖掘·聚类
江瀚视野1 天前
小马智行Robotaxi营收增超1.2倍,小马的成绩单该咋看?
人工智能
Tony Bai1 天前
Rust 看了流泪,AI 看了沉默:扒开 Go 泛型最让你抓狂的“残疾”类型推断
开发语言·人工智能·后端·golang·rust
2301_764441331 天前
AI动态编排革命:Skill与Dify工作流终极对决
人工智能·机器学习