一、前言 昨天用OpenCode Desktop做了下书签管理的SKILL,今天就想去看看这个“早就想去看看的”、“国内第一个支持SKILL”的扣子。 于是,今天我就把昨天在Open Code Desktop上做的事情原封不动的在扣子上做了一遍。下面的完整的过程。 具体的SKILL的原理什么的我就不讲了,网上随处可见,咱们来实操。 为省流,直接上结论: 总的来说,单纯对于我这个书签管理功能来说,生成的SKILL的确还可以,但是SKILL描述和references还是需要自己仔细分析一下改一下。 除此之外,简单列一下我个人的一点经历和看法 也为扣子加一把油,为国内的开发者搭建了一个更好的平台和环境。 二、在扣子上创建skill 1. 创建skill 进入扣子网站( www.coze.cn ),输入提示词如下: 快速出了一个版本,但是自测验证报错,但是扣子会自己修改代码重测。a little monments later(约二十来分钟),终于完成。 2. 上传skill 作为一个懒人,只想动嘴,不想动手,所以第一个尝试是让扣子直接把它写好的这个skill安装到扣子上。 1)自动安装:失败 但是,扣子实际上只是给了一个帮助文档,还是让我自己上传安装。 那好吧,那我先下载一下扣子生成的skill及代码。 2)手动安装:成功 下载下来后,到扣子技能商店:https://www.coze.cn/skills?tab=my 然后点击右上角的“创建技能”,把下载下来的这个zip文件上传,扣子就会自动按照标准流程帮你适配这个 Skill。 但是扣子会将原先的 MCP 服务器实现重写为纯函数式工具,这说明扣子不会在上面自己开一个MCP Server来让Skill调用。 3. 部署Skill 点击右上角的“部署”按钮,跳过变量设定,秒级完成部署。 三、Skill的使用 通过上面的步骤,我的扣子版的书签管理Skill就完成了,并且可以直接在扣子上使用了。使用方法也很简单,在聊天框里输入 @ ,然后在跳出来的选项框里选择技能,技能列表里会包括所有你安装的和创建的技能列表,在那里选择“书签管理技能”。 四、进一步完善 希望收藏下来的文章的可以按我的要求来命名文件,保存的路径,以及图片的路径,那就让它再来改一下吧。 最后,扣子再输出了一版SKILL,并简单测试了一下包括新浪新闻,今日头条,CSDN,博客园,知乎等网站的文章都可成功抓取。收工! 五、完整代码 考虑到未来SKILL无限的可能性,我准备再建一个仓库,然后把一些自己实现的SKILL都放到这个仓库里。今天的扣子版本的书签功能的SKILL是第一个。 仓库地址: https://github.com/oddmeta/odd-skills 感兴趣的大佬可以直接到这里下载完整的代码。也可私信我,我发你。
Monthly Archives: January 2026
一、前言 上周扣子成为第一个支持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配置 […]
一、前言 上周四下午领导说公司的某个助手项目准备启用自研的备用方案,然后我的 OddAgent 项目就开始从备胎出现转机,有可能会成为正式方案了。 原先我没有为 OddAgent 设定开源授权方案,大家都可以继续在 OddAgent 现有的开源代码基础上自行演进,而公司的产品一旦正式使用了 OddAgent,那可能日后的一些功能实现就不方便放到我的github上了。 不过,以我自己在小落同学项目中一些实际功能的测试体验,现有的 OddAgent 已经足以应付各种个人/企业场景下的意图识别功能。 为了避免日后大家在授权问题上出现顾虑,我特别将 OddAgent 的授权从GPL改成了MIT。 二、关于新的开源协议MIT MIT协议允许你任意的使用、复制、修改原MIT代码库,随便你是选择跟我一样继续开源,还是选择闭源甚至商用,唯一需要遵循的原则就是在你的软件中声明你也使用的是MIT协议就行了。 MIT 协议 三、OddAgent的安装与使用 1. 安装 2. 配置 项目配置样例:https://oddmeta.net/tools/oddagent/config.json.sample智能体配置样例:https://oddmeta.net/tools/oddagent/conference_config.json 下载好后放在你前面创建的目录下。然后复制config.json.sample,并将其改名为config.json 然后开始调整设置 config.json 里配置你自己的系统配置 下面是一个系统配置的示例。 1)大模型配置 2)智能体功能配置 根据你自己的业务需求,配置你的功能意图和槽位的语料。OddAgent自带了一个视频会议场景的示例 conference_config.json ,可供您的参考。 具体的配置方法可参考这里:https://pypi.org/project/oddagent/ 3. 运行 启动命令:oddagent -c config.json 4. 测试后台 默认的测试后台地址是:http://localhost:5050 5. API接口 OddAgent只做意图、指令的识别,所以实际场景里基本上都是在你自己的产品里用API来调用OddAgent识别意图指令,然后自行去实现相应的功能。 以下是一个API调用OddAgent的完整示例代码: 运行测试代码:python […]
一、前言 为简化 OddAgent 的安装、使用流程,准备将OddAgent打成一个包,上传到pypi,这样后面只要pip install oddagent就可以直接安装使用了,方便大家利用OddAgent来实现自己的智能体。 不废话,直奔主题。 二、打包工具安装及配置 1. 安装打包和上传工具 打包和上传工具的安装,走强制升级更新模式。 2. 注册 PyPI 账号 如果你还没有注册PyPI,那就先去注册一下,注册地址: https://pypi.org/account/register/建议同时注册 TestPyPI 用于测试发布。PyPI和TestPyPI是两套独立的环境,账号系统也是独立的,所以需要分别注册,包括后面会提到的用于上传包的API token也需要分别申请。 3. 准备项目结构 一个典型的 Python 包结构如下: 4. 编写 pyproject.toml 5. 构建发行包 在项目根目录下运行: 6. 配置 .pypirc 登录 PyPI → Account Settings → API tokens创建一个 token(建议选择设置为全局token) 复制 token(只显示一次!你要自己保存好) .pypirc 是一个配置文件,用于存储Python包仓库的认证信息,通常位于用户主目录下: 内容如下: 三、发布及测试 打包好的包,建议先发布到 […]