让 Linux 上的 Claude Code/codex 拿到 Windows 截图的小工具picopaste 把 Windows 截图送到 Linux 的步骤压缩为一次热键截图进入剪贴板后按altshiftv工具通过已有 SSH 通道上传图片将远端绝对路径写入剪贴板并注入当前焦点窗口。Linux 端不安装新服务、不开放额外端口也不需要工具接触 SSH 凭据。使用方式与问题边界典型场景编辑器、终端、构建流程和 Claude Code 运行在 Linux 主机而操作界面和截图工具运行在 Windows。手工执行scp、使用共享目录或借助中转工具都需要重新输入路径或切换注意力。单日重复十余次累积的时间与注意力开销相当可观。获取 release 中的picopaste.exe或自行构建在其同级目录放置picopaste.ini[picopaste] host useryour-linux-host hotkey altshiftv运行后托盘图标会出现连接建立期间最多短暂显示黄色成功后变为绿色。截取图片并按热键即可上传。仓库地址是 https://github.com/DeguiLiu/picopaste许可为 MIT。单进程链路与远端依赖远端使用 stocksshd自带的sftp-server子系统绝大多数 Linux 开发机默认已经开启。Windows 侧只有一个进程不实现 SSH 协议而是驱动系统已有的sshssh-oClearAllForwardingsyes-shostsftp-s请求 SFTP 子系统stdin/stdout 随之成为 SFTP 字节流全程不经过远端 shell。认证、密钥、ssh-agent、known_hosts 和~/.ssh/config交由系统 OpenSSH 处理工具不读取凭据也默认不修改~/.ssh/config。ClearAllForwardingsyes用于屏蔽 SSH 配置中可能存在的端口转发因为当前通道只需要 SFTP 子系统不需要建立隧道。Linux 远端 · 零代码Windows 客户端 · 单进程 picopaste.exe全局热键 · RegisterHotKey MOD_NOREPEAT主线程消息循环 · GetMessageW阻塞无定时器托盘 · Shell_NotifyIconW TaskbarCreated 重挂剪贴板采集 · PNG 快路径 / DIB → WIC上传 worker · SFTP 状态机焦点守卫 SendInput · 核对注入事件数Job Object · KILL_ON_JOB_CLOSE MEMORY_LIMITsshd · sftp-server 子系统/tmp/picopaste默认客户端经 SFTP 创建Claude Code · 按路径读取图片用户侧始终只有一个进程Linux 远端没有引入新组件。SFTP 上传的原子性scp并不是这里的重点。OpenSSH 9.0 及以上版本的scp默认使用 SFTP远端路径不再经过 shell 展开~与引号的行为容易与预期不同。使用ssh cat path又依赖远端的sh、mkdir、cat和wc还需要自行处理引号传输期间目标文件名已经存在半成品。picopaste 选择在同一条连接内使用 SFTP v3。自行实现 SFTP v3 只需要10 个报文每一步都能获得明确的成功或失败码并可在同一条连接内比对字节数SFTP 通道剪贴板上传 worker主线程SFTP 通道剪贴板上传 worker主线程连接失败则进入退避重连由等待超时驱动无需轮询PNG 直写临时文件否则 DIBV5/DIB → WIC 编码不复制像素启动即建连EnsureChannel成功即 Ready托盘变绿热键触发投递上传任务不阻塞消息循环OpenClipboard → 取图 → CloseClipboardREALPATH . → MKDIR uploads → OPEN .tmp-ts-randWRITECLOSE → STAT远端字节数与本地比对不符即中止RENAME → clip-ts-rand.png此前中断不留半成品写入路径文本CF_UNICODETEXT OleFlushSendInput CtrlShiftV核对事件数只有STAT确认字节数一致后才执行RENAME因此 Claude Code 不会读到尚未传输完成的文件。