| name | piclist-image-hosting |
| description | 将 Markdown 中的本地图片通过 PicList 上传到用户配置的图床,用在线 URL 替换本地路径。
依赖本地运行的 PicList App(HTTP API 127.0.0.1:36677),复用用户已有的图床配置。
使用场景:Markdown 含本地图片且需发送到外部平台(钉钉文档、邮件、分享报告等)时,
必须先用此 skill 将本地路径替换为可公网访问的链接。
触发词:本地图片上传、图片转链接、图床、piclist、markdown图片替换、
upload images、image hosting、钉钉文档图片。
|
PicList Image Hosting
将 Markdown 中的本地图片通过 PicList 上传到图床,用在线 URL 替换本地路径。
工作原理
- 解析 Markdown 中的
 和 <img src="path"> 图片引用
- 筛选出本地文件路径(自动跳过 http/https/data: URL)
- 调用 PicList HTTP API(
127.0.0.1:36677)上传图片
- 用返回的在线 URL 替换原始本地路径
- 输出处理后的 Markdown 到 stdout
前置条件
- PicList App 正在运行(macOS 菜单栏可见图标)
- PicList 中已配置好图床(支持 GitLab、GitHub、S3、SM.MS 等任意图床)
使用方式
脚本路径: {baseDir}/scripts/md_upload_images.py
无需特殊 Python 环境,仅使用标准库。
python3 {baseDir}/scripts/md_upload_images.py --files image1.png image2.jpg
python3 {baseDir}/scripts/md_upload_images.py --content-file report.md
python3 {baseDir}/scripts/md_upload_images.py --content ""
python3 {baseDir}/scripts/md_upload_images.py --content-file report.md > report_uploaded.md
与钉钉文档配合
在将 Markdown 上传到钉钉文档前,先用此 skill 处理图片:
python3 {baseDir}/scripts/md_upload_images.py --content-file report.md > /tmp/report_uploaded.md
注意事项
- 链接的有效期取决于 PicList 中配置的图床类型(如 GitLab 永久有效,OSS 看策略)
- 单张图片上传失败不阻断整体流程,失败的保留原路径并在 stderr 输出警告
- 相对路径基于
--content-file 所在目录解析
- 支持
file:// URI 和 URL 编码路径
- 无需在本项目中配置任何环境变量或 API key,完全依赖 PicList App 已有配置
- 如果 PicList App 未运行,脚本会报错提示