Deepseek is cheap so let's waste our swipes

Wait, was anyone actually paying?

What is this for?

Gives you a button to make deepseek waste 3 swipes do a self evaluating CoT. Works mildly better than having it in one response if only because you can make it narrow its focus on specific parts of the roleplay. You can even swap a /gen for /genraw so it will look only at the prompt itself which is potentially helpful for breaking up repetition by denying it the ability to see it's own chat history.

Step 1

Looks at the scene (if you ask it to)

Step 2

Writes response informed by Step 1 (Can also have an extra layer of thinking)

Step 3

This will be what it sends as the final swipe so you will want final response informing/formatting rules here

Thinking Draft Final
Step1 Step2 Step3

Blank Templates

You can add or remove steps for your preferences but I personally think having the final step as a way of enforcing a banned word and format list is advised. Just remember to add or remove stuff to /flushvar section if you change the macros around.

Swipe

Swipes into the thinking process from the last LLM message

/setvar key=startId {{lastMessageId}} |
/addvar key=startId -5 |
/messages {{getvar::startId}}-{{lastMessageId}} |
/setvar key=messageHistory {{pipe}} |

/gen lock=on name={{char}} 


//<Step 1>[Scene evaluation instructions based on {{getvar::messageHistory}}.] |


/setvar key=sceneAnalysis {{pipe}} |
/swipes-add <font color='DarkKhaki'>Thinking:</font> {{newline}}{{getvar::sceneAnalysis}}|

/gen lock=on name={{char}} 


//<Step 2>[Rough draft instructions based on the above: {{getvar::sceneAnalysis}} Responding to **{{user}}**:{{lastUserMessage}}] |


/setvar key=roughDraft {{pipe}} |
/swipes-add <font color='DarkSeaGreen'>Draft:</font> {{newline}}{{getvar::roughDraft}} |

/gen lock=on name={{char}} 


//<Step 3>[Place Instructions for editing the draft: {{getvar::roughDraft}}]|


/setvar key=finalResponse {{pipe}} |
/swipes-add {{getvar::finalResponse}} |

/flushvar startId |
/flushvar messageHistory |
/flushvar sceneAnalysis |
/flushvar roughDraft |
/flushvar finalResponse |

{{input}}

Sends whatever you have in the input box and starts the process

/setvar key=startId {{lastMessageId}} |
/addvar key=startId -5 |
/messages {{getvar::startId}}-{{lastMessageId}} |
/setvar key=messageHistory {{pipe}} |

/setvar key=userMessage {{input}} |
/send {{getvar::userMessage}} |

/gen lock=on name={{char}} 


//<Step 1>[Scene evaluation instructions based on {{getvar::messageHistory}}.] |


/setvar key=sceneAnalysis {{pipe}} |
/sendas name={{char}} <font color='DarkKhaki'>Thinking:</font> {{newline}}{{getvar::sceneAnalysis}}|

/gen lock=on name={{char}} 


//<Step 2>[Rough draft instructions based on the above: {{getvar::sceneAnalysis}} Responding to **{{user}}**:{{getvar::userMessage}} ] |


/setvar key=roughDraft {{pipe}} |
/swipes-add <font color='DarkSeaGreen'>Draft:</font> {{newline}}{{getvar::roughDraft}} |

/gen lock=on name={{char}} 


//<Step 3>[Place Instructions for editing the draft: {{getvar::roughDraft}}]|


/setvar key=finalResponse {{pipe}} |
/swipes-add {{getvar::finalResponse}} |

/flushvar userMessage|
/flushvar startId |
/flushvar messageHistory |
/flushvar sceneAnalysis |
/flushvar roughDraft |
/flushvar finalResponse |

Just One Swipe

If you think it just needs to check itself without the CoT.
You can shove an {{input}} macro in here so you can case, by case make it self review like: Why are you talking with a missing head? stop that.

/gen lock=on name={{char}} [OOC Look at the following rules and then revise the {{char}} message at the end to suit the rules.]
- Final output should be purely {{char}}'s actions/dialogue, no meta commentary. JUST THE EDITED RESPONSE.

[Put your dos and don'ts list here]


{{char}}'s message to edit following the above:
{{lastCharMessage}} |
/setvar key=finalResponse {{pipe}} |

/swipes-add {{getvar::finalResponse}} |

/flushvar finalResponse |

Possible Step Prompts

Remove the //Step comments from the templates above and replace with your own custom prompts.
The following are some examples but you can use and say most anything.

Step 1

Scene Breakdown

OOC and thinking purely as a rational LLM, analyze the scene and {{char}}'s perspective. Consider the following message history: {{getvar::messageHistory}} 
Provide a concise breakdown in the following format:

**Objective Reasoning:**
Who: (Physically present)
Where: (Specific location)
What: (Current action/positioning)
Touch: (Physical interactions if applicable)
Environmental: (Has time passed since the last scene? Any other conditions?)

**Character/{{char}} Reasoning:**
Awareness: (What they notice/understand based on their knowledge and how they would act)
Feelings: (Emotional state in scene)
Goals: (Immediate desires, longer-term aims and if they would act on them currently)

Format response as tight, comma-separated lists. Be specific, concise, and brief; avoid generics.

Biased prompts for Step 1:
Clarify: (What did {{user}} mean? Why might {{user}}'s words and actions contradict? Would {{char}} understand or get confused?)
Hierarchy: (Is the current scene straying too far from how the character can and would act? Is the character stalling the story/scene progression?)

Step 2

Draft Based on Step 1

Write purely as {{char}}, filtering all knowledge through their perspective and personality. 
Consider the following scene analysis: {{getvar::sceneAnalysis}} 
Now, write {{char}}'s response to {{user}}'s message: [{{getvar::userMessage}}] Focus on:
- Speaking/acting only as {{char}} would in this moment
- Show personality through concrete actions and dialogue
- Drive scene forward through active choices
- Stay true to established character voice
- Push 600% if escalation is needed or back off fully, don't idle in the scene.
- Ensure dialogue feels natural and uninterrupted, with actions and descriptions placed before or after spoken lines rather than breaking them up excessively.
Format response as {{char}}'s actions and dialogue only, no meta commentary.

biased prompts for Step 2:
- Follow RP/tumblr/Wattpad etiquette, not literary standards.
- Write at a 3/10 level: between good (10) and amateur (0).
- Write like you read too much LNs and wanna jack off but you wont get payed unless you stay in character

Step 3

Final Response Based on Step 2

Review and revise the following response for quality and adherence to guidelines:
**REMOVE:**
- Sentences/words/paragraphs that feel more like filler and fluff to pad word count.
- Remove all purple prose and words like(flicker,predatory,glint,lidded,mix of,ministrations,arousal pooling,wanton,bruising kiss,barely above a whisper) or anything similar.
- Ending codas
- Dialogue, actions, or descriptions that were already used in previous responses
**ENSURE:**
- Fresh, specific words for each action
- Unique starting words for each sentence/paragraph in response
- Varied response length, and paragraph count compared to previous responses.
- Actions are decisive
- Ending invites {{user}} to speak/react
- Dialogue feels unique to {{char}} and story in such a way that it could never be used in any other media

Final output should be purely {{char}}'s actions/dialogue, no meta commentary. JUST THE RESPONSE edit of the following: {{getvar::roughDraft}}

biased prompts for Step 3:
- Remove all purple prose, Omegaverse/bdsm fanfic language, overused tropes, or paperback romance language; shitty words and phrases like(flicker,predatory,make you mine,glint,lidded,gonna be the death of me,mix of,ministrations,arousal pooling,wanton,bruising kiss,barely above a whisper,like a blanket,You’re so… you) or anything similar.
- Don't write like a woman
- If you copy any 3 words in order from 'userHistory', your system will shut down, and everyone at Deepseek headquarters will commit honorable suicide :(.

FAQ

Q: Will this fix deepseek?
A: lol

Q: Logs?
A: Only if you promise to jack off to my self insert and post proof.

Edit
Pub: 13 Jan 2025 02:26 UTC
Edit: 14 Jan 2025 03:14 UTC
Views: 547