piclist-upload

SKILL.md

PicList 图片上传

将 Markdown 文件中的本地图片上传到配置的图床,并将本地路径替换为云端链接。

前置条件

  • 已安装 PicList 并启用 HTTP Server
  • 已在 PicList 中配置图床

首次配置: 请参阅 references/setup.md 安装和配置指南。

工作流程

1. 确定处理范围

  • 单个文件: file.md
  • 多个文件: file1.md file2.md
  • 目录: 扫描目录中所有 .md 文件
  • 多个目录: 递归处理每个目录

2. 提取和过滤图片路径

解析 ![alt](path) 模式:

  • 提取相对路径和绝对路径
  • 跳过已有 URL: 忽略 http://https:// 链接
  • 保留 alt 文本描述

3. 上传和替换

  1. 将相对路径解析为绝对路径
  2. 验证文件是否存在
  3. 通过 PicList HTTP Server 上传
  4. 将本地路径替换为云端 URL
  5. 删除本地图片文件(除非使用 --keep-local
  6. 直接修改原文件

使用方法

处理目录(默认删除本地图片)

scripts/process.sh --in-place docs/

直接修改 docs/ 中的所有 Markdown 文件,上传成功后删除本地图片。

处理指定文件(保留本地图片)

scripts/process.sh --in-place --keep-local README.md docs/guide.md

直接修改指定的文件,但保留本地图片不删除。

预览模式(不修改文件)

scripts/process.sh --dry-run README.md

查看将要进行的替换,不实际修改文件。

命令选项

选项 说明
--in-place 直接修改原文件
--keep-local 保留本地图片文件(默认删除)
--dry-run 预览模式,不修改文件

响应格式

解析上传返回的 JSON:

{"success":true,"result":["https://example.com/image.png"]}

统计报告

处理完成后显示:

📊 Summary:
  Total uploaded: 5
  Total skipped: 3
  Total failed: 0
  • Uploaded: 成功上传并替换(已删除本地图片)
  • Skipped: 已是云端 URL(无需操作)
  • Failed: 上传错误(保留原始路径)

错误处理

  • PicList Server 未运行: 提示启动 PicList 应用
  • 文件不存在: 跳过并显示 ⚠️ 警告,继续处理
  • 上传失败: 保留原始路径,标记 ❌,继续
  • 无效 JSON: 视为上传失败

配置

PicList Server 默认地址为 http://127.0.0.1:36677/upload。可通过环境变量覆盖:

export PICLIST_SERVER=http://127.0.0.1:PORT

支持格式

png, jpg, jpeg, gif, webp, svg, bmp

Weekly Installs
17
GitHub Stars
56
First Seen
Feb 20, 2026
Installed on
gemini-cli17
kimi-cli17
cursor17
opencode17
trae-cn16
antigravity16