-
Notifications
You must be signed in to change notification settings - Fork 3.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add DuckDuckGo Bangs inspired search-plus extension #17418
base: main
Are you sure you want to change the base?
Conversation
Congratulations on your new Raycast extension! 🚀 Due to our current reduced availability, the initial review may take up to 10-15 business days Once the PR is approved and merged, the extension will be available on our Store. |
@t3dotgg I watched your video and got inspired to implement this directly into Raycast. Tell me what you think if you get the chance to look at this! |
@lacherogwu I tried to add you as a contributor to the project, but your Raycast user was not found:
@pernielsentikaer: @lacherogwu should be a contributor as he had some great suggestions in his PR published some time after this one. |
@lacherogwu what's your Raycast handle? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PR Summary
This PR adds a new "Search Plus" extension that implements DuckDuckGo-style bangs search functionality directly in Raycast, allowing users to search specific websites using shortcuts.
- The
src/lib/search-engines.ts
file contains SQL injection vulnerabilities where user input is directly interpolated into queries without sanitization - The
src/search.tsx
function lacks proper handling for empty queries and could benefit from usingshowFailureToast
from@raycast/utils
for error handling - The
CHANGELOG.md
entry date is set to 2025-02-27 which is in the future and should use the{PR_MERGE_DATE}
template instead - The extension should include a
metadata
folder with screenshots since it has a view command (browse-search-engines
) - The
launchCommand
function insearch.tsx
should be wrapped in a try-catch block for better error handling
💡 (1/5) You can manually trigger the bot by mentioning @greptileai in a comment!
13 file(s) reviewed, 16 comment(s)
Edit PR Review Bot Settings | Greptile
This seems to be the same as #17297. Could we work together on creating one by taking the best of both? |
@pernielsentikaer Perhaps you could also take a look at my submission, #17436, which I believe offers a more elegant and well-structured solution. |
@pernielsentikaer: As pointed out, it looks like there are now four PRs addressing the same problem. Here's a quick summary for clarity: Quicklink extension wrappers around
|
- add lachero as contributor ref. raycast#17436 - feat: use raycast preferences instead of custom file preferences - fix: adress PR review on spelling, logging, templating - fix: adress PR review to simplify and handle errors better in search.tsx
Update
|
@lacherogwu @jafupy @andrewbellucci Do you think the extension should be named unduck like Theo's implementation, or should we stay closer to the "bangs" concept in the naming? The reason I'm asking is that DuckDuck Go had the original implementation, and we should choose the naming that leads to more people discovering the extension in the store. It might be called something else, but having unduck as one of the keywords in search. Let's discuss and land on something together? |
Following replies from third parties |
@franzwilhelm I think the name doesn't matter too much in terms of discoverability. Personally, the idea came from Theo, and I really appreciate the work he did with the unduck.link webpage. I believe it would be fitting to stick with the name "Unduck," as it carries the meaning and intent behind Theo's original implementation, which I also found appealing. |
It is certain that having four extensions performing the same functions is not feasible; it would be preferable to consolidate all features and ideas into a single extension. |
Description
Search Plus implements DuckDuckGo-style bangs search directly in Raycast without sending traffic through third-party websites. It allows users to search specific websites using shortcuts like:
!g cats
to search Google for "cats"!w cats
to search Wikipedia for "cats"Help me fix my code !t3
to use t3.chat for AI code helpFor the best experience, users can set up Search Plus as a Fallback Command in Raycast, enabling bang searches directly from the main Raycast search.
Made this based on inspiration from Theo Browne on YouTube, and I want his take on the PR if he has the time to review it.
Screencast
Using the search command
480p.mov
Browsing available search engines
Screen.Recording.2025-02-27.at.23.43.25.mov
Checklist
npm run build
and tested this distribution build in Raycastassets
folder are used by the extension itselfREADME
are placed outside of themetadata
folder