3分钟搞定!OpenClaw 龙虾 + Kimi 联网搜索,小白也能上手

0 阅读2分钟

图片

哈喽,大家好!

我是阿星👋

龙虾本身是没有搜索能力的。你可以利用tavily search skills搜索,也可以用openclaw的brave search websearch tool 进行搜索(后者是要钱的,前者可能有点时效问题)。国内新闻搜索还是在这里推荐kim。

好处对比如下:

图片

今天我们就来学习一下

如何在openclaw中进行kimi搜索配置,一次搜出几十个网页。

图片

配置步骤

第一步:获取 API Key

去 Moonshot 开放平台 注册账号,创建一个 API Key,格式是 sk-...

第二步:修改配置文件

直接把下面这段话发给openclaw:

打开 ~/.openclaw/openclaw.json,添加以下内容:

{
  "tools": {
    "web": {
      "search": {
        "enabled": true,
        "provider": "kimi",
        "kimi": {
          "apiKey": "sk-你的key填这里",
          "baseUrl": "https://api.moonshot.cn/v1"
        }
      }
    }
  }
}

国内用 api.moonshot.cn,海外用 api.moonshot.ai

第三步:重启 Gateway

保存配置后重启 Gateway 生效。


常见问题

搜索能用,但结果答非所问、乱答一通

现象 :让 agent 搜索某个话题,它说"搜到了",但给出的内容和你问的完全不相关,像是在瞎编。

原因 :OpenClaw 的 Kimi 搜索实现有个 bug。Kimi 的 $web_search 是服务端内置函数,工作流程是:

    1. OpenClaw 发请求给 Kimi,带上 $web_search 工具声明
    1. Kimi 返回一个搜索凭证(在 tool_calls[0].function.arguments 里)
    1. OpenClaw 应该把这个凭证 原封不动 传回去
    1. Kimi 用凭证去取搜索结果,返回最终答案

但 OpenClaw 的代码错误地从 data.search_results(一个通常为空的顶层字段)构造 tool result,导致传回去的是空数据,Kimi 只能瞎编。

解决办法 :

    1. 修改 /opt/openclaw/src/agents/tools/web-search.ts,找到 buildKimiToolResultContent 函数,删掉它
    1. 找到调用它的地方(大约 1104 行),改成直接用 toolCall.function.arguments 作为 content:
    messages.push({
      role"tool",
      tool_call_id: toolCallId,
      name: toolCall.function?.name ?? "$web_search",
      content: toolCall.function?.arguments ?? "{}",  // 原样回传
    });
    
    1. 在 /opt/openclaw 目录执行 pnpm build 重新编译
    1. 重启 Gateway

修复后搜索就正常了。

ok,我是阿星,

更多AI应用,我们下期再见。

 

图片