Skip to content

bestlzk/clipboard-inspector

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Clipboard Inspector

License: GPL v3

本项目是一个本地剪贴板检查工具,包含两个入口:

  • CLI:命令行读写剪贴板,入口在 ./cmd/clipi
  • GUI:Wails 桌面应用,工程根在 ./gui,前端在 ./gui/frontend

核心剪贴板逻辑位于 ./internal,CLI 和 GUI 复用同一套 Go 实现。

当前能力

  • 读取指定 pasteboard 的全部条目与类型信息
  • 以 JSON 快照形式导出剪贴板内容
  • 按快照结构写回剪贴板
  • GUI 中查看原始文本、Hex 和部分类型的预览

当前 macOS 为主要实现平台:

  • macOS:已实现,依赖 cgo / Objective-C bridge
  • Windows:接口已预留,当前未实现
  • 其他系统:返回 unsupported

项目结构

.
├── cmd/clipi                 # CLI 入口
├── gui/                      # Wails 桌面应用
│   ├── app.go                # Go <-> 前端绑定
│   └── frontend/             # React + Vite 前端
└── internal/
    ├── clipboard/            # 读写剪贴板的应用层
    ├── models/               # 共享数据模型
    └── platform/             # 平台抽象与 macOS 实现

CLI

依赖

  • macOS:需要 Xcode Command Line Tools,用于 cgo / Objective-C 编译

开发运行

CGO_ENABLED=1 go run ./cmd/clipi health

编译运行

CGO_ENABLED=1 go build -ldflags='-s -w' -o bin/clipi ./cmd/clipi
./bin/clipi health

常用命令

读取剪贴板:

./bin/clipi read --pasteboard general

导出快照:

./bin/clipi export -o snapshot.json --pasteboard general

覆盖写回剪贴板:

./bin/clipi write --json '{"pasteboard":"general","items":[{"types":[{"type":"public.utf8-plain-text","data":"aGVsbG8="}]}]}'

CLI 使用说明:

./bin/clipi help

GUI(Wails)

依赖

  • Go
  • Node.js
  • Wails v2 命令行工具 wails

开发运行

cd gui
wails dev
wails dev -browser

生产构建

cd gui
wails build

前端工程位于 gui/frontend,Wails 会通过 gui/wails.json 中的 frontend:* 脚本安装和构建前端资源。

GUI 显示说明

  • GUI 会从后端全量读取剪贴板内容到前端
  • 文本类内容在 Raw / 文本 Preview 视图中,超过 256 KB 时会提示:仅显示前 256 KB(数据完整)
  • 这个限制只影响显示,不影响底层已读取到前端的数据完整性
  • Hex、图片、HTML、PDF、RTF 等视图保持各自现有的展示方式

开发说明

  • Go 数据模型定义在 internal/models
  • Wails 暴露的桌面接口定义在 gui/app.go
  • 前端主要业务逻辑集中在 gui/frontend/src/features/clipboard
  • macOS 原生剪贴板桥接实现位于 internal/platform/macos

About

本地剪贴板检查工具

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors