前言:我想玩龙虾,但我不想掏钱 最近,OpenClaw 这个项目火遍了圈子,我也迫不及待地在自己的电脑上部署了一套,想让它成为我的 24 小时智能助理,也顺便想学习一下看看能给我的小落同学带来一些什么样的新思路。 然而,兴奋劲还没过,我就遇到了一个尴尬的现实问题:想要让它具备“联网搜索”能力,官方推荐的方案大多需要注册 API Key,要么有严格的免费额度限制,要么就得绑卡付费。 作为一个只想在本地跑跑实验、查查资料,既不想注册一堆账号,更不想每个月为几个搜索请求掏腰包的人,我觉得这很不爽。我的原则很简单:既然是本地部署的开源项目,那就应该尽可能地把控制权和数据隐私掌握在自己手里,而且——必须免费! 于是,我花了一个下午,调研了市面上所有的免费搜索方案,从阿里云百炼的免费额度,到 Tavily 的每月限额,再到 Google Serper 的试用陷阱。最终,我锁定并成功实施了一个完全免费、无需注册、纯本地运行的终极方案:DuckDuckGo + 自建 Python 脚本。 现在,我的 OpenClaw 已经可以帮我查新闻、搜论文、核实事实,而我不需要花一分钱,也不用担心配额用完。 这篇文档就是我整个折腾过程的复盘。如果你也像我一样,想用 OpenClaw 又想极致省钱,那么请跟随我的脚步,我们一起把这个“免费永动机”装上去。 1. 我的方案选型心路历程 在动手之前,我像做侦探一样对比了所有可能的路径。以下是我当时的思考过程: 方案 我的评价 为什么我没选它? A. 阿里云百炼/百度等大厂 API 稳定是稳定,但太麻烦。 我得注册账号、实名认证、创建应用、获取 Key。而且免费额度用完了怎么办?还要绑定支付宝?算了,太重了。 B. Tavily / Serper 等专用 API 专为 AI 设计,很好用。 每月只有几百次免费调用。对于我这种喜欢让 Agent 疯狂测试的人来说,两天就爆表了。还得时刻盯着配额,心累。 C. […]
SKILLS
一、前言 上周扣子成为第一个支持skills的国内的大模型,但是这阵子公司这边的事情一直很忙,项目急,领导们都盯着,所以一直没有没时间去测试。 但是事实上之前我已经用open code desktop试过来实现一个skills,只是文章写了一半,一直没发,今天晚上再重新整理了一下,让open code实际来写一个skills,并将完整的过程给大家做一个演示,相信看了之后,任何一个小白(不需要编程知识)都可以来实现自己想要的功能了。 我一直想给小落同学做一个书签功能。原因如下: 当你看到一篇好文章,想保存下来慢慢看,结果网页上广告横幅、导航栏、推荐阅读啥的占了一大半空间。等到真正想看的时候,还得翻半天找正文。更烦人的是,现在很多网站都是单页应用,用JavaScript动态加载内容。直接用浏览器保存或复制粘贴,往往只能拿到个加载动画,完全看不了内容。于是我就想,能不能做一个工具,自动抓取网页,去掉那些乱七八糟的东西,把正文提取出来,保存成干净的Markdown格式?图片也能一并保存下来。 现在刚好用OpenCode Desktop来演示一下,如何实现一个书签功能的Skills,而且可以通过MCP协议接入外部服务。 二、测试运行环境 1. 测试环境 依旧在我这个超过十年的老笔记本上,我的操作系统是Windows 7。如果你是新版本的Windows,或者是Mac OS,或者Linux,整个流程基本上也没什么差别(理论如此哈,我还没验证过,若真在安装使用open code时,有什么问题也可提出来)。 2. 测试使用的版本 Open Code Desktop 的下载安装我就快速跳过了,大家随便哪儿搜一下都能下载到。 安装完成OpenCode Desktop后,启动,完成基础登录 / 初始化配置,比如:选择使用的大模型。 三、从零开始实现书签功能Skills 1. 给OpenCode的提示词 直接在OpenCode Desktop里,告诉他你想要一个什么样的东西,一些具体的要求。 注:这里的描述很重要,而且最好是描述能够一次成型。但是实际上一次成型是不可能的。不过你可以生成一次后,看下效果是否跟你预期一致,如果不一致,那就直接左上角:新建会话(+ New session),然后再一步步完善你的描述,然后一次次重试直到你基本满意。 以下是我的提示词: 2. OpenCode Desktop的输出 输入提示词之后,OpenCode就开始工作了,大概等待了两三分钟,它给我输出了一个结果,同时也创建好了整个书签Skills,书签的MCP Server:bookmark_it_server.py,以及这个MCP Server的Python依赖,具体项目目录结构如下: 3. 关键代码 1)MCP服务器配置 代码位置: .opencode/opencode.json 2)MCP服务器主要代码 代码位置:bookmark_it_server.py 3)Skills配置 […]