OpenCode安装以及Agent skills使用测试

本文仅写了skill的应用。

1、安装opencode

opencode网站地址:https://opencode.ai/zh/download

OpenCode就是一个开源的、模型中立的、架构先进的AI编程Agent。它不仅仅是一个聊天界面,更是一个允许你深度定制、甚至组建AI开发团队的终端开发平台。

OpenCode 有四种形态,分别是命令行、桌面客户端、插件,最后是云端运行环境。
我是使用的命令行,如下介绍。

电脑为windows系统,所以这里仅介绍windows安装流程:

这里采用WSL (Windows Subsystem for Linux)
虽然 OpenCode 可以直接在 Windows 上运行,但推荐使用 WSL 以获得最佳体验。WSL 提供了一个 Linux 环境,能够与 OpenCode 的各项功能无缝配合。
WSL相当于在 Windows 里运行一个轻量级的 Linux 虚拟机,能完美兼容所有 Linux 命令,而且不会影响你访问 Windows 系统里的项目文件。

安装并启用 WSL:以管理员身份打开 PowerShell 或 Windows Terminal,执行:

wsl --install

进入 WSL 终端:在开始菜单找到并打开你安装的 Linux 发行版(如 Ubuntu)。

PS C:\Users\houlj12> wsl --list --online
以下是可安装的有效分发的列表。
使用“wsl.exe --install <Distro>”安装。

NAME                            FRIENDLY NAME
Ubuntu                          Ubuntu
Ubuntu-24.04                    Ubuntu 24.04 LTS
Ubuntu-22.04                    Ubuntu 22.04 LTS
Ubuntu-20.04                    Ubuntu 20.04 LTS
openSUSE-Tumbleweed             openSUSE Tumbleweed
openSUSE-Leap-16.0              openSUSE Leap 16.0
SUSE-Linux-Enterprise-15-SP7    SUSE Linux Enterprise 15 SP7
SUSE-Linux-Enterprise-16.0      SUSE Linux Enterprise 16.0
kali-linux                      Kali Linux Rolling
Debian                          Debian GNU/Linux
AlmaLinux-8                     AlmaLinux OS 8
AlmaLinux-9                     AlmaLinux OS 9
AlmaLinux-Kitten-10             AlmaLinux OS Kitten 10
AlmaLinux-10                    AlmaLinux OS 10
archlinux                       Arch Linux
FedoraLinux-43                  Fedora Linux 43
FedoraLinux-42                  Fedora Linux 42
eLxr                            eLxr 12.12.0.0 GNU/Linux
OracleLinux_7_9                 Oracle Linux 7.9
OracleLinux_8_10                Oracle Linux 8.10
OracleLinux_9_5                 Oracle Linux 9.5
openSUSE-Leap-15.6              openSUSE Leap 15.6
SUSE-Linux-Enterprise-15-SP6    SUSE Linux Enterprise 15 SP6


# 直接安装最新的 Ubuntu 24.04 LTS(长期支持版,兼容性最好):
PS C:\Users\houlj12> wsl --install -d Ubuntu-24.04
正在下载: Ubuntu 24.04 LTS
正在安装: Ubuntu 24.04 LTS
已成功安装分发。可以通过 “wsl.exe -d Ubuntu-24.04” 启动它
正在启动 Ubuntu-24.04...
Provisioning the new WSL instance Ubuntu-24.04
This might take a while...
Create a default Unix user account: houlj12
New password:
Retype new password:
passwd: password updated successfully
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
houlj12@houlj12:/mnt/c/Users/houlj12$


# 现在可以直接安装 OpenCode
houlj12@houlj12:/mnt/c/Users/houlj12$ curl -fsSL https://opencode.ai/install | bash

Installing opencode version: 1.14.19
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 100%
Successfully added opencode to $PATH in /home/houlj12/.bashrc
                                 ▄
█▀▀█ █▀▀█ █▀▀█ █▀▀▄ █▀▀▀ █▀▀█ █▀▀█ █▀▀█
█░░█ █░░█ █▀▀▀ █░░█ █░░░ █░░█ █░░█ █▀▀▀
▀▀▀▀ █▀▀▀ ▀▀▀▀ ▀  ▀ ▀▀▀▀ ▀▀▀▀ ▀▀▀▀ ▀▀▀▀

OpenCode includes free models, to start:
cd <project>  # Open directory
opencode      # Run command
For more information visit https://opencode.ai/docs
houlj12@houlj12:/mnt/c/Users/houlj12$


# 安装完毕!这里创建一个测试工程目录:
houlj12@houlj12:/mnt/c/Users/houlj12$mkdir ~/test-project && cd ~/test-project
houlj12@houlj12:/mnt/c/Users/houlj12$ opencode

刚开始是这个界面:
在这里插入图片描述
需要连接模型 /connect
在这里插入图片描述
搜索选择对应的模型,然后填入key(key可以去各个供应商网站上注册,新用户一般会赠送token,体验测试足够),即可使用对应供应商下的大模型:
在这里插入图片描述
然后就可以开始问问题了:
在这里插入图片描述
之后可以直接在开始菜单栏打开:
在这里插入图片描述

也可以直接在powershell中通过wsl -d Ubuntu-24.04wsl打开:
在这里插入图片描述

挂载的对应地址,需要访问文件资源,可通过在 Windows 文件资源管理器的地址栏访问:\\wsl.localhost\Ubuntu-24.04\home\houlj12
在这里插入图片描述

【注:并不是只有opencode才能加载skill和测试,其他具有skill模式的智能体都是可以做测试的,例如字节开源的Trae IDE等等都是可以使用的,而且不用花钱。另外,opencode也有free的models可以使用:在这里插入图片描述

2、skills添加使用测试等等

从个人理解的角度,这里稍微解释一下,从Function Call / Tools到MCP再到Skill,这些技术的出现,是为了解决一个核心问题:如何让大模型从只会“聊天”变成能“做事”。最早的 Function Call / Tools 解决了最基础的需求——让模型能调用外部函数获取实时信息或执行动作,但每次调用都是独立的“原子操作”。
当任务变复杂时,MCP 应运而生,它像“万能插座”一样标准化了AI与各种工具、数据源的连接方式,解决了“接口不统一、集成成本高”的问题。
而 Skill 则是在此之上的进一步抽象,它把“一系列工具调用 + 特定领域的工作流程 + 业务约束规则”打包成一个完整的“技能包”,让AI能像熟练工一样按既定流程完成复杂的复合任务,而不是每次都要从头规划和编排每一步。
且Skill个人认为最优的地方(解决的问题)是渐进式披露,按需加载,极大地节省了token的消耗量。
在这里插入图片描述
anthropic官方仓库:https://github.com/anthropics/skills
Skills社群网站:https://skillsmp.com/zh
优秀开源集合:https://github.com/ComposioHQ/awesome-claude-skills
视频制Eskill:https://github.com/remotion-dev/skills
youtube视频剪辑skill:https://github.com/op7418/Youtube-clipper-skill
大师帮你创建skill的skill:https://github.com/GBSOSS/skill-from-masters
notebookLM skill: https://github.com/PleasePrompto/notebooklm-skill
markdown发布到X skill:https://github.com/wshuyi/x-article-publisher-skill
AI视频产品 Vidu Skills:https://www.vidu.cn/

2.1应用已有skills仓库中的skill

创建一个test-project文件夹,在其下创建.opencode文件夹,然后在其下创建一个skills文件夹,把官方仓库下载的skill复制到里面,如下,我已经创建好了,只是展示一下:

houlj12@houlj12:~$ cd test-project/
houlj12@houlj12:~/test-project$ ll
total 12
drwxr-xr-x 3 houlj12 houlj12 4096 Apr 21 14:15 ./
drwxr-x--- 8 houlj12 houlj12 4096 Apr 21 11:07 ../
drwxr-xr-x 4 houlj12 houlj12 4096 Apr 21 14:20 .opencode/
houlj12@houlj12:~/test-project$ cd .opencode/
houlj12@houlj12:~/test-project/.opencode$ ll
total 40
drwxr-xr-x  4 houlj12 houlj12  4096 Apr 21 14:20 ./
drwxr-xr-x  3 houlj12 houlj12  4096 Apr 21 14:15 ../
-rw-r--r--  1 houlj12 houlj12    63 Apr 21 14:20 .gitignore
drwxr-xr-x 27 houlj12 houlj12  4096 Apr 21 14:20 node_modules/
-rw-r--r--  1 houlj12 houlj12 13751 Apr 21 14:20 package-lock.json
-rw-r--r--  1 houlj12 houlj12    65 Apr 21 14:20 package.json
drwxr-xr-x  3 houlj12 houlj12  4096 Apr 21 14:19 skills/
houlj12@houlj12:~/test-project/.opencode$

接下来验证skill,复制了一个前端设计的skill:
在这里插入图片描述
然后在项目文件夹下打开opencode:houlj12@houlj12:~/test-project$ opencode
现在再问:
在这里插入图片描述
就可以看到skill已经被加载了。

然后随便测试一下,让他设计并编写一个网页:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
打开index.html,确实比较高端大气上档次,哈哈哈:file://wsl.localhost/Ubuntu-24.04/home/houlj12/test-project/index.html
在这里插入图片描述

再添加一个skill:xlsx
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

确实很好地帮忙处理了,但是花的时间有3m 50s。
注:上面的两个案例都是用的很简单的skill,社区仓库里面有更多实用的技能(文档、图片、视频相关均有),可以多看看。

2.2应用自己写的skill

我这里使用的IDE是vscode,以此做示例:

为了方便编写测试,说明一下在vscode中如何操作更为便捷,如下步骤:

先安装opencode插件:
在这里插入图片描述

打开自己的测试项目,我这里是test-project,前面安装时介绍过的:
在这里插入图片描述

在wsl中运行opencode,得到聊天界面,就不用切换到cmd了,
可以同时写skill并通过右边聊天窗口实时测试,如下图:
在这里插入图片描述

好了,接下来写一个简单的demo,应用于自己需要的场景。
在这里插入图片描述
那如何去写一个skill呢?
官方文档链接:https://agentskills.io/specification
官方电子书pdf:https://resources.anthropic.com/hubfs/The-Complete-Guide-to-Building-Skill-for-Claude.pdf?hsLang=en
示例截图:
在这里插入图片描述

demo1 - site-users-count 查询各个站点的历史人数情况

详细情况请见2.3用魔法打败魔法,用skill生成skill(详细步骤)- 以这个作为示例的。

demo2 - server-status-check 查询服务器的版本和状态信息

因为这个我想要实现的功能很简单,就先看是否能通,能通就返回服务器的各种信息即可,所以也用的自动生成,当然,如果需要更加复杂的功能,也是可以修改的,代码scripts或者描述文件md等等。
在这里插入图片描述
回答结果如下:
在这里插入图片描述
在这里插入图片描述

2.3用魔法打败魔法,用skill生成skill(详细步骤)

官方有一个skill叫做skill-creator,可以用来生成skill,如下,将其添加到skills文件夹下:
在这里插入图片描述
可以看到已加载:
在这里插入图片描述

现在创建一个skill,准备好提示词,如下:
在这里插入图片描述

提示词我是这么写的:
/skill-creator 我想创建一个skill:site-users-count,已经将目录在当前工程的.opencode/skills目录下建立了,场景是这样的:我有一个数据库wireless中的一个数据表online_users_count存储了每天各个site的人数统计信息,model如下:

class OnlineUsersCount(models.Model):
    site_code = models.CharField(max_length=255, default='')
    site_name = models.CharField(max_length=255, blank=True, null=True, default='')
    count = models.IntegerField(blank=True, null=True, default=0)
    count_nac = models.IntegerField(blank=True, null=True, default=0)
    count_controller = models.IntegerField(blank=True, null=True, default=0)
    site_owner = models.CharField(max_length=255, blank=True, null=True, default='')
    site_function = models.CharField(max_length=255, blank=True, null=True, default='')
    priority = models.CharField(max_length=64, blank=True, null=True, default='')
    business = models.CharField(max_length=255, blank=True, null=True, default='')
    create_time = models.DateTimeField(auto_now_add=True, db_index=True)
    update_time = models.DateTimeField(auto_now=True)

    def __str__(self):
        return f'{self.site_name}'

    class Meta:
        app_label = 'nac'
        db_table = 'online_users_count'

,我想通过这个skill帮我拿到对应site对应日期的人数,或是对应site多天的人数,不管我需要什么信息,都可以帮我统计出来,如果能生成excel或是图表最好,我会把数据库的连接信息放在env文件中,你只能通过env文件去读取信息,并且任何情况你都不能修改数据库中的数据,只能读取。我需要你帮我创建好这个skill,放在当前工程的.opencode/skills/site-users-count/目录下

过程中会问一些相应的问题:
在这里插入图片描述
如下图,已经帮我创建好了,但是肯定还是有缺陷的,所以现在可以边问边进行测试,并修改。
在这里插入图片描述
配置搞定,大模型理解错误的情况搞定,现在开始测试:
在这里插入图片描述
确实帮我查出来了,并且有所总结,但我觉得不是我想要的展示效果:
在这里插入图片描述
接下来继续调试修改。。。就不一一截图了。。。
最后让他改成了生成excel及图片的方式:
在这里插入图片描述
最后我想不能每次都说我需要生成excel,能不能通过提问的方式就定制大模型的回答方式呢?答案当然是可以的。
在这里插入图片描述
最后再测试一下:
在这里插入图片描述
在这里插入图片描述
当然,现在可能也是不全面的,每一个技能都是需要在不断的提问和测试中发现问题,然后再慢慢修正补充

最后补充一下,自己写的skill也是可以移植的,如果企业或自己有对应的hub仓库,可以把自己写的存一下,之后有应用的场景都是可以拉取下来使用的。

【注:以上生成的demo或是用到的skill以及自己写的skill都可见下面参考中的代码仓库,文章中就不贴了。】
【参考 test-project示例代码仓库地址】https://github.com/monkeyhlj/LLM_development_learning
【参考】https://opencode.ai/docs/zh-cn/config/
【参考】https://www.cnblogs.com/tech-shrimp/articles/19837023
【参考】https://www.bilibili.com/video/BV1ahFmzqE9z

注:以上为个人学习笔记,仅供学习参考,转载需授权,非商业转载请注明出处,如有错误或补充欢迎指出!

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐