剪存:让剪贴板完成自动化工作(入选阮一峰周刊, GitHub 200+ Stars)

查看 75|回复 11
作者:snso   
剪存:让剪贴板成完成自动化工作

一个强大的剪贴板历史管理工具,现已支持自定义脚本功能,让你的剪贴板操作自动化起来!

🎉 最新进展
📰 入选阮一峰周刊
  • 剪存项目入选 阮一峰科技爱好者周刊第 375 期
  • 感谢阮老师的推荐和社区的认可!

    ⭐ GitHub 200+ Stars
  • 项目在 GitHub 上已获得 200+ Stars (刚刚 200🤣)
  • 感谢每一位支持者的 Star 和反馈!
  • 特别感谢 v 佬们的支持和提供的建议

    📋 关于剪存
    剪存是一个跨平台的剪贴板历史管理工具,基于 Wails + Vue 3 构建,支持 macOS 和 Windows 。关于基础功能(自动保存、搜索过滤、图片处理等)可以参考之前的推广文。今天重点介绍的是自定义脚本功能——这个让剪存变成的强大。
    ✨ 自定义脚本功能:让剪贴板更智能
    核心特性
    [ol]
  • JavaScript 脚本支持:使用熟悉的 JavaScript 编写脚本,无需学习新语言

  • 两种触发方式
  • 手动执行:通过快捷键或菜单手动触发脚本
  • 自动执行:剪贴板内容保存后自动运行(可配置过滤条件)

  • 灵活的过滤机制
  • 按内容类型过滤(文本/图片/URL/JSON 等)
  • 按关键词过滤(支持正则表达式)
  • 完整的浏览器 API:可以使用 fetch、crypto、Date 等所有浏览器 API
  • 内置 API 函数:通过 import 导入 csRequest( HTTP 请求)和 csCopyText(剪贴板复制)等函数
    [/ol]
    🎯 丰富的使用场景
    1. 开发场景
    📝 JSON Mock 数据生成
    复制一个 JSON Schema 或 API 响应模板,自动生成符合格式的 Mock 数据。支持智能识别字段类型(邮箱、手机号、日期、图片 URL 等),生成真实感的数据。
    适用场景
  • 前端开发时快速生成测试数据
  • API 接口联调时生成模拟响应
  • 数据库填充测试数据

    🎫 JWT Token 生成
    复制用户信息或配置,自动生成 JWT Token ,方便 API 测试和调试。
    适用场景
  • API 开发测试
  • 身份验证调试
  • 微服务间通信测试

    ⏰ 时间戳转换
    复制时间戳或日期字符串,自动转换为可读格式,支持双向转换。
    适用场景
  • 日志分析
  • 时间格式转换
  • 调试时间相关问题

    2. 数据处理场景
    📤 Base64 编码/解码
    快速对文本进行 Base64 编码或解码,支持 Unicode 字符。
    适用场景
  • 图片转 Base64
  • 数据传输编码
  • 配置文件处理

    📝 文本信息提取
    从文本中自动提取邮箱、URL 、手机号、身份证号、银行卡号、IP 地址等结构化信息。
    适用场景
  • 数据清洗和整理
  • 隐私信息检查
  • 批量信息提取

    3. 通知协作场景
    💬 钉钉/企业微信消息推送
    复制重要信息后,自动推送到钉钉群或企业微信群,实现跨设备通知。
    适用场景
  • 重要信息及时通知团队
  • 跨设备内容同步
  • 工作流自动化

    📱 Pushover 推送
    将剪贴板内容推送到手机,支持优先级设置。
    适用场景
  • 个人重要信息提醒
  • 跨平台内容同步
  • 紧急信息通知

    4. 内容处理场景
    🔗 URL 短链接生成
    复制长链接,自动生成短链接,方便分享。
    适用场景
  • 社交媒体分享
  • 文档中的链接简化
  • 二维码生成前的链接处理

    🤖 AI 文本分析
    复制文本内容,调用 AI API (如阿里云百炼)进行情感分析、内容总结、错别字检测等。
    适用场景
  • 文本情感分析
  • 内容摘要生成
  • 智能文本处理

    5. 工作流自动化场景
    📊 数据格式转换
    复制不同格式的数据,自动转换为目标格式( CSV ↔ JSON 、Markdown ↔ HTML 等)。
    适用场景
  • 数据格式转换
  • 文档格式处理
  • 批量数据处理

    🔍 内容验证
    复制内容后自动验证格式(邮箱格式、URL 有效性、JSON 合法性等)。
    适用场景
  • 数据质量检查
  • 格式验证
  • 错误检测

    💡 实际案例分享
    案例 1:前端开发者的 Mock 数据生成器
    场景:前端开发时需要大量测试数据,但手动编写太繁琐。
    解决方案
    [ol]
  • 复制 API 返回的 JSON Schema
  • 运行 Mock 数据生成脚本
  • 自动生成 10-20 条符合格式的测试数据
  • 数据包含真实的邮箱、手机号、日期等格式
    [/ol]
    效果:从 10 分钟手动编写数据 → 3 秒自动生成
    案例 2:团队协作的信息同步
    场景:开发过程中复制了重要的错误信息或配置,需要及时通知团队成员。
    解决方案
    [ol]
  • 配置钉钉推送脚本
  • 设置关键词过滤(如包含 "error" 或 "config")
  • 复制相关内容后自动推送到团队群
    [/ol]
    效果:重要信息自动同步,无需手动发送消息
    案例 3:日志分析的时间戳转换
    场景:查看日志时遇到大量时间戳,需要快速转换为可读格式。
    解决方案
    [ol]
  • 复制时间戳
  • 运行时间戳转换脚本
  • 自动识别秒级/毫秒级时间戳并转换
    [/ol]
    效果:无需打开在线工具,一键转换
    🛠️ 如何开始使用?
    1. 安装剪存
  • macOS: App Store
  • Windows/Linux: 从 GitHub Releases 下载

    2. 创建你的第一个脚本
    [ol]
  • 打开剪存应用
  • 进入设置 → 脚本管理
  • 点击"新建脚本"
  • 填写脚本信息(名称、描述、触发时机等)
  • 编写 JavaScript 代码
  • 保存并启用
    [/ol]
    3. 使用示例脚本
    项目提供了多个开箱即用的脚本示例:
  • JSON Mock 数据生成器
  • Base64 编码/解码
  • JWT Token 生成
  • 文本信息提取
  • 钉钉/Pushover 消息推送
  • URL 短链接生成
  • 时间戳转换

    你可以在 GitHub 仓库 中找到这些脚本,直接复制使用或作为参考。
    🎨 脚本编写示例
    简单示例:文本转大写
    if (item.ContentType !== "Text") {
      return { error: "只支持文本类型" };
    }
    return item.Content.toUpperCase();
    进阶示例:调用外部 API
    import { csRequest } from '@clipsave/api';
    // 使用内置的 csRequest 函数调用 API (绕过 CORS 限制)
    const responseJson = await csRequest(
      'POST',
      'https://api.example.com/process',
      JSON.stringify({ 'Content-Type': 'application/json' }),
      JSON.stringify({ text: item.Content })
    );
    const response = JSON.parse(responseJson);
    return response.body.result;
    复制到剪贴板示例
    import { csCopyText } from '@clipsave/api';
    // 生成结果后自动复制到剪贴板
    const result = processData(item.Content);
    await csCopyText(result);
    return result;
    🌟 为什么选择剪存?
    [ol]
  • 跨平台:支持 macOS 、Windows
  • 开源免费:MIT 许可证,完全开源
  • 轻量高效:基于 Go + Vue 3 ,性能优秀
  • 扩展性强:通过脚本功能无限扩展能力
  • 隐私安全:数据本地存储,不上传云端
  • 持续更新:活跃的开发和社区支持
    [/ol]
    📚 更多资源
  • GitHub 仓库: https://github.com/snsogbl/clip-save
  • 脚本示例: https://github.com/snsogbl/clip-save/tree/master/scriptingExample
  • 使用文档: https://github.com/snsogbl/clip-save/blob/master/scriptingExample/README.md

    🤝 参与贡献
    我们欢迎社区贡献更多实用的脚本!如果你有好的脚本想法或已经编写了有用的脚本,欢迎提交 Pull Request 。
    让剪贴板成为你的自动化工作流中心,从今天开始! 🚀
    如果这个工具对你有帮助,欢迎给项目点个 ⭐ Star ,这是对我们最大的支持!

    剪存, 自定义脚本, 跨平台

  • rayg0   
    挺有意思的,可扩展空间很大。
    snso
    OP
      
    @rayg0 哈哈 欢迎贡献脚本
    hafuhafu   
    剪切板内容可以通过 js 脚本拓展这个想法还是挺好也挺实用的。
    就是作为剪切板历史记录工具本身的功能还是得完善一下。
    zarvin   
    使用了一下,挺好的,已 star
    510908220   
    体验了下,不错。
    ikw   
    体验了一下,效果确实还可以,有几个地方感觉可以优化一下
    1. 建议用 https://gitlab.com/cznic/sqlite 去掉 cgo 开发体验好很多
    2. CleanShot X 的截图识别成文件了,Paste 是能识别到是图片的,或许可以针对 File 类似多识别一下文件类型?
    snso
    OP
      
    @ikw 感觉你提的建议 学到了新知识,后面更新优化
    BlackkCCCat   
    终于看到了一个和 Mac 端 pastebot 有类似功能的剪切板 app 了,pastebot 是支持 awk 等命令来扩展剪切板内容,强👍
    BlackkCCCat   
    @BlackkCCCat star 了,但是我看目前好像不支持像常规剪切板 app 一样的极简模式或快捷面板( issue 有人提),希望能尽快支持
    您需要登录后才可以回帖 登录 | 立即注册

    返回顶部