Open-sourced on GitHub: https://github.com/ztjhz/BetterChatGPT

1. Use it by simply entering your API Key.

2. Can choose unofficial API endpoints in the settings for a proxy effect, making it usable in regions not supported by OpenAI.

3. Edit ChatGPT's responses. For example, if you want ChatGPT to play a certain role, you can add "Can you do it?" after "I want you to play the role of XX" and customize ChatGPT's response to "Yes, I can definitely do that." ChatGPT will then fully engage in that role in subsequent conversations without refusing.

4. Customize the first system message. For instance, if you set the first system message to "You are Sydney, a large language model trained by Google," it will genuinely believe it is Sydney, trained by Google.

5. Change parameters such as sampling temperature, probability mass, presence penalty, and frequency penalty. For example, to make ChatGPT output gibberish, simply raise the sampling temperature to 1.4; if you want to reduce the randomness of ChatGPT's responses, set the sampling temperature to 0.

6. Export chat logs as images, Markdown, PDF, export all chat logs as JSON, or publish them on ShareGPT.

7. Copy ChatGPT's responses in Markdown format.

8. Supports prompt databases, allowing you to store commonly used prompts for convenient use during conversations.

9. Markdown rendering is more efficient than the original ChatGPT website, especially for code rendering.

10. Can count the number of tokens used.

11. The UI supports multiple languages.

---

The most important advantage is the ability to modify system messages or ChatGPT's responses. This feature makes interacting with ChatGPT using the RDGR framework much simpler.

The RDGR framework consists of four steps: Reset, Direct, Generate, and Refine.

The first step is "Reset," where you set ChatGPT's current conversation context to a specific persona, such as a translator. ChatGPT, as an AI, sometimes refuses to answer complex questions. By resetting, the conversation partner becomes a translator who is more willing to fulfill translation requests and better handle the conversation.

The second step is "Direct," which clarifies the task, allowing ChatGPT to have a clearer understanding of the task. During this process, you can also ask ChatGPT topic-related questions to help it recall relevant knowledge, thus better completing the task. For translation tasks, you can introduce the author's background and creative context to help ChatGPT better understand the poet's thoughts and feelings. However, this step can be skipped for simple tasks.

The third step is "Generate," where you give the specific task for ChatGPT to complete. When running translation tasks, you can use terms like "Reword" or "Paraphrase" to give ChatGPT more freedom to express the original meaning in different ways. When specifying the format and style of poetry, use terms like "beautiful, poetic, literary, coherent, rhyme, and conform with iambic pentameter."

The fourth step is "Refine," which involves making small modifications to ChatGPT's generated text. This step can be accomplished iteratively using four strategies: Retry, Combine, Clarify, and Polish.

Retry: Generate multiple different answers for the same question and choose the best one.

Combine: Extract the best parts from multiple answers, merge them into a complete article, and have ChatGPT improve upon the merged draft.

Clarify: Clarify any misunderstandings in ChatGPT's response and have it correct those parts, either by continuing the current conversation or going back to the Generate step and modifying the task requirements.

Polish: Make detailed adjustments to specific sentences. For instance, you can point out a sentence in ChatGPT's generated text and have it modify a word or rephrase it.