
前言:我想玩龙虾,但我不想掏钱
最近,OpenClaw 这个项目火遍了圈子,我也迫不及待地在自己的电脑上部署了一套,想让它成为我的 24 小时智能助理,也顺便想学习一下看看能给我的小落同学带来一些什么样的新思路。
然而,兴奋劲还没过,我就遇到了一个尴尬的现实问题:想要让它具备“联网搜索”能力,官方推荐的方案大多需要注册 API Key,要么有严格的免费额度限制,要么就得绑卡付费。
作为一个只想在本地跑跑实验、查查资料,既不想注册一堆账号,更不想每个月为几个搜索请求掏腰包的人,我觉得这很不爽。我的原则很简单:既然是本地部署的开源项目,那就应该尽可能地把控制权和数据隐私掌握在自己手里,而且——必须免费!
于是,我花了一个下午,调研了市面上所有的免费搜索方案,从阿里云百炼的免费额度,到 Tavily 的每月限额,再到 Google Serper 的试用陷阱。最终,我锁定并成功实施了一个完全免费、无需注册、纯本地运行的终极方案:DuckDuckGo + 自建 Python 脚本。
现在,我的 OpenClaw 已经可以帮我查新闻、搜论文、核实事实,而我不需要花一分钱,也不用担心配额用完。
这篇文档就是我整个折腾过程的复盘。如果你也像我一样,想用 OpenClaw 又想极致省钱,那么请跟随我的脚步,我们一起把这个“免费永动机”装上去。
1. 我的方案选型心路历程
在动手之前,我像做侦探一样对比了所有可能的路径。以下是我当时的思考过程:
| 方案 | 我的评价 | 为什么我没选它? |
|---|---|---|
| A. 阿里云百炼/百度等大厂 API | 稳定是稳定,但太麻烦。 | 我得注册账号、实名认证、创建应用、获取 Key。而且免费额度用完了怎么办?还要绑定支付宝?算了,太重了。 |
| B. Tavily / Serper 等专用 API | 专为 AI 设计,很好用。 | 每月只有几百次免费调用。对于我这种喜欢让 Agent 疯狂测试的人来说,两天就爆表了。还得时刻盯着配额,心累。 |
| C. 自己写爬虫 | 完全可控。 | 维护成本太高了!Google 和 Bing 的反爬机制极其严格,我今天写好,明天可能就被封 IP 了。我不想把时间花在修爬虫上。 |
D. DuckDuckGo + ddgs 库 | 完美平衡点! | 无需 Key、完全免费、库封装好了反爬、隐私极佳。 唯一的要求只是网络能通(这点我可以搞定)。这就是我要的! |
我的结论:
方案 D 是唯一符合我“白嫖且极客”精神的选项。它利用 Python 的
ddgs库直接模拟浏览器请求 DuckDuckGo,把搜索能力变成了我本地代码的一部分。没有中间商赚差价,没有配额焦虑,只有纯粹的代码自由。
2. 我的实战搭建步骤
接下来,我把每一步操作都详细记录下来,你可以直接照着做。
第一步:清理环境,安装神器
首先,我打开终端(PowerShell),确保激活了我运行 OpenClaw 的那个 Python 环境。
我之前试过旧版的 duckduckgo-search,结果发现它已经改名了。为了不走弯路,我直接执行了以下命令:
# 如果有旧版,先卸载(没有也没关系)
pip uninstall duckduckgo-search -y
# 安装最新的核心库:ddgs
pip install ddgs
看到 Successfully installed ddgs-xxx 的时候,我知道第一步稳了。
第二步:编写我的专属搜索脚本
我不想直接用现成的轮子,因为我想控制输出的格式,让 OpenClaw 读得更舒服。
- 创建SKILL目录:
我进入了 OpenClaw 的技能目录:C:\Users\Administrator\.openclaw\workspace\skills\。
为了整洁,我新建了一个文件夹叫search_web。 - 实现duckduckgo的搜索代码:
在里面新建了search_ddg.py,具体代码如下:
# search_ddg.py
# 导入最新的 ddgs 库
from ddgs import DDGS
import time
def search_web(query: str, max_results: int = 5) -> str:
"""
【我的 OpenClaw 技能】使用 DuckDuckGo 搜索互联网实时信息。
完全免费,无需 API Key。
"""
if not query or len(query.strip()) == 0:
return "❌ 错误:老板,你还没告诉我搜什么呢!"
print(f"🔍 [Search Tool] 正在替您联网搜索: '{query}' ...")
try:
# 稍微延时,做个有礼貌的爬虫
time.sleep(1)
results = []
# 初始化客户端并执行搜索
with DDGS() as ddgs:
# 强制指定中文区域,让结果更符合我的阅读习惯
search_results = ddgs.text(
query,
max_results=max_results,
region="cn-zh"
)
if not search_results:
return f"⚠️ 很抱歉,我在网络上没找到关于 '{query}' 的相关信息。"
for i, r in enumerate(search_results, 1):
# 提取关键信息,防止报错
title = r.get('title', '无标题')
href = r.get('href', '无链接')
body = r.get('body', '无摘要')
# 格式化输出,让我家 Agent 一眼看懂
result_str = (
f"[{i}] **{title}**\n"
f" 🔗 来源: {href}\n"
f" 📝 摘要: {body}\n"
)
results.append(result_str)
# 组合最终返回给 Agent 的字符串
final_output = (
f"✅ 老大,我找到了 {len(results)} 条关于 '{query}' 的实时情报:\n\n"
+ "\n".join(results)
)
return final_output
except Exception as e:
error_msg = str(e)
# 针对网络问题的特别提示
if "timeout" in error_msg.lower() or "connection" in error_msg.lower():
hint = "💡 提示:好像连不上 DuckDuckGo,请检查你的网络代理设置哦。"
else:
hint = "💡 提示:可能是搜得太快了,稍等一会再试吧。"
full_error = f"❌ 搜索出错了: {error_msg}\n{hint}"
print(f"[Search Tool Error] {full_error}")
return full_error
# 本地测试入口
if __name__ == "__main__":
print(search_web("2026年最省钱的 AI 方案"))
这段代码是我借助OpenClaw生成的,加了中文区域限制、错误处理和友好的 Emoji 输出。
第三步:让 OpenClaw 认识这个新工具
保存好文件后,我重启了 OpenClaw。
幸运的是,我用的版本足够智能,它自动扫描到了 skills/search_web 目录下的新脚本。如果你重启后发现它还是“断网”状态,别慌,去检查一下 config.yaml,手动加上这段配置就行:
tools:
- name: search_web
description: "Search the web for real-time news using DuckDuckGo (Free & Local)."
module: "search_web.search_ddg"
function: "search_web"
enabled: true
第四步:科学上网配置
这一步对我来说最关键。因为众所周知的原因,直连 DuckDuckGo 是会超时的。
我并没有在代码里硬编码代理(那样换节点太麻烦),而是利用了 ddgs 库支持环境变量的特性。我在启动 OpenClaw 之前,先在终端里设置了代理:
Windows PowerShell 用户(像我一样):
$env:HTTPS_PROXY="http://127.0.0.1:7890" # 这里的 7890 换成你自己的代理端口
$env:HTTP_PROXY="http://127.0.0.1:7890"
# 然后再启动 openclaw
openclaw start
这样,我的搜索请求就会乖乖地通过我的代理通道出去,既免费又通畅。
3. 试用一下看看
一切准备就绪,康忙北鼻,来次够。
我输入:
“帮我查查 2026 年 3 月有没有什么新的免费大模型发布?我想省点钱。”
OpenClaw 的反应:
- 它停顿了一秒(在思考)。
- 终端后台跳出一行字:
🔍 [Search Tool] 正在替您联网搜索: '2026 年 3 月 新的免费大模型' ... - 几秒钟后,它回复我了:
> “✅ 老大,我找到了 5 条关于 ‘2026 年 3 月 新的免费大模型’ 的实时情报:
>
> [1] Qwen3-Open 正式发布,完全免费开源…
> 🔗 来源: https://…
> 📝 摘要: 阿里通义千问团队今日宣布…
>
> [2] Llama-4-Community 版上线,社区免费可用…
> …
>
> 根据搜索结果,确实有几个好消息!特别是 Qwen3-Open…”
哦耶。没有扣费短信,没有配额警告,搜索结果出来了。。
4. 写在最后:给同样想省钱的你
省钱其实可以很简单哈,自己动手,丰衣足食。
这个方案给我的收获:
- 真·零成本:以后不管我怎么搜,搜多少次,都不用花一分钱。
- 掌控感:代码在我手里,想改搜索区域、想改结果数量,随时都能改。
- 隐私安心:我的搜索记录不会上传到任何第三方 API 服务商的数据库里。
如果你也像我一样,是个喜欢本地部署、注重隐私、又想捂紧钱包的 AI 爱好者,那么强烈建议你试试这个方案。
哪怕你不懂代码,只要复制粘贴我上面的步骤,你也一定能成功。让我们一起,用最少的钱,玩最酷的 AI! 🚀
作者:一个不想交月费的 OpenClaw 玩家
日期:2026 年 3 月 18 日