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
    }
  }
}

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

如何拿到 COS 相关配置

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

1. 桶与地域、访问域名

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

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

2. secretId、secretKey

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

图片源

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

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

2. 创建 Application

登录后打开 新建 Application

填写 Application NameDescription,例如:

复制代码
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 :

相关推荐
垚森1 天前
我用 GLM-5.2 造了个炸裂主题后台:16 套主题随心切,可在线体验
ai·react
doiito2 天前
【Agent Harness】Gliding Horse 工具结果压缩体系:如何用“指针”驯服上下文膨胀
ai·rust·架构设计·系统设计·ai agent
doiito3 天前
【Agent Harness】Gliding Horse 上下文动态感知与智能压缩:让 Agent 真正“听得进”每一句话
ai·rust·架构设计·系统设计·ai agent
乘云数字DATABUFF3 天前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
探索云原生3 天前
K8s 1.36 这个 GA 特性,把 initContainer 拉模型的 hack 干掉了
ai·云原生·kubernetes
Zy宇3 天前
从养 OpenClaw 到养社区 AI:一套 Multi-Agent 社区的设计思路
人工智能·ai
doiito4 天前
【Agent Harness】Gliding Horse 记忆系统深度剖析:像 CPU 一样思考的 AI 记忆架构
ai·rust·架构设计·系统设计·ai agent
mobility4 天前
免费AI视频生成器:我如何用零成本做出带旁白字幕的多场景AI视频
ai·vibe coding
doiito4 天前
【Agent Harness】Gliding Horse 给 Agent OS 装上双曲空间引擎与默克尔树边云同步
ai·rust·架构设计·系统设计·ai agent
knqiufan4 天前
从 Python 到 TypeScript,用 GLM-5.2 跑通 PowerMem SDK 的长程任务工程
ai·memory·agentic·powermem