Краткое описание Skip to content
Navigation Menu
XInTheDark
/
raycast-g4f
Type / to search
Code
Issues
5
Pull requests
1
Discussions
Actions
Projects
Wiki
Security
Insights
Help page: Dynamic Placeholders
Muzhen Gaming edited this page  · 15 revisions

Currently, Dynamic Placeholders are available only in Custom AI Commands. However, I plan to gradually add support in other places as well.

Dynamic Placeholders

Raycast-g4f implements dynamic placeholders to closely match Raycast AI, enabling portability. As of the latest version, we also offer some additional placeholders to support advanced usage.

The supported placeholders are:

Snippet Placeholders
Name	Placeholder	Description
Selected Text	{selection} or {input}	Inserts the selected text from the frontmost application. In the context of the AI Chat, the previous message will be inserted instead.
Clipboard Text	{clipboard}	Inserts your last copied text. The placeholder will be removed from the snippet when you use it if you have not copied any text recently.
Date	{date}	Inserts only the current date like 1 Jun 2022.
Time	{time}	Inserts only the current time like 3:05 pm.
Date & Time	{datetime}	Inserts both date and time like 1 Jun 2022 at 6:45 pm.
Weekday	{day}	Inserts the day of the week like Monday.
Browser Tab	{browser-tab}	Inserts the text from the current browser tab. Requires the Browser Extension to be installed.
Shell Command	{shell}	Inserts the result of a shell command. Example: {shell | echo "Hello"}.
Modifiers

Using modifiers, you can change the value of a dynamic placeholder using the {clipboard | uppercase} syntax. It works on all placeholders.

There are five different modifiers:

uppercase → transforms Foo into FOO.
lowercase → transforms Foo into foo.
trim → transforms Foo Bar into Foo Bar. It removes the white spaces at the beginning and the end of the value.
percent-encode → transforms Foo Bar into Foo%20Bar. It replaces special characters with their percent-encoded equivalent.
json-stringify → transforms Foo "Bar" into "Foo \"Bar\"". It makes sure that the value can be used as a JSON string.

You can specify multiple modifiers in a row: {clipboard | trim | uppercase}.

Advanced usage

Here are some tips and notes to help you turn Dynamic Placeholders into an extremely powerful and versatile tool.

You can nest placeholders, and they will be processed in depth-first order (inner placeholders are processed first). Example: {shell | cat "{shell | osascript -e 'tell application "Finder" to get POSIX path of first item of (selection as alias list)'}"} loads the content of the currently selected file. Notice how we nested a shell placeholder inside another. Neat!
Pages 12
Home
Copies of Raycast docs
Help page: AI Chat
Help page: AI Presets
Help page: Configure Local APIs
Help page: Custom AI Commands
Help page: Dynamic Placeholders
Dynamic Placeholders
Snippet Placeholders
Modifiers
Advanced usage
Help page: Generate Images
Help page: Using Custom APIs
Screenshots
Troubleshooting: Corrupt or incompatible data
Troubleshooting: No AI response
Clone this wiki locally
Footer
© 2025 GitHub, Inc.
Footer navigation
Terms
Privacy
Security
Status
Docs
Contact
Manage cookies
Do not share my personal information
Help page: Dynamic Placeholders · XInTheDark/raycast-g4f Wiki