乐于分享
好东西不私藏

OpenCode 插件开发实战:手把手教你开发文件读取助手,解决 macOS 26.3 附件上传失效问题

OpenCode 插件开发实战:手把手教你开发文件读取助手,解决 macOS 26.3 附件上传失效问题

🚀 发现一个宝藏插件!OpenCode 文件读取助手,解决 macOS 附件上传失效问题

作为一名开发者,你是否遇到过这样的困扰:升级 macOS 后,OpenCode Desktop 的附件上传按钮突然失灵了?今天给大家介绍一个我刚发现的神器——OpenCode 文件读取助手


😱 问题背景

最近升级到macOS 26.3后,我发现 OpenCode Desktop 的附件上传功能完全失效了!点击按钮毫无反应,这让我非常抓狂。

经过一番调查,发现问题出在Tauri dialog plugin与 macOS 26.3 的兼容性问题。这个 bug 已经被记录在GitHub Issue #14669。

就在我准备降级系统的时候,发现了这个救星插件!


✨ 插件介绍

OpenCode 文件读取助手(英文名:opencode-read-file)是一个专为解决这个问题而生的插件。它通过命令行工具直接读取本地文件,完美绕过了原生附件上传的限制。

核心功能

功能
说明
📁 通用文件读取
支持 30+ 种文件格式
🎨 JSON/YAML 自动格式化
一键美化结构化数据
📊 CSV 转 Markdown 表格
自动转换,开箱即用
💻 代码文件语法高亮
支持 10+ 编程语言
📋 文件元信息获取
名称、大小、类型一目了然
🛡️ 文件大小限制保护
默认 10MB,防止内存溢出

📦 支持的文件类型

插件采用了三层支持体系

Tier 1(完全支持)⭐⭐⭐

类型
扩展名
文本
.txt,.md,.log
数据
.json,.yaml,.yml,.csv
代码
.js,.ts,.py,.go,.java,.c,.cpp,.rs,.rb,.php
脚本
.sh,.bash,.zsh

Tier 2(支持读取)⭐⭐

类型
扩展名
文档
.pdf,.html,.xml

Tier 3(计划支持)⭐

  • 思维导图.xmind
  • Office 文档.docx,.xlsx
  • 图片.png,.jpg,.gif,.webp

🔧 安装教程

方法一:本地安装(推荐)

# 克隆仓库git clone https://github.com/Jones-BIGBIG/opencode-read-file.git  # 进入目录cd opencode-read-file  # 安装依赖 bun install# 构建项目 bun run build 

方法二:配置插件

在项目根目录创建opencode.json

{"plugins":[{"name":"opencode-read-file","path":"/你的路径/opencode-read-file/dist/index.js"}]}

🎯 使用示例

1️⃣ 读取 JSON 文件

输入:

读取 /Users/demo/config.json 

输出:

{"name":"my-project","version":"1.0.0","dependencies":{"express":"^4.18.0"}}

2️⃣ 读取 CSV 文件

输入:

读取 /Users/demo/data.csv 

输出(自动转为 Markdown 表格):

id
name
age
city
1
张三
28
北京
2
李四
32
上海
3
王五
25
广州

3️⃣ 获取文件信息

输入:

查看 /Users/demo/script.ts 的文件信息 

输出:

📄 文件信息: 
┌─────────────┬─────────────────────────┐│ 属性          │ 值                        │ ├─────────────┼─────────────────────────┤ │ 名称          │ script.ts                 │ │ 类型          │ TypeScript                │ │ 层级          │ Tier 1 (完全支持)          │ │ 大小          │ 1.5 KB                    │ │ 修改时间       │ 2025-02-15 10:30:00       │ └─────────────┴─────────────────────────┘ 

🏗️ 项目结构

opencode-read-file├── src/ │   ├── index.ts          # 插件入口 │   ├── tools/ │   │   └── read-file.ts  # 核心读取逻辑 │   └── types/ │       └── index.ts      # 类型定义 ├── dist/ │   └── index.js          # 编译输出 ├── package.json └── README.md 

📊 技术栈

  • TypeScript
    – 类型安全的开发语言
  • Bun
    – 高性能 JavaScript 运行时
  • Zod
    – 运行时参数验证
  • OpenCode Plugin SDK
    – 官方插件开发框架

⚠️ 常见问题

Q: 为什么不直接修复附件上传按钮?

A: 附件上传是 Tauri dialog plugin 的原生功能,问题出在系统层面的兼容性。插件无法修改宿主应用的原生代码,只能提供替代方案。

Q: 支持二进制文件吗?

A: 目前支持 PDF 文本提取。图片、Office 等格式正在开发中。

Q: 文件大小有限制吗?

A: 默认限制 10MB,可通过maxBytes参数调整。


🔗 相关链接

  • GitHub 仓库
    :https://github.com/Jones-BIGBIG/opencode-read-file
  • 问题反馈
    :https://github.com/Jones-BIGBIG/opencode-read-file/issues
  • 原 Issue
    :https://github.com/anomalyco/opencode/issues/14669
  • OpenCode 官网
    :https://opencode.ai

💡 总结

如果你也在 macOS 26.3 上遇到了附件上传失效的问题,不妨试试这个插件。它不仅解决了燃眉之急,还提供了更多实用的文件读取功能。

开源免费,MIT 协议,欢迎 Star 支持!⭐


📝作者注:本文介绍的插件为开源项目,代码已托管在 GitHub。如有问题或建议,欢迎在评论区留言或提交 Issue!


觉得有用的话,别忘了点赞、收藏、关注三连哦!💕

本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » OpenCode 插件开发实战:手把手教你开发文件读取助手,解决 macOS 26.3 附件上传失效问题

评论 抢沙发

5 + 5 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
×
订阅图标按钮