npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

opencode-tui-image-clipboard-fix

v1.0.15

Published

OpenCode TUI plugin to fix image paste issues - saves clipboard images locally and replaces [Image N] with file paths

Readme

OpenCode TUI Image Clipboard Fix

修复 OpenCode TUI 中图片粘贴的问题:自动将剪贴板中的图片保存为本地文件,并替换 [Image N] 占位符为实际文件路径。

🚀 安装

~/.config/opencode/opencode.jsonplugin 数组中添加:

{
  "plugin": ["opencode-tui-image-clipboard-fix@latest"]
}

重启 OpenCode 即可,插件会自动下载安装。

🗑️ 卸载

从配置中删除该行,重启 OpenCode。

✨ 功能特性

  • 自动保存图片:将 base64 图片数据保存为本地文件
  • 路径替换:自动替换 [Image 1] 占位符为 /path/to/image.png
  • 去重检测:使用 SHA-256 哈希避免保存重复图片
  • LRU 清理:当存储超过限制时自动删除最旧的图片
  • 移除 FilePart:避免不支持图片的模型报错
  • 自动提示:添加提示让模型使用 read 工具读取图片

🔧 工作原理

┌─────────────────────────────────────────────────────┐
│                OpenCode TUI                         │
│  用户粘贴图片                                        │
│  ↓                                                  │
│  生成 FilePart (url: "data:image/...;base64,...")  │
│  消息文本包含 [Image 1] 占位符                       │
└─────────────────────────────────────────────────────┘
                        ↓
┌─────────────────────────────────────────────────────┐
│           Image Clipboard Fix Plugin                │
│  1. 监听 chat.message hook                          │
│  2. 检测图片 FilePart                               │
│  3. 提取 base64 数据,保存为本地文件                   │
│  4. 替换文本中的 [Image N] 为实际路径                 │
│  5. 移除 FilePart(避免模型报错)                    │
│  6. 添加提示让模型使用 read 工具读取图片              │
└─────────────────────────────────────────────────────┘
                        ↓
┌─────────────────────────────────────────────────────┐
│                最终消息                              │
│  "请分析这张图片 /path/to/image.png                  │
│   [Image Reference: ...]"                           │
│  模型使用 read 工具读取图片                          │
└─────────────────────────────────────────────────────┘

⚙️ 配置

默认配置:

  • 存储目录: ~/.local/share/opencode/storage/images
  • 最大存储: 2048 MB
  • 最小剩余空间: 512 MB

📝 支持的格式

  • PNG (支持尺寸提取)
  • JPEG/JPG
  • GIF
  • WebP

🐛 解决的问题

  1. 粘贴图片识别问题:将 base64 图片保存为文件,替换占位符为路径
  2. 模型不支持图片报错:移除 FilePart,只发送文本路径
  3. 图片读取提示:自动添加提示让模型使用 read 工具读取图片

🔗 相关链接

📄 License

MIT