Skills 实战:Unsplash → COS 自动化配图

前置条件 :本机已安装 OpenCode;已开通腾讯云 COS 并建好存储桶;本机可用 npx(用于启动 cos-mcp)。

最近有一项比较重复的工作:找素材图片并上传到腾讯云 COS。图片需求量大,且会持续一段时间,所以想优化工作流。

打算在 OpenCode 里写一个 Skill:自动找图片链接、下载到本地、上传到 COS,最后把可访问的图片链接写回 Markdown。

MCP

腾讯官方 MCP:cos-mcp,用于上传图片。接入方式为本地子进程 stdio (配置里对应 type: "local"),示例命令如下。

路径:~/.config/opencode/opencode.json

json 复制代码
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "cos-mcp": {
      "type": "local",
      "command": ["npx", "-y", "cos-mcp", "--Region=<地区>", "--Bucket=<bucket>", "--SecretId=<secretId>", "--SecretKey=<secretKey>", "--DatasetName=yourDatasetname"],
      "enabled": true
    }
  }
}

将 region、bucket、secretId、secretKey 等换成你自己的值。请勿把真实密钥写进会被提交的仓库或公开发布的文章里。

如何拿到 COS 相关配置

以下假设你已经创建过对象存储桶。

1. 桶与地域、访问域名

打开 COS 控制台 - 存储桶列表。

记下 region 、bucket ,以及控制台里显示的访问域名(形如 https://xxx-xxx.cos.ap-xxx.myqcloud.com)。后续上传路径与域名组合即可得到图片 URL;把桶名、地域、域名等信息提供给 Agent,由 Skill / MCP 侧处理即可,无需在文章里手工推导整条 URL。

2. secretId、secretKey

在 访问管理 - 访问密钥 创建并查看 secretId 、secretKey 。注意 secretKey 仅在创建时完整可见,其他时间不可见;若遗失只能删除该密钥后重新创建。

图片源

图源使用 Unsplash:注册账号 → 创建 Application → 拿到 Access Key。

1. 注册账号(已有账号可跳过)

2. 创建 Application

登录后打开 新建 Application。

填写 Application Name 、Description,例如:

复制代码
Application Name:Photo Gallery App
Description:A web application that helps users discover and curate high-quality images from Unsplash. The app allows users to search for images by keywords, create collections, and download their favorite photos for personal and commercial projects.

选择 Create application:

3. 获取 Access Key

4. 验证 Access Key

使用 curl 测试:

curl 复制代码
curl -s "https://api.unsplash.com/search/photos?query=ai&client_id={Access Key}"

若返回类似下图,一般表示 Access Key 配置有误或权限异常:

Skills 编写

完整 SKILL.md 示例与说明可参考:codecopy 原文。落地时通常需要做到:

  • 用 Unsplash 搜索接口按关键词取图,并控制条数;
  • 下载到本地临时路径后,通过 cos-mcp 上传到指定前缀/目录;
  • 用控制台提供的域名(或自定义域名)生成最终图片 URL,写回目标 Markdown。

把 codecopy 里面的 Skill 里占位内容换成你自己的:域名 (文中写「换成自己的域名」需要进行替换);Access Key(与 Unsplash 控制台一致)。

bash 复制代码
curl -s "https://api.unsplash.com/search/photos?query={query}&client_id={Access key}&per_page={count}"

在 OpenCode 中新建 Skill,按向导写入后,路径一般为 ~/.config/opencode/skills/<名称>/SKILL.md。

创建时可用的 prompt 示例:

复制代码
帮我创建 skills 具体要求如下:{这里写上面的 skill.md 的完整内容}

跑通后,目标 Markdown 里应出现可浏览器打开的 COS 图片链接。若上传失败,先核对桶权限、地域与密钥;若搜图失败或返回异常,检查 Unsplash Access Key 与接口配额(例如 429)。

测试

这里我们使用 OpenCode 进行测试,测试的 prompt 如下:

复制代码
/download-image-from-unsplash 帮我找到鱼皮相关的图片

注意:这个 /download-image-from-unsplash 每一个人可能不一样,需要看看自己的叫什么

结果如下:

生成的 md :

相关推荐
紧跟先前的步伐21 分钟前
Go AI Agent 实战 06|JSON 结构化输出与 Go 后端校验
人工智能·ai·golang
程序员-Benothing29 分钟前
Linux安全加固指南:账号、权限、服务、审计基线
linux·运维·安全
Mininglamp_271843 分钟前
接口调用 vs 屏幕理解:两种 GUI 自动化架构的技术取舍
运维·架构·自动化
Maynor9963 小时前
WorkBuddy 一键接通 gpt-6.1-sol:MomoAI / TryAllAPI 把最新模型接到桌面
人工智能·gpt·ai·大模型·编程工具
爱喝水的鱼丶3 小时前
SAP-ABAP:ECC→S/4HANA ABAP 迁移升级指南——程序改造、语法兼容与性能优化 导语
运维·开发语言·性能优化·sap·abap·经验交流·开发交流
木子欢儿3 小时前
openconnect Linux客户端安装 以及开机自启和登录
linux·运维·服务器
..Dauntless..4 小时前
【Linux】文件系统(一)
linux·运维·服务器
天空属于哈夫克34 小时前
企业微信API二次开发 赋能私域运营自动化
运维·自动化·企业微信
zimoyin4 小时前
在 C# 里嵌入 JavaScript:用 Jint 做可热更新的自动化脚本(从入门到踩坑)
javascript·c#·自动化