Skip to content

Conversation

@Torther
Copy link

@Torther Torther commented Jan 2, 2026

Add Decky Clipboard to Plugin Store

Decky Clipboard is a simple utility plugin that allows users to share their Steam Deck's clipboard with any device on the local network via a web interface.

Key Features:

Web Interface: Access your Deck's clipboard from any browser on your phone or PC.
Bi-directional Sync: Copy from Deck to other devices, and send text/images from other devices to Deck.
Clipboard History: Keep track of your clipboard history on the Deck.

Task Checklist

Developer

  • I am the original author or an authorized maintainer of this plugin.
  • I have abided by the licenses of the libraries I am utilizing, including attaching license notices where appropriate.

Plugin

  • I have verified that my plugin works properly on the Stable and Beta update channels of SteamOS.
  • I have verified my plugin is unique or provides more/alternative functionality to a plugin already on the store.

Backend

  • No: I am using a custom backend other than Python.
  • Yes: I am using a tool or software from a 3rd party FOSS project that does not have it's dependencies statically linked.
  • No: I am using a custom binary that has all of it's dependencies statically linked.

Community

  • I have tested and left feedback on two other pull requests for new or updating plugins.
  • I have commented links to my testing report in this PR.

Testing

  • Tested by a third party on SteamOS Preview update channel.

@Torther Torther requested a review from a team as a code owner January 2, 2026 16:04
@github-actions github-actions bot added the plugin-addition Adding a plugin to the Plugin Store label Jan 2, 2026
@github-actions
Copy link

github-actions bot commented Jan 2, 2026

Issues Found

  • Both testing boxes are present in your description. Please remove one of them per the Markdown comment above the testing section.

Next Steps

  1. If we found any issues above, please edit your pull request description to resolve them and leave a comment saying you've done so.
  2. For the quickest review, please see the Community section of the pull request template for how you can help other developers.
  3. Once your description is correct, a maintainer will review your pull request as soon as possible.

Thank you for your contribution! If you need any help, please reach out on our Discord server. ❤️

Dukeman330
Dukeman330 previously approved these changes Jan 5, 2026
Copy link
Contributor

@Dukeman330 Dukeman330 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! I was able to send my clipboard data to my mac. Slick interface!

@Dukeman330 Dukeman330 mentioned this pull request Jan 5, 2026
7 tasks
@beebls
Copy link
Contributor

beebls commented Jan 7, 2026

Looks good! I was able to send my clipboard data to my mac. Slick interface!

@Dukeman330 I think emerald left a similar message on a previous PR for you, but plugin testing reports are only meant for plugins that have already passed code review and are on the testing store (the ones with the green check mark for deployment instead of a yellow pending icon). Additionally, please follow the plugin testing report template located at https://wiki.deckbrew.xyz/user-guide/testing

@beebls
Copy link
Contributor

beebls commented Jan 7, 2026

@Torther your fork is behind the plugin-database and as such the script is detecting other plugin changes that aren't yours. Please rebase onto to main so that the only change is your own plugin

@Torther Torther force-pushed the add/decky-clipboard branch from b33f7b6 to 68a9f9f Compare January 8, 2026 08:44
@xXJSONDeruloXx xXJSONDeruloXx mentioned this pull request Jan 10, 2026
7 tasks
@EMERALD0874 EMERALD0874 dismissed Dukeman330’s stale review January 10, 2026 23:54

Invalid as it does not contain the required format

Copy link
Member

@EMERALD0874 EMERALD0874 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, though I'm not sure if /bin will be build/distributed with the plugin when built by our Actions workflow. If this causes problems, please try experimenting with the defaults folder.

@tikh-iv
Copy link

tikh-iv commented Jan 12, 2026

Plugin Testing Report

Installed Plugins

HLTB for Deck - 2.0.6
ShadowDeck - 1.0.0
SteamGridDB - 1.7.0
CSS Loader - 2.1.2
ProtonDB Badges - 1.2.0
MagicPods - 2.0.8
TunnelDeck - 1.0.4

Specifications

  • SteamOS 3.7.19_20251124.1 Stable
  • Steam 1766529085 Stable
  • Decky 3.2.1 Stable

Issues

**Has the following major blocking issue(s):

  • Shows just nothing. Black screen on my phone, Mac and even Deck.
    
**Has the following minor non-blocking issue(s):
  • No

Summary


Can’t test, it just doen't work. Here is log.

[2026-01-12 21:24:07,732][INFO]: Decky Clipboard starting...
[2026-01-12 21:24:07,733][INFO]: Starting aiohttp web server on port 8766
[2026-01-12 21:24:07,733][INFO]: Web server listening on 0.0.0.0:8766
[2026-01-12 21:24:07,734][INFO]: Web server at http://192.168.100.103:8766
[2026-01-12 21:24:07,734][INFO]: Clipboard monitor started
[2026-01-12 21:24:07,734][INFO]: Gamescope DISPLAY: :0
[2026-01-12 21:24:07,734][INFO]: Clipboard initialized with xclip: /home/deck/homebrew/plugins/decky-clipboard/bin/xclip
[2026-01-12 21:24:18,032][INFO]: 192.168.100.103 [12/Jan/2026:21:24:18 +0300] "GET / HTTP/1.1" 200 152 "-" "Mozilla/5.0 (X11; Linux x86_64; Valve Steam Gamepad/Steam Deck [Steam Deck Stable]/default/0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.6478.183 Safari/537.36"
[2026-01-12 21:24:18,078][INFO]: 192.168.100.103 [12/Jan/2026:21:24:18 +0300] "GET /favicon.ico HTTP/1.1" 404 175 "http://192.168.100.103:8766/" "Mozilla/5.0 (X11; Linux x86_64; Valve Steam Gamepad/Steam Deck [Steam Deck Stable]/default/0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.6478.183 Safari/537.36"
[2026-01-12 21:24:30,495][INFO]: 192.168.100.57 [12/Jan/2026:21:24:30 +0300] "GET / HTTP/1.1" 200 152 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.1 Mobile/15E148 Safari/604.1"
[2026-01-12 21:24:30,696][INFO]: 192.168.100.57 [12/Jan/2026:21:24:30 +0300] "GET /favicon.ico HTTP/1.1" 404 175 "http://192.168.100.103:8766/" "Mozilla/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.1 Mobile/15E148 Safari/604.1"
[2026-01-12 21:24:34,079][INFO]: 192.168.100.57 [12/Jan/2026:21:24:34 +0300] "GET / HTTP/1.1" 200 152 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.1 Mobile/15E148 Safari/604.1"
[2026-01-12 21:25:12,630][INFO]: 192.168.100.40 [12/Jan/2026:21:25:12 +0300] "GET / HTTP/1.1" 200 152 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/601.2.4 (KHTML, like Gecko) Version/9.0.1 Safari/601.2.4 facebookexternalhit/1.1 Facebot Twitterbot/1.0"
[2026-01-12 21:25:12,637][INFO]: 192.168.100.40 [12/Jan/2026:21:25:12 +0300] "GET /apple-touch-icon-precomposed.png HTTP/1.1" 404 175 "-" "com.apple.WebKit.Networking/21622.1.22.11.15 Network/5569.1.3 macOS/26.0.1"
[2026-01-12 21:25:12,648][INFO]: 192.168.100.40 [12/Jan/2026:21:25:12 +0300] "GET /favicon.ico HTTP/1.1" 404 175 "-" "com.apple.WebKit.Networking/21622.1.22.11.15 Network/5569.1.3 macOS/26.0.1"
[2026-01-12 21:25:12,649][INFO]: 192.168.100.40 [12/Jan/2026:21:25:12 +0300] "GET /apple-touch-icon.png HTTP/1.1" 404 175 "-" "com.apple.WebKit.Networking/21622.1.22.11.15 Network/5569.1.3 macOS/26.0.1"


@Torther
Copy link
Author

Torther commented Jan 13, 2026

@tikh-iv Based on the logs, the functionality should be working normally. Have you ever tried selecting a screenshot in the media library and choosing "Copy to Clipboard" from the More options? Even if there is nothing in the clipboard, it will be displayed as "(empty)".
If possible, could you provide specific screenshots of the black screen page?

@Torther
Copy link
Author

Torther commented Jan 13, 2026

@tikh-iv I've found the reason. The automatically built plugin does not include the frontend pages, which is why the page content cannot be displayed.

@tikh-iv
Copy link

tikh-iv commented Jan 13, 2026

Unfortunately it is still not working. Version 1.0.0-68a9f9f
IMG_4924

"Empty" means literally empty.

*   Trying 192.168.100.103:8766...
* Connected to 192.168.100.103 (192.168.100.103) port 8766
* using HTTP/1.x
> GET / HTTP/1.1
> Host: 192.168.100.103:8766
> User-Agent: curl/8.13.0
> Accept: */*
>
* Request completely sent off
< HTTP/1.1 200 OK
< Content-Type: text/html; charset=utf-8
< Content-Length: 0
< Date: Tue, 13 Jan 2026 15:48:54 GMT
< Server: Python/3.11 aiohttp/3.10.11
<
* Connection #0 to host 192.168.100.103 left intact

@EMERALD0874
Copy link
Member

@tikh-iv You're testing on an outdated version. Please make sure the last 7 characters of the plugin version match with the latest commit hash (pictured). The Decky team has to approve new updates to the testing store build, even within a PR.

image

@JtdeGraaf
Copy link
Contributor

Plugin Testing Report

Installed Plugins

  • SteamGridDB - 1.7.0-889ac0b
  • IsThereAnyDeal for Deck - 1.2.0
  • Decky Clipboard - 1.0.1-41276cd

Specifications

  • SteamOS 3.7.13_20250630.1(Stable)
  • Steam 1766529085 (Stable)
  • Decky 3.2.1(Stable)

Issues

Has the following major blocking issue(s):
None

Has the following minor non-blocking issue(s):
No indication that clipboard history needs to be enabled.

Summary

Able to access the frontend through external devices, QR code also works.
Able to Send and receive content to the clipboard

Feedback

  • The history page should show that the history is disabled, if it is disabled
  • I noticed the history works through polling, I would like an option to not use polling and have a manual refresh button instead on the history page.

Appreciation

Lovely plugin, actually really helpful for my development workflow :)
For example I now

  1. Build my plugin through a pipeline on github
  2. Copy the URL from the zip artifact
  3. Send the url to the deck's clipboard
  4. Install my dev build through the url

@EMERALD0874
Copy link
Member

@Torther In the future, please follow all instructions in the PR template. Your plugin needs to be tested on Preview (not Stable, see the earlier comment from @github-actions) and this has possibly delayed your plugin's inclusion in the store.

Also, I wanted to ask — does your plugin persist clipboard history through device restarts? I'd test it myself to see, but I'm not able to use my Deck for a bit. This won't affect whether your plugin is included in the store or not. Mainly asking to figure out if we should approve another plugin applying to be on the plugin store.

@Torther
Copy link
Author

Torther commented Jan 15, 2026

@EMERALD0874 Currently, clipboard history is only stored in memory, so it will be lost when the device restarts. Perhaps in the future, a feature to persistently store clipboard history on disk will be added.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

plugin-addition Adding a plugin to the Plugin Store

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants