Ah I see what happened. From those links, I can see the pattern for the script is *://news.ycombinator.com/item?id=* . Some browsers don't support the wildcard (*) in the query param, so it would be better if that match pattern was *://news.ycombinator.com/item* .
In other words, it isn't that the script does nothing, rather the script isn't actually being applied/running on the page. You can verify this by opening the extension on the page, going to Library tab, and seeing if the script appears in "Modifications for Current Page" or "Other Modifications"
I already updated the agent so that it will should no longer generate match tags like that. Try again and hopefully it should work (and let me know if not).
Awesome! If you run into any other issues feel free to email me at contact@trynextbyte.com or join our discord server (https://www.tweeks.io/discord). Always looking for more feedback to improve :)
While building this, we've had to do a lot of debugging. You think "Hey, this is a pretty simple request, why did it fail?" Then you actually dig into the archive that is 98 files of HTML, JS, and CSS, inlined and minified with obscure variable names and no comments. Thankfully many sites do still have relatively stable selectors + aria labels, but I am honestly amazed everyday at how well some of this stuff manages to works.
And that isn't even to mention all the guardrails the sites put in place today: content security policies, untrusted html, dynamic refreshing, etc.
I tried "Make this page look like the 2004 version of CNN" and it did update the theming to be older but it didn't have the true reference, so it just made up the old style.
We don't currently have a way to provide a reference during generation, but if I were you, I'd personally try downloading the old page archive and a new page archive, throw them both in codex/claude code as context and see what it can come up with. Wouldn't be surprised if it could do a decent job writing a converter.
Somewhat tangential: I have had luck with more generic retheming, e.g. "Turn Google into a 1970s era CLI " (https://www.tweeks.io/share/script/8c8c0953f6984163922c4da7) or "Turn LinkedIn into a 90s era Neocities site" These aren't the most useful, but they are fun!
Great minds think alike :) I think it is important for users to have more control over how the browse the internet, so I'm happy to see others building in the space!
> Also it turns out llm's are already very good at just generating Violentmonkey scripts for me with minimal prompting. They also are great for quickly generating full blown minimal extensions with something like WXT when you run into userscript limitations.
We've thought about full blown extensions and maybe we'll get there, but I'd wager that there is gap between users who would install/generate a userscript vs a full blown extension. Also a one-click install userscript is much simpler to share vs full chrome store submission/approval (the approval time has been a pain for many developers I've talked with). With that said, this is early days and we're still figuring out what people want.
> One angle I was/am considering that I think could be interesting would be truly private and personal recommendation systems using LLM's that build up personal context on your likes/dislikes and that you fully control and could own and steer. Ideally local inference and basically an algo that has zero outside business interests.
I've definitely considered the idea of your own personal, tunable recommendation system that follows you across the web. And I have some background there (worked on recommendations systems at Pinterest), but recommendation systems are very data hungry (unless we regress to the XGBoost days), and task of predicting will/won't the user like this image (binary) is vastly easier than operating over the entire page UI. Definitely not impossible, but we aren't there yet. For now, I just want to make it super easy for you to generate your own useful page mods
Totally hear you on the permissions/access. I'd love to request fewer permissions, but the chrome store doesn't support that kind of permissions granting.
In order for us to be able to execute your scripts that do powerful things (send notifications, save to local storage, download things, etc.), our extension needs to have those permissions itself. Google doesn't have any way for us to say our extension itself only requires permissions x, y, z but give this user script permissions j, k, l.
Your browsing/page data is yours. That data is only accessed when you explicitly request to generate a script (i.e. can't generate a script to modify a page without seeing that page).
Right - I'm sure you're not doing anything malicious. iI just amplifies the monetization concerns, because if you can't make a business out of it, the only lucrative option left (that other extensions have also done) is to sell the extension, often to somebody who is looking to prey upon the installed user base (even if they tell you otherwise.)
I've also noticed the fragmentation of the ecosystem. There is still some powerful stuff out there, but it is hard to find and UX has a lot of room for improvement (especially for laypeople).
Part of the fragmentation (on the extension side at least) came from Manifest V3 which required a massive re-write of logic and introduced a lot of friction for userscript managers. Many projects just died or stayed in maintenance mode since it was a big undertaking. MV3 certainly has been a pain to work with on our side.
For Greasemonkey proper (which has always only been a Firefox extension) the big pain point was Mozilla's forced migration to new extension APIs (2015: https://blog.mozilla.org/addons/2015/08/21/the-future-of-dev... ). This required a major rewrite, taking over a year, and not to add new features but rather just to not bit rot away. Then what felt like right after that, they completely deprecated classic extensions, forcing only web extensions (2017: https://blog.mozilla.org/addons/2017/02/16/the-road-to-firef... ). This required an even more thorough rewrite again, and made it not difficult but actually impossible to keep all functionality.
Greasemonkey has been stable (not abandoned, but not worked on very much!) since then. No forced MV3 yet in Firefox.
Yeah, I had a semi-popular extension on MV2 that I didn't migrate to MV3 and let die -- not worth the hassle IMHO, and I didn't want to be part of that move anyway, which was as user-hostile as they come (all in the name of "security", of course).
I have a couple of (personal) scripts on Tampermonkey that work ok in Firefox and Chrome, though.
> This one was a fail: it took 180+ seconds (vs. around 60 seconds of previous query), then some thumbnails got smaller (not all), while the physical space and padding for each entry was still there (so no real density was gained from the change)
Did you try updating that one (click the New Modification drop to select or Library -> click Modify)? It's not always perfect on the first attempt but a follow up can often help.
> Right now, it feels like a very slow iteration process where I write something, it doesn't get it, and I keep trying to refine it and waiting around 60 to 100 seconds between results.
There is a push and pull here. We've spent a lot of time evaluating models and pipelines for this. We can make generation much faster but the results will be worse (so faster iteration, but more required). We can also make generation much better (e.g. if you give me 5 minutes, we can do a bunch of post processing: manually selector validation, LLM-as-a-judge, even test the whole thing in something like playwright). In practice, we chose something in the middle, but everyone's preference is different. We do have a "fast" vs "smart" mode but so far it seems like people just rely on the default ("smart"). Of course, as we keep improving, our goal is to make it much faster and smarter.
> I'd also like to see the actual filters that are being generated and applied on each change.
This is possible. Go to the Library tab, scroll down and click Open Options. You'll be able to see the details of all your scripts there. The options page could be improved a lot (you're kind of seeing the plumbing behind the scenes) but hopefully useful for you.
> A collection of curated changes would be useful. My first instinct was to check if there's a gallery of the most common changes that people request to some popular websites.
We're working on more social/discoverability features. You can already share your individual tweeks and curate your own profile of tweeks at www.tweeks.io/share/profile (here's my profile with some examples: www.tweeks.io/share/jason). This is all early. We are also working on a system to surface top scripts for a given site dynamically as your browse different pages. There is a lot of work to do here.
> Changing website contents was out of reach for the general public before, so this extension could become their door to that.
1000% agree with that.
Really appreciate all your feedback, and we're excited to keep improving. You can reach me any time at contact@trynextbyte.com or https://www.tweeks.io/discord if you have more questions/feedback :)
For standard greasemonkey / tampermonkey features (install, modify, enable/disable), no sign in is required.
Sign in enables you to generate new scripts. This relies on LLMs and costs us money so we having auth helps us prevent bad actors who abuse/spam the system.
1. Maybe the domain matching missed? You can check this by going to the library tab and seeing if it appears in "Modifications for Current Page" when you're on the site.
2. Maybe there was a silent error. Our current error system relies on chrome notifications and we've come to realize that many people have them disabled. That means you don't get a clear error message when something goes wrong. We are actively working on this.
3. The script could be caught be a content policy. Checking console log could help to see if there are any errors.
4. Maybe the script just doesn't work on the first try. Can't guarantee it will work perfectly every time. You can try to update the script (Library -> click Modify on the script) and say that it didn't work/you don't see any changes.
We launched now because we're satisfied that the current version can be a useful tool for people. But we definitely plan to keep iterating and improving!
In other words, it isn't that the script does nothing, rather the script isn't actually being applied/running on the page. You can verify this by opening the extension on the page, going to Library tab, and seeing if the script appears in "Modifications for Current Page" or "Other Modifications"
I already updated the agent so that it will should no longer generate match tags like that. Try again and hopefully it should work (and let me know if not).
Thanks for the comment and sorry for the trouble!