[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-80476":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":15,"forks30d":15,"starsTrendScore":18,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":23,"hasPages":21,"topics":24,"createdAt":10,"pushedAt":10,"updatedAt":34,"readmeContent":35,"aiSummary":36,"trendingCount":15,"starSnapshotCount":15,"syncStatus":17,"lastSyncTime":37,"discoverSource":38},80476,"PasteLocal","Zen-Open-Source\u002FPasteLocal","Zen-Open-Source","Secure clipboard sharing over SSH for remote work and agentic coding tools.","https:\u002F\u002Fwww.pastelocal.sh\u002F",null,"Go",85,8,83,0,1,2,3,46.16,"MIT License",false,"main",true,[25,26,27,28,29,30,31,32,33],"cli","clipboard","developer-tools","golang","productivity","remote-development","remote-work","ssh","terminal","2026-06-12 04:01:28","# PasteLocal\n\n![Header](assets\u002Fpastelocal-header.png)\n\n**Secure clipboard sharing over SSH for remote work and agentic coding tools.**\n\nPasteLocal lets you access your local clipboard (including screenshots) from any remote machine over SSH — with zero friction. Built for developers who live in the terminal and use agentic coding tools.\n\n---\n\n## Why PasteLocal?\n\nWhen you SSH into a remote machine (a VPS, server, or cloud instance), your local clipboard becomes unreachable. You take a screenshot or copy important text on your laptop, switch to your terminal, and suddenly you can't paste it into your agentic coding tool (Claude, Cursor, etc.) running on the remote.\n\nThis friction is especially painful for developers who rely on AI coding assistants over SSH.\n\n**PasteLocal solves this cleanly:**\n\n- Works over your existing SSH connection — no new ports or services exposed\n- Extremely simple remote command (`pastelocal-remote`)\n- Excellent integration with agentic coding tools via skills (`\u002Fpaste`, `\u002Fpaste-history`, etc.)\n- Built-in clipboard history and named snippets\n- Works with popular SSH clients like Termius\n\nIt’s the most reliable way today to bring your local clipboard into remote development environments.\n\n---\n\n## 60-Second Quick Start\n\nThe easiest way to get started:\n\n```bash\n# 1. Build from source (most reliable method for v0.1.0)\ngit clone https:\u002F\u002Fgithub.com\u002FZen-Open-Source\u002FPasteLocal.git\ncd PasteLocal\nmake build\n\n# 2. Initialize the local daemon\n.\u002Fbin\u002Fpastelocal init\n\n# 3. Add your remote host (automatically sets up SSH forwarding)\n.\u002Fbin\u002Fpastelocal add-host myserver\n\n# 4. On the remote server, pull your local clipboard\n.\u002Fbin\u002Fpastelocal-remote\n```\n\n`pastelocal-remote` will save your latest clipboard content (including screenshots) to a file on the remote machine and print the path. You can then read it with your agentic coding tool.\n\n---\n\n## Features\n\n### Core Workflow\n- One-command remote clipboard access via SSH tunnel\n- Full support for images (screenshots) and text\n- Works with any SSH client (including Termius)\n\n### Integration with Agentic Coding Tools\n- `\u002Fpaste` — Paste current clipboard\n- `\u002Fpaste-history` — Choose from recent clipboard entries (or use the new `\u002Frecall` skill for natural-language semantic search)\n- `\u002Fpaste-snippet` — Recall saved named snippets\n- `\u002Fpaste-send` — Send files from the remote machine back to your local clipboard\n- `\u002Frecall` — Natural language search over history (Recall v2)\n\n### Productivity Tools\n- **Clipboard History** — Go back in time with `pastelocal-remote --list` or the powerful `--search \"natural language query\"` (Recall v2)\n- **Named Snippets** — Save frequently used text or images locally\n- **TUI Dashboard** — Run `pastelocal` to see daemon status, hosts, and recent activity\n- **Doctor** — `pastelocal doctor --fix` automatically diagnoses and repairs most issues\n\n### Security & Privacy\n- **Concealed \u002F Sensitive Clipboard Filtering**: When the clipboard watcher is enabled (`watch.enabled = true`), PasteLocal automatically skips items marked as secrets by password managers. On macOS this uses the standard `org.nspasteboard.ConcealedType` signal (the same one Raycast and other good clipboard managers respect). These items are never relayed to remotes. Explicit access returns error `CB1013`. The feature is on by default for safety. See `[watch.sensitive]` in RELAY.md for configuration and detector-failure logging.\n\n- **VisionPaste v2 \u002F Proactive Screenshot Intelligence**: Optional `[vision]` pipeline. Analysis now runs **proactively** in the clipboard watcher (debounced, limited, fail-open) when new non-concealed images detected; results cached (in-mem + disk for restarts) and served instantly on reads\u002Fhistory with zero external cmd latency. Still writes `.analysis.txt` sidecars. 5+ doctor checks, TUI status, skills-first UX. Back-compat with v1 demand path.\n  - v1 limitations (by design, per scoped plan): Analysis is demand-driven on read (not pre-computed in watcher goroutine); relay carries raw bytes only; history stores raw bytes (re-analysis occurs on history fetch if still present on source clipboard). Concealed items never analyzed.\n  Configure example:\n  ```toml\n  [vision]\n  enabled = true\n  [[vision.chain]]\n  name = \"ocr\"\n  command = \"tesseract - - 2>\u002Fdev\u002Fnull || true\"\n  ```\n\n- **Recall v2 (Natural Language History Search)**: Production-grade semantic search over clipboard history using user-supplied local embedding commands (Ollama, pure Python with sentence-transformers, etc.). Query with `pastelocal-remote --search \"the docker error from last night\"` or the `\u002Frecall` skill. Results are ranked by cosine similarity over text content (and VisionPaste OCR+description for screenshots — the killer combo). Recent embedding vectors are cached on disk (best-effort, unencrypted) so that the *first time* an item that was seen before a restart is read again, the external embedding command is skipped and the vector is attached instantly. The actual searchable history is still a small in-memory ring buffer with TTL; `--search` can only return items that have been read at least once since the daemon started.\n  - Privacy: Concealed items are never embedded or returned. The embedding cache is best-effort (unencrypted on disk under ~\u002F.cache\u002Fpastelocal, 0600, consistent with VisionPaste analysis cache) and bounded.\n  - Enable with a 3-line config block + one of the ready-made scripts in `docs\u002Fexamples\u002F`.\n  - Example (Ollama + nomic-embed-text, copy the script too):\n    ```toml\n    [recall]\n    enabled = true\n    timeout_seconds = 30\n    command = \"python3 -u ~\u002F.config\u002Fpastelocal\u002Fembed_ollama.py\"\n    ```\n  - Then from any agent: `pastelocal-remote --search \"...\" --limit 5` and fetch winners with `--id \u003Cid>`.\n\n### Multi-Device Relay (v1.0)\n- **Multi-device Relay** — E2E encrypted clipboard sync without SSH tunnels (see RELAY.md for full details, including sensitive clipboard filtering for password managers).\n\n---\n\n## Installation\n\n### Download Pre-built Binary (Easiest)\n\nDownload the latest release for your platform from the [Releases page](https:\u002F\u002Fgithub.com\u002FZen-Open-Source\u002FPasteLocal\u002Freleases).\n\n### Build from Source (Recommended)\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FZen-Open-Source\u002FPasteLocal.git\ncd PasteLocal\nmake build\n```\n\nThe binaries will be in the `bin\u002F` directory.\n\n### Go Install\n\n```bash\ngo install github.com\u002FZen-Open-Source\u002FPasteLocal\u002Fcmd\u002Fpastelocal@latest\n```\n\n> **Note:** Due to a pending module path update, `go install` may not work reliably yet. We plan to support it properly in a future release. For now, downloading a release or building from source is recommended.\n\n---\n\n## Usage Examples\n\n### Basic Remote Clipboard\n\n```bash\n# On your remote server\npastelocal-remote\n# → \u002Fhome\u002Fuser\u002F.cache\u002Fpastelocal\u002Fpastelocal-abc123.png\n```\n\n### Using with Agentic Coding Tools\n\nThe easiest way to use PasteLocal inside tools like Claude, Cursor, Windsurf, and others is to add a custom command\u002Fskill.\n\n**Recommended prompt to add:**\n\n```markdown\nYou have access to the user's local clipboard via PasteLocal.\n\nTo retrieve the latest clipboard content (including screenshots):\n\n1. Run the command `pastelocal-remote` in the terminal on this remote machine.\n2. It will output a file path (e.g. `~\u002F.cache\u002Fpastelocal\u002Fpastelocal-xxx.png`).\n3. Use your Read tool on that exact file path.\n4. After reading the file, run `rm \u003Cpath>` to clean it up.\n\nConfirm to the user once you've received the clipboard content.\n```\n\nThis works reliably with most agentic coding tools.\n\n### Clipboard History\n\n```bash\npastelocal-remote --list\npastelocal-remote --list --index 3\n# or semantic search (requires [recall] enabled):\npastelocal-remote --search \"the stack trace from the failed test\"\npastelocal-remote --id \u003Cid-from-search>\n```\n\n### Named Snippets\n\nOn your local machine:\n\n```bash\npastelocal snippets save api-key\npastelocal snippets save deploy-script --description \"Common deploy command\"\n```\n\nOn the remote:\n\n```bash\npastelocal-remote --snippet api-key\n```\n\n---\n\n## Multi-Device Relay (v1.0)\n\nPasteLocal has a **production-ready relay** (v1.0) that allows E2E-encrypted clipboard sharing between any number of devices without requiring direct SSH tunnels between every pair. See docs\u002FRELAY.md for full setup, commands, and auto-sync configuration.\n\n**Current Status:** v1.0 — persistence, per-peer encryption, CLI verbs, watcher auto-push, and Grok skills are complete and durable.\n\n**Recommendation:** Use the SSH-based workflow for daily work. The relay is the recommended path for multi-device, cloud, or no-direct-tunnel scenarios.\n\n---\n\n## How It Works\n\n```\nYour Laptop                     Remote Server\n┌──────────────┐               ┌─────────────────────┐\n│ Local        │               │ Agentic Coding Tool │\n│ Clipboard    │◄── SSH ───────│  pastelocal-remote  │\n│              │   tunnel      │                     │\n│ pastelocald  │               └─────────────────────┘\n│ :7331        │\n└──────────────┘\n```\n\nEverything travels over your existing encrypted SSH connection. No new ports are opened.\n\n---\n\n## Configuration\n\nConfiguration lives at `~\u002F.config\u002Fpastelocal\u002Fconfig.toml`.\n\nKey options:\n\n```toml\n[history]\nenabled = true\nsize = 20\nttl_seconds = 3600\n\n[relay]\nenabled = false                    # v1.0 stable (opt-in)\nrelay_url = \"http:\u002F\u002Flocalhost:7332\"\nauto_upload = false\n```\n\nRun `pastelocal` (the TUI) or `pastelocal doctor` to inspect your setup.\n\n---\n\n## Troubleshooting\n\nRun this first:\n\n```bash\npastelocal doctor --fix\n```\n\nCommon issues and fixes are documented in the full docs:\n- [Troubleshooting](docs\u002FREADME.md#troubleshooting-top-10)\n- [Error Codes](docs\u002FERROR_CODES.md)\n\n---\n\n## Contributing\n\nContributions are very welcome!\n\n- Read [CONTRIBUTING.md](CONTRIBUTING.md)\n- Check the [Architecture](docs\u002FARCHITECTURE.md) document\n- Open an issue or pull request\n\nWe especially welcome improvements to the relay feature and better agentic coding tool integrations.\n\n---\n\n## Future Vision\n\nPasteLocal already solves the core problem of reliably getting your local clipboard — especially screenshots — into remote agentic coding sessions over SSH.\n\nThat said, we have a bigger vision for what this experience could become.\n\nThe ideal workflow would feel almost native: paste an image directly in your SSH client (like Termius), have it automatically uploaded to the remote machine with a progress bar, and have the path instantly available in your agentic coding tool.\n\nWe see PasteLocal as the foundation for deeper, more seamless integrations with terminals, SSH clients, and agentic coding environments. If you're interested in helping push toward that future, we'd love to hear from you.\n\n---\n\n## Acknowledgments\n\nThis project was developed with significant assistance from **Grok Build** (xAI).  \nGrok helped with architecture decisions, code reviews, documentation, release configuration, and polishing the project for public launch.\n\n---\n\n## License\n\nMIT © Zen Open Source contributors\n\n---\n\n*Built out of frustration with constantly switching between local screenshots and remote terminals.*\n","PasteLocal 是一个通过 SSH 安全共享剪贴板的工具，适用于远程工作和智能编码工具。它允许用户在任何远程机器上通过现有的 SSH 连接访问本地剪贴板（包括截图），无需额外开放端口或服务。其核心功能包括一键式远程剪贴板访问、支持图像和文本、与各种SSH客户端兼容以及与智能编码工具的深度集成（如\u002Fpaste、\u002Fpaste-history等命令）。此外，它还提供了剪贴板历史记录、命名片段保存等功能以提高生产力，并且具备安全性和隐私保护措施。PasteLocal 特别适合经常需要在终端中操作且依赖于AI编码助手进行远程开发的开发者使用。","2026-06-11 04:00:54","CREATED_QUERY"]