# SplitClover's tech -> ![MIKU!!!](https://img3.gelbooru.com/images/80/12/801208610f855462fff13da4c0f6c820.jpg){70%:100%}<- -> splitclover@proton.me <- ->Mail me some time<- !!!danger ->Newest ST staging breaks the old dual prompt<-->Fixed version: [catbox](https://files.catbox.moe/j5gdoq.json)<- *** # Rewrite extension !!!note ->Use custom presets to rewrite sections of a message!<-->https://github.com/splitclover/rewrite-extension<- |Macro|Explanation| |--|---| |{{rewrite}}|The selected text to be rewritten| |{{targetmessage}}|The full message that will be modified, useful for context| |{{rewritecount}}|A rudimentary word count, gets replaced by a numeral "39". Useful for prompts like "Write less than {{rewritecount}} words."| !!!info All features now available on the main branch! Please reinstall if you haven't already ![Rewrite](https://files.catbox.moe/45im1x.gif){70%:100%} *** [TOC1] *** # Greeting placeholder extension !!!note ->Easily add custom placeholders to your greetings!<-->https://github.com/splitclover/greeting-placeholders<- ![placeholders](https://files.catbox.moe/5mj3y1.png) *** #QR-Presets ## Dual jailbreak Prompt A QR-Preset to chain two api calls with different presets and models. Preset 1 is used to gen a raw reply, Preset 2 is used to refine it. Support to set different apis, models and proxies for the two steps. *** ### Install and setup !!!note Download the QR-Preset: \[[catbox](https://files.catbox.moe/j5gdoq.json) - last updated 31 Jul: fixed version] !!!note See [Example Prompts](https://rentry.org/splitcloverqr/#example-prompts) to test djb right away. !!!warning experimental qr with a third preset for the fun of it - don't use it unless you want a third [catbox](https://files.catbox.moe/ciyu5f.json) *** ![Import preset](https://files.catbox.moe/4pamdc.png) !!!info Import and activate the QR-Preset using the Quick Reply extension You should now see these buttons: ![Buttons](https://files.catbox.moe/4pp8bg.png) !!!info Press "⚙️" to open settings *** #### Select presets The QR-Preset needs to know the names of the target prompt-presets. Look up their names here: ![Completion Preset tab](https://files.catbox.moe/ddpg8j.png) Set the names in "Set Preset Names", you can test if they work using the buttons "Preset 1" or "Preset 2" ![Set Preset Name](https://files.catbox.moe/7xdh5v.png) *** #### \[Optional] Set models !!!warning This is no longer needed as the issue has been fixed on the staging branch Since /preset randomly defaults to models like gpt-3.5 or claude-2.1, this feature automatically sets the right api+model. Note that the variables set here are to be used by commands /model and /api. #### \[Optional] Set Proxies !!!warning This is no longer needed as the issue has been fixed on the staging branch The dev settings include optional proxy settings, in case those need to be set too. Shouldn't be required if the presets have the right proxies set already. Note that the variables set here are to be used by the command /proxy. #### Dev settings If you want to hide some redundant buttons, set proxies or enable a warning to avoid losing unsaved presets: ![Dev settings](https://files.catbox.moe/f5ztu2.png) *** Edit djbReply has a known issue, if the screen resolution is too small then the buttons below are not visible. Dev settings has a fix for compatibility. ### Uninstall This preset sets a global variable that persists **even if the QR-Preset is deleted**. Either open the settings button of the QR-Preset and flush the variable there, or paste this command in chat: ``` autoit /flushglobalvar djbSettings ``` To remove the qr-preset completely, first select djbPrompt in "edit qr" and press delete ![uninstall](https://files.catbox.moe/frh1ej.png) *** ### Usage !!!info Make sure to test if prompt switching works properly, use the buttons "Preset 1" and "Preset 2" to check. Instead of sending the user message as usual, press the" \[djb] Send button". This starts the whole generation process. Note that it automatically adds the input text to chat, but that's optional. #### Swipes After \[djb] Send has been used once in the current chat, a variable gets saved that persists locally. Swiping only "rerolls" the second prompt, keeping the first part untouched. The button "Edit djbReply" shows the results of Prompt 1 and allows editing. #### Delete message/Regenerate There's an optional Delete message button that can be used to delete the latest message. The button checks if the message has been sent by {{char}} to avoid accidental deletion of system or {{user}} messages. #### Impersonation Same as "\[djb] Send", use "\[djb] Impersonate". This calls /impersonate to change the prompt/output. #### Include last N messages !!!warning This is not extensively tested, do give feedback if issues occur. Seems to be working though To avoid having to send the entire chat history to Preset 2, this macro {{getvar::recentMessages}} has been added. It comes with a few caveats, the roles Human: and AI Assistant: get discarded (ST doesn't support that). That means to distinguish the messages the chat names are used instead. (This can be toggled off, so all messages get combined into one continuous string) To enable this macro, open the dev settings, and set the recentMessages amount to the number of messages to include (positive integers). This will automatically copy the messages before Preset 2 gets sent, use {{getvar::recentMessages}} to include them. ### Prompts #### Creating prompts for djb !!!note This section is for creating prompts, not about using the qr The first prompt generates a reply that can be used by the second prompt. Whether it's some CoT, a summary with objectives or a normal reply - the point is that the second prompt uses that reply to refine and or create improved results. To include the generated reply from prompt 1 use the macro {{getvar::djbReply}} in prompt 2, this will be replaced when calling the second model. Version 1.11.8 added the option to disable chat history and examples, this can be useful for the second prompt. Additionally other macros could be helpful like {{lastmessage}}, see /help macros for more. Streaming could be turned off for preset 1 to hide the first step. #### Example prompts - Recommended: [Pitanon's dual presets](https://rentry.org/pitanonprompts/#dual-presets) - [bloatmaxx](https://rentry.org/splitmaxx) - [writing style](https://rentry.org/writing_style) *** ->![Me-ku](https://img3.gelbooru.com/images/33/e8/33e82cf706871f75e04fa7924c5b157f.png){70%:100%}<- ### Special Thanks !!!note This QR-preset was made as a collaboration with [pitanon](https://rentry.org/pitanonbots), his idea made this possible. *** ## Auto example-xml toggles Tired of always toggling the xml wrapping the example messages? ![xml](https://files.catbox.moe/x3iv5w.png){25%:100%} Same here, so I made this little QR action to automate this in the background. This requires a bit of setup, but it shouldn't be that hard. 1. Download the QR \[[catbox](https://files.catbox.moe/yssn4m.json)]: last updated 26 Jun 2. Import it: ![Import preset](https://files.catbox.moe/4pamdc.png){30%:100%} 3. Activate it, "Global Quick Reply Sets" - add it there ![](https://files.catbox.moe/yife0u.png) 4. Open the command to edit the entry names: ![Open edit](https://files.catbox.moe/jic6b0.png) 5. Enter your names to toggle here: ![Enter names](https://files.catbox.moe/u8a6js.png) !!!warning This only activates when you send a message - regen or swiping won't.