OpenCode安装以及Agent skills使用测试
OpenCode安装以及Agent skills使用测试
文章目录
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.04或wsl打开:
挂载的对应地址,需要访问文件资源,可通过在 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
注:以上为个人学习笔记,仅供学习参考,转载需授权,非商业转载请注明出处,如有错误或补充欢迎指出!
更多推荐




所有评论(0)