人工智能|大模型 —— 开发 —— opencode与agent skills的安装与使用

人工智能|大模型 —— 开发 —— opencode与agent skills的安装与使用

一、Skills下载源

常用的GitHub仓库:

1、https://github.com/anthropics/skills

2、https://github.com/nextlevelbuilder/ui-ux-pro-max-skill
3、https://github.com/hesreallyhim/awesome-claude-code
4、https://github.com/ComposioHQ/awesome-claude-skills
Agent Skills市场:

Agent Skills 市场 - Claude、Codex 和 ChatGPT Skills | SkillsMP
Open Agent Skills Ecosystem:

The Agent Skills Directory
ClawHub:

ClawHub

二、Skills配置

2.1 手动下载存放

        OpenCode 会在特定路径下搜索 SKILL.md 文件。这些路径分为项目本地全局两种,方便我们将 Skill 应用于特定项目或是在所有项目中共享。

        项目本地路径允许我们将 Skill 与代码仓库绑定在一起,当其他开发者克隆项目后,也能立即使用这些为项目定制的 Skill。OpenCode 会从当前工作目录向上搜索,直到 Git 仓库的根目录,并加载所有符合以下模式的 Skill 文件:.opencode/skill/<skill-name>/SKILL.md.claude/skills/<skill-name>/SKILL.md

        全局路径则用于存放那些通用的、与具体项目无关的 Skill。这些 Skill 定义在用户的主目录下,对所有项目都可见:~/.config/opencode/skill/<skill-name>/SKILL.md~/.claude/skills/<skill-name>/SKILL.md~/.agents/skills/<skill-name>/SKILL.md

windows下全局路径实测下来为:C:\Users\用户名\.config\opencode\skills

2.2 下载安装

Agent Skills市场可以直接下载skill zip包,拖着zip包到skill命令行,执行帮安装,会默认安装到C:\Users\用户.config\opencode\skills

2.3 命令行安装

复制$ install --global模块的命令,在命令行中复制并执行命令即可

2.4 直接通过OpenCode安装

但是安装完成后,需要重启opencode,skill才会生效

三、opencode安装

        OpenCode 是一个开源的 AI 编程代理(AI coding agent),它可以作为终端界面、桌面应用或 IDE 扩展,在开发过程中提供协助。它的一大特点是模型无关性,允许连接来自不同供应商的多种 AI 模型,包括 Claude、GPT、Gemini 系列,甚至是本地部署的模型。

        与许多集成在特定编辑器或服务中的 AI 工具不同,OpenCode 强调开放性和灵活性。它拥有一个活跃的开源社区,在 GitHub 上获得了超过 6 万个星标,由数百名贡献者共同维护。这种开放性意味着开发者可以拥有更高的自主权,根据自己的需求选择最合适的 AI 模型,而不被锁定在单一的生态系统中。

3.1 准备工作

3.1.1 终端模拟器

可以使用系统终端,也可以使用其它终端,官方推荐的终端包括:WezTerm (跨平台)Alacritty (跨平台)Kitty (Linux 和 macOS)Ghostty (Linux 和 macOS)

这些终端对图形渲染和文本样式有更好的支持,能确保 OpenCode 的界面清晰、功能完整。

windows 11系统中实测下来,直接用powershell效果就可以,但是需要提前对老版本的powershell进行升级。

3.1.2 AI 模型 API 密钥

        OpenCode 本身是一个代理工具,它需要通过 API 连接到大型语言模型(LLM)才能工作。API 密钥(API Key)可以理解为访问这些模型服务的密码。因此,需要准备至少一个来自 LLM供应商的有效 API 密钥。

        对于初次接触的用户,OpenCode 提供了一个名为 Zen 的选项。它是由 OpenCode 团队筛选和基准测试过的一组模型,专为编程任务优化,可以提供稳定可靠的性能。当然,也可以选择连接自己的 Anthropic (Claude)、OpenAI (GPT) 或其他服务商的账户。

3.2 opencode安装

3.2.1 快速安装

对于 macOS 和 Linux 用户,最简单直接的安装方式是使用官方提供的一键安装脚本。在终端中执行以下命令即可:
curl -fsSL https://opencode.ai/install | bash 

这个命令会从 opencode.ai 下载安装脚本并自动执行。脚本会智能地选择合适的安装路径,优先级顺序如下:环境变量 $OPENCODE_INSTALL_DIR 指定的目录。符合 XDG 基础目录规范的 $XDG_BIN_DIR 目录 (如果存在)。标准的 $HOME/bin 目录 (如果存在)。默认的回退路径 $HOME/.opencode/bin

如果需要将 OpenCode 安装到特定位置,可以在执行命令前设置相应的环境变量。

3.2.2 使用包管理器安装

对于习惯使用包管理器的开发者,OpenCode 也提供了多种选择。
(1)macOS 与 Linux 安装
在 macOS 和 Linux 系统上,Homebrew 是一个非常流行的包管理器。OpenCode 提供了两种 Homebrew 安装方式,它们的更新频率有所不同。

推荐使用 OpenCode 官方维护的 tap,因为它总能获取到最新的版本:

brew install anomalyco/tap/opencode 

也可以使用 Homebrew 官方仓库中的配方,但它的更新可能会有延迟:

brew install opencode 

对于 Arch Linux 用户,可以通过 Paru 从 AUR 安装:

paru -S opencode-bin 
(2)Windows 安装
在 Windows 系统上,可以通过 Chocolatey 或 Scoop 这两个主流的包管理器进行安装。

使用 Chocolatey 的命令如下:

choco install opencode 

使用 Scoop 的安装命令则需要先添加 extras 存储桶:

scoop bucket add extras scoop install extras/opencode 
(3)跨平台 Node.js 包管理器
如果你的开发环境中已经安装了 Node.js,那么使用 npm 或其他 Node.js 包管理器进行全局安装是一种方便的跨平台选择。

使用 npm:(这里边可能涉及到powershell的更新

npm install -g opencode-ai 

使用 pnpm:

pnpm install -g opencode-ai 

使用 Bun:

bun install -g opencode-ai

3.2.3 检查是否安装成功

在powershell中输入 opencode --version 检查是否已安装

3.3 桌面应用的安装与使用

除了终端版本,OpenCode 还提供了一个处于测试(Beta)阶段的桌面应用程序。它为不习惯在终端中工作的开发者提供了图形化界面,功能与终端版本保持一致。

可以直接从 OpenCode 的官方网站或 GitHub 的 Releases 页面下载对应系统的安装包。

平台下载文件
macOS (Apple Silicon)opencode-desktop-darwin-aarch64.dmg
macOS (Intel)opencode-desktop-darwin-x64.dmg
Windowsopencode-desktop-windows-x64.exe
Linux.deb.rpm, 或 AppImage

对于 macOS 用户,同样可以使用 Homebrew Cask 来安装桌面版:

brew install --cask opencode-desktop 

下载并安装后,直接打开应用即可开始使用,后续的配置步骤与终端版类似。

windows系统下,个人感觉桌面应用并不好用,不如直接cmd操作便捷(个人建议,仅供参考)。

四、opencode配置

安装完成后,第一次运行 OpenCode 时需要进行一些基础配置,主要是连接 AI 模型。

4.1 大模型配置

在终端中进入一个项目目录,然后命令行输入opencode启动:
opencode 
启动后,会看到 OpenCode 的文本用户界面。此时,输入 /connect 命令并回车,它会弹出一个列表,让你选择要连接的 LLM 供应商。  
对于新用户,选择 opencode (即 OpenCode Zen) 是最简单的开始方式。

选择后,按照提示在浏览器中打开授权链接,登录并获取 API 密钥,然后将密钥粘贴回终端即可完成连接。  

连接成功后,还需要对当前项目进行初始化。在 OpenCode 界面中输入 /init 命令:

/init 

这个命令会让 OpenCode 分析当前项目的代码结构、依赖和编码风格,并在项目根目录下生成一个名为 AGENTS.md 的文件。这个文件存储了项目的上下文信息,能帮助 AI 代理更好地理解项目需求。建议将 AGENTS.md 文件提交到 Git 仓库中,以便团队成员共享和同步项目上下文。

此外,输入/models可以切换裸模型(基座模型)

4.2 基本用法

        完成初始化后,就可以开始与 OpenCode 交互了。OpenCode 内置了两个核心代理(Agent),可以通过按 Tab 键在它们之间切换。build: 这是默认的代理,拥有完整的开发权限,可以读取文件、写入代码以及执行命令。plan: 这是一个只读的代理,用于分析代码和规划任务。它默认会拒绝修改文件,并在执行命令前征求许可,非常适合在探索不熟悉的代码库或规划复杂功能时使用。

例如,可以向它提问来理解代码库的某个部分。在提问时,可以使用 @ 符号来模糊搜索并引用项目中的文件:

How is authentication handled in @packages/functions/src/api/index.ts 

OpenCode 会读取并分析你引用的文件内容,然后给出相应的解释。这种交互方式使得理解和修改代码变得更加高效。至此,OpenCode 的基本环境已经搭建完毕,可以开始探索它在实际开发工作中的更多应用了。

Read more

龙虾尝鲜记(2)——装ubuntu(续)

装 ubuntu 还折腾了好几下,现在终于把系统能稳妥了。回头再来记一下,给看到想弄龙虾的同学提个醒,对应工作先做到前面,免得遇到问题解决不了,还没入门就出门了。         一、系统版本的确定         这个问题我个人以为要结合自己的实际情况:如果是在虚拟机上装,建议选择 2404 LTS,相对稳定;如果是在实体机上装,要根据自己的硬件来避坑,据某 AI 说对 N 卡的支持不是很好,有特定的版本要求。还有就是是否强烈需要蓝牙、指纹、隐藏网络、摄像头等方面的功能。         因为装(实体机) 2404 2404 就是因为驱动(MX250)有些问题,折腾了好几下实在懒得折腾就问了下 AI,它给推荐了 Pop_OS 2404, 结果掉进更大的坑里:蓝牙键盘连上了打不出字来、指纹不能用(到现在也不能用,因为指纹不太关痛痒,没修复好就暂时作罢)、无法连接到隐藏网络……         指纹不能用问题不大,

By Ne0inhk
【亲测有效】Ubuntu22.04安装黑屏&重启进入系统卡死

【亲测有效】Ubuntu22.04安装黑屏&重启进入系统卡死

一:进入U盘安装引导时黑屏 问题描述:选择 ‘try or install ubuntu’ ,开始安装,出现黑屏。 解决方案: 1.安装时,先选择" try or install ubuntu", 此时不要按enter,按"e"进入编辑模式; 2.进入命令行模式, 找到 quiet splash,用nomodeset替换“- - -”,然后按F10启动系统,就可以进入桌面了。 二:安装完成后重启卡死 问题描述:拔出U盘后按回车键,系统卡死。 解决方案: 1.重启电脑; 2.选择"Advanced options

By Ne0inhk
Flutter 三方库 swagger_parser 自动化打通鸿蒙 API 通信(一键将 Swagger 转化为 Dart 模型)

Flutter 三方库 swagger_parser 自动化打通鸿蒙 API 通信(一键将 Swagger 转化为 Dart 模型)

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net 前言 在进行 OpenHarmony 项目开发时,最枯燥的工作莫过于根据后端提供的 Swagger (OpenAPI) 文档手动编写一个个的 Request 类、Response 类和 API Client。这不仅低效,而且极易因文档更新没对齐而导致 Bug。 swagger_parser 是一个强大的命令行工具,它能直接读取本地或网络上的 Swagger JSON/YAML 文件,自动为你生成完整的 Dart 数据类和 Dio/Chopper API 控制器。 一、核心工作流 Swagger JSON / YAML Swagger Parser Dart 数据模型 (JSON Serialized) Dio / Chopper

By Ne0inhk

Claude Code 完整指南(四):Hooks(自动化事件触发)

文章目录 * 1. 引言 * 2. Hooks 是什么? * 3. Hooks 配置(用户级 vs 项目级) * 4. 八种事件类型汇总 * 5. 命令型 Hooks * 5.1 基础语法(最常用) * 5.2 Hook 能拿到什么上下文? * 5.3 退出码怎么控制“阻断/不阻断”? * 6. 提示型 Hooks * 6.1 基础语法 * 5.2 响应格式(核心) * 7. 案例模板 * 7.1 案例:SessionStart 做环境体检(不阻断) * 7.2

By Ne0inhk