在 OpenClaw 的部署方案中,直接调用 OpenAI/Anthropic 的 API 是最省事的,但也是最贵的。对于极客而言,利用 ChatGPT 网页版(GPT-4o)、Claude 网页版或 DuckDuckGo AI 等免费资源来驱动 Agent,才是真正的“终局玩法”。
但这面临一个巨大的技术鸿沟:网页版不懂 Function Calling。
本文将为你提供一套完整的工具链和配置策略,通过中间件代理配合提示词催眠,强制让网页版模型“学会”使用工具。
第一阶段:武器库 —— Web-to-API 代理工具
你需要一个中间件,它的作用是把 OpenClaw 发出的 API 请求,转换成浏览器能看懂的 HTTP 请求(带上 Cookie/Token),发给网页端,再把网页端的回复抓回来。
以下是目前 GitHub 上依然活跃、且适合此用途的三个梯队工具:
1. 简单暴力流:DuckDuckGo AI 转 API
-
核心逻辑: DuckDuckGo 提供了免费的 GPT-4o-mini 和 Claude-3-Haiku 入口。
-
推荐项目:
igpt-next / duckduckgo-api-gateway(或者搜ddg-chat-api) -
优点: 无门槛。不需要登录账号,不需要 Cookie,直接部署直接用,IP 限制相对宽松。
-
缺点: 上下文长度较短,模型智商中等(适合做简单任务)。
-
部署:
**bash
docker run -d -p 8 ```080:8080 deformed/duckduckgo-api-gateway此时此时你的 API Base URL 就是
http://localhost:8080/v1*
2. 经典逆向流:ChatGPT Web 转 API
-
核心逻辑: 模拟浏览器登录 ChatGPT,使用你的 Access Token。
-
推荐项目:
- **Go-ChatGPT-API (Linweiyuan):Go-ChatGPT-API (Linweiyuan): 行业标杆,但对抗 Cloudflare 极难,小白慎入。
- **Ninja (Ninja (ChatGPT-to-API): 依然有不少 Fork 版本在维护。
-
优点: 可以白嫖 GPT-4o 的网页版智商,逻辑能力极强。
-
缺点: 极易被封号(Ban Account)或遭遇 403 验证码。必须配合干净的住宅必须配合干净的住宅 IP 使用。**
3. 聚合神器流:GPT4Free (G4F)
-
核心核心逻辑:** 这是一个 Python 库和 API 服务,它聚合了全球几百个“倒卖”或“泄漏”大模型接口的网站。
-
推荐项目:
xtekky / gpt4xtekky / gpt4free` -
特点: 它可以启动一个兼容 OpenAI 的 API Server。
-
部署部署:**
**bash
pip install -U g4f[all] python -m g4 ```f.cli api*它会自动寻找可用的免费后端(如 Bing, You.com 等)它会自动寻找可用的免费后端(如 Bing, You.com 等)并转换成 API。
第二阶段:核心魔改 —— 强制启用 Function Calling
这是最关键的一步。
当你配置好上面的代理工具后,OpenClaw 发出请求,代理工具会把请求里的 tools 参数(即 OpenClaw 能干什么活的定义)直接丢掉——因为网页版不支持这个参数。
所以,你必须手动把工具定义“注入”到 Prompt 里,并强制模型按所以,你必须手动把工具定义“注入”到 Prompt 里,并强制模型按格式回复。**
你需要修改 OpenClaw 的 System Prompt (系统提示词) 。找到 OpenClaw 的提示词配置文件(通常在 prompts/ 目录下或 config 中),将其修改为以下逻辑:
1. 注入“工具定义” (The Injection)
你必须在 System Prompt 的末尾加上这段话(这是让网页版变身 Agent 的咒语):
**[SYSTEM INSTRUCTION - [SYSTEM INSTRUCTION - CRITICAL] You are not a chat assistant. You are an automated system capable of executing commands on the user's computer.
AVAILABLE TOOLS: I will provide you with a list of tools in the user message context.
RESPONSE FORMAT: If you need to use a tool to answer the user's request, you MUST NOT output any conversational text. You MUST output a strict JSON block wrapped in triple backticks like this:
**json
{ "tool_use": ```[ { "name": "execute_terminal_command", "arguments": {
**code
``` "command": "ls -la" } } ] }If no tool is needed, just reply normally. **DO NOT explain what you are doing.DO NOT explain what you are doing. Just output the JSON.
2. OpenClaw 侧的适配 (如有必要)
有些 OpenClaw 的版本如果检测到 API 返回的 header 里没有 tool_calls 字段,可能会报错。
- 解决解决思路:** 你可能需要稍微改动 OpenClaw 的 Python 源码(通常是
llm_clientllm_client.py` 类似的文件)。 - 修改逻辑: 增加一个“后处理”函数。当 LLM 返回文本时,用 正则表达式 (Regex) 扫描文本中是否包含
```json { "tool_usejson { "tool_use": ... }`。如果扫描到了,就手动把它构造成 OpenClaw 需要的对象格式。
第三阶段:推荐的“缝合怪”架构
为了让这个系统既稳定又免费,我推荐以下这套组合:
架构名称:The Poor Man's Jarvis (穷人版贾维斯)
-
底层模型: DuckDuckGo API Gateway (Docker 部署)
-
- 理由: GPT-4o-mini 足够聪明,且 DuckDuckGo 几乎不封 IP,不需要登录,极其稳定。
-
-
中间件: OneAPI
- 理由: 将 DuckDuckGo 的接口接入 OneAPI,在这里可以做简单的提示词预设(Pre-prompt),确保每次请求都带上“你是一个必须输出 JSON 的机器人”这句话。
-
上层应用: OpenOpenClaw**
- 配置: 指向 OneAPI。
潜在风险与应对
-
幻觉 (Hallucination):
- 网页版模型有时候会“假装”执行了命令。比如它会回:“我已经帮你把文件删了。”但实际上它没发 JSON,它只是在陪你演戏。
- 对策: 必须在 System Prompt 里强调 **"Do not simulate
- 网页版模型有时候会“假装”执行了命令。比如它会回:“我已经帮你把文件删了。”但实际上它没发 JSON,它只是在陪你演戏。
- 对策: 必须在 System Prompt 里强调 "Do not simulate actions. Output JSON."
-
上下文遗忘:
- 网页逆向接口通常不支持很长的 Context Window。如果 OpenClaw 读取了一个巨大的代码文件,请求可能会失败。
-
- 对策: 让 OpenClaw 分段读取文件,不要一次读太多。
-
JSONJSON 格式错误:**
- 模型有时候漏了一个逗号或引号。
- 对策对策:* 选用 Claude-3-Haiku (通过 DDG 接口),Claude 对 JSON 格式的遵循度通常比 GPT 系列要好。
总结
要让 OpenClaw 吃上免费的网页版午餐,核心不在于“工具”,而在于**“提示词工程”**。
你实际上是在用自然语言去编程,强行把一个只会“说人话”的模型,训练成一个会“吐代码”的机器。这虽然麻烦,但一旦调通,你将拥有一个**零成本、零成本、智商在线、且完全受你控制的超级 AI 员工。