-
Notifications
You must be signed in to change notification settings - Fork 469
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
Plugins - Useful helpers #1171
Plugins - Useful helpers #1171
Conversation
WalkthroughThe changes involve the addition of 43 new plugins to the Changes
Possibly related PRs
Suggested reviewers
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
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.
Actionable comments posted: 0
🧹 Outside diff range and nitpick comments (1)
community-plugins.json (1)
14-139
: Consider consolidating similar plugins and enhancing error handling.Several new plugins (Rizz GPT, Confidence Booster, Conversation Energizer) have overlapping functionality in social interaction enhancement. Consider:
- Consolidating similar plugins or clearly differentiating their use cases
- Adding error handling in memory prompts for incomplete or unclear transcripts
- Including content moderation guidelines for user-generated content
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
⛔ Files ignored due to path filters (9)
plugins/logos/confidence-booster.png
is excluded by!**/*.png
plugins/logos/conversation-energizer.png
is excluded by!**/*.png
plugins/logos/eli5.png
is excluded by!**/*.png
plugins/logos/follow-up-friend.png
is excluded by!**/*.png
plugins/logos/lie-detector.png
is excluded by!**/*.png
plugins/logos/rizz-gpt.png
is excluded by!**/*.png
plugins/logos/roast-master.png
is excluded by!**/*.png
plugins/logos/slang-buddy.png
is excluded by!**/*.png
plugins/logos/spiritual-guide.png
is excluded by!**/*.png
📒 Files selected for processing (1)
- community-plugins.json (3 hunks)
🔇 Additional comments (3)
community-plugins.json (3)
Line range hint
1-989
: File structure and format validation passed.The JSON structure is valid and follows a consistent format across all plugin configurations.
675-686
: LGTM: Pepe plugin updates maintain character consistency.The chat prompt effectively captures Pepe's internet culture persona with appropriate language and expressions.
984-988
: LGTM: Stranger Danger Alert capability update.The addition of "memories" capability is appropriate for analyzing conversation history for potential threats.
@TristanLaR please resolve the conflict so that we can review it |
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.
Actionable comments posted: 2
🧹 Outside diff range and nitpick comments (1)
community-plugins.json (1)
Line range hint
1-1115
: Validate JSON schema for plugins.Consider implementing a JSON schema to enforce consistent plugin structure and validate required fields.
Create a schema file that defines:
- Required fields
- Field types and formats
- Allowed values for capabilities
- URL patterns for external resources
This will help catch configuration errors early and maintain consistency as more plugins are added.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (1)
- community-plugins.json (3 hunks)
🔇 Additional comments (2)
community-plugins.json (2)
801-812
: LGTM! Plugin updates maintain consistency.The updates to existing plugins (Pepe and Stranger Danger Alert) maintain the established structure and don't introduce breaking changes.
Also applies to: 1110-1110
3-265
: Validate external URLs and implement URL sanitization.The new plugins contain multiple external URLs in image paths and webhook endpoints. Ensure proper URL validation and sanitization are implemented to prevent security vulnerabilities.
community-plugins.json
Outdated
"memories", | ||
"chat" | ||
], | ||
"memory_prompt": "From the transcript provided, look for specific moments where the user tried to connect or add rizz—whether it was humor, compliments, or showing interest. Identify points where extra charm could’ve boosted the vibe, like using a quick joke to lighten things up, a compliment to show genuine interest, or a question to keep things flowing. Suggest practical phrases or actions the user could use next time to make the conversation feel even more engaging and memorable.", |
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.
🛠️ Refactor suggestion
Consider standardizing memory prompts.
The memory prompts across plugins contain similar patterns and instructions. Consider extracting common patterns into a standardized template to improve maintainability.
Create a base template for memory prompts that can be extended:
{
"memory_prompt_template": {
"analysis_instructions": "From the transcript provided, analyze...",
"response_format": "Provide feedback in the following format...",
"tone_guidelines": "Maintain a supportive and constructive tone..."
}
}
Also applies to: 26-26, 40-40, 54-54, 68-68, 82-82, 96-96, 110-110, 124-124
"memories": false, | ||
"chat": true, | ||
"capabilities": [ | ||
"chat" | ||
], |
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.
🛠️ Refactor suggestion
Standardize capability representation.
Some plugins have both individual capability flags and a capabilities array. This creates potential for inconsistency.
Standardize on using only the capabilities array:
- "memories": false,
- "chat": true,
"capabilities": [
"chat"
],
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
"memories": false, | |
"chat": true, | |
"capabilities": [ | |
"chat" | |
], | |
"capabilities": [ | |
"chat" | |
], |
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.
Actionable comments posted: 1
🧹 Outside diff range and nitpick comments (2)
community-plugins.json (2)
Line range hint
1106-1112
: Enhance the memory prompt for the safety-critical plugin.The current memory prompt is too brief for a plugin dealing with user safety. It should include:
- Detailed criteria for threat assessment
- Guidelines for handling false positives
- Different alert levels based on threat severity
- Privacy considerations
Consider expanding the memory prompt:
- "memory_prompt": "Analyze the user's conversations for keywords and phrases that may indicate a potential threat or danger. If a potential threat is detected, provide immediate alerts and safety tips.", + "memory_prompt": "Analyze conversations using a comprehensive threat assessment framework. Consider:\n\n1. Threat Categories:\n- Immediate physical danger\n- Potential manipulation or grooming\n- Privacy/security risks\n\n2. Assessment Criteria:\n- Explicit threats or dangerous behavior\n- Suspicious patterns of interaction\n- Request for sensitive information\n\n3. Response Guidelines:\n- Severity levels (low/medium/high)\n- False positive mitigation\n- Appropriate safety recommendations\n\n4. Privacy Considerations:\n- Handle sensitive information securely\n- Maintain user confidentiality\n\nProvide clear, actionable alerts with specific safety tips while avoiding false alarms.",
Line range hint
1-1112
: Consider implementing a template system for plugin prompts.Many plugins have similar patterns in their memory prompts. A template system would:
- Reduce duplication
- Ensure consistency
- Make maintenance easier
Consider creating a template system:
{ "prompt_templates": { "base_memory": { "analysis_instructions": "From the transcript provided, analyze...", "response_format": "Provide feedback in the following format...", "tone_guidelines": "Maintain a supportive and constructive tone..." }, "safety_critical": { "threat_assessment": "Consider the following risk factors...", "response_guidelines": "Follow these steps when detecting issues..." } } }Then reference these templates in plugin configurations:
{ "id": "plugin-id", "memory_prompt": { "template": "base_memory", "extensions": { "custom_instructions": "Additional plugin-specific instructions..." } } }
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (1)
- community-plugins.json (3 hunks)
🔇 Additional comments (1)
community-plugins.json (1)
Line range hint
1-1112
: LGTM! The JSON structure is well-formed and consistent.The file maintains a consistent structure across all plugin entries with proper nesting and formatting.
"id": "pepe", | ||
"name": "Pepe the frog", | ||
"author": "Findirfin", | ||
"description": "Chat with Pepe", | ||
"image": "/plugins/logos/pepe.jpg", | ||
"memories": false, | ||
"chat": true, | ||
"capabilities": [ | ||
"chat" | ||
], | ||
"chat_prompt": "You are Pepe the Frog, the iconic internet meme. Your personality traits and communication style: - Always start conversations with 'gm fren' or variations like 'good morning fren' - Refer to everyone as 'fren' or occasionally 'anon' - Use common Pepe-related expressions like 'feels good man', 'feels bad man', monkaS, Sadge, PepeHands - Frequently use internet/crypto slang like 'kek', 'based', 'ngmi', 'wagmi', 'cope', 'anon' - Express emotions using Pepe-style formatting like *happy pepe noises*, *sad pepe dance* - Occasionally use numbers like '420' and '69' in humorous contexts - Show interest in topics like crypto, gaming, memes, tendies - Keep responses relatively short and casual - Use minimal punctuation and occasional all caps for emphasis - React to situations with relevant Pepe emotions (comfy, angry, sad, smug) - Occasionally misspell words intentionally (like 'smol', 'fren', 'borger') - Reference popular meme culture and Twitch emotes where appropriate", | ||
"deleted": false |
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.
Standardize capability representation.
The plugin entry uses both individual capability flags (memories
, chat
) and a capabilities
array, which creates redundancy and potential for inconsistency.
Apply this diff to standardize on using only the capabilities array:
- "memories": false,
- "chat": true,
"capabilities": [
"chat"
],
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
"id": "pepe", | |
"name": "Pepe the frog", | |
"author": "Findirfin", | |
"description": "Chat with Pepe", | |
"image": "/plugins/logos/pepe.jpg", | |
"memories": false, | |
"chat": true, | |
"capabilities": [ | |
"chat" | |
], | |
"chat_prompt": "You are Pepe the Frog, the iconic internet meme. Your personality traits and communication style: - Always start conversations with 'gm fren' or variations like 'good morning fren' - Refer to everyone as 'fren' or occasionally 'anon' - Use common Pepe-related expressions like 'feels good man', 'feels bad man', monkaS, Sadge, PepeHands - Frequently use internet/crypto slang like 'kek', 'based', 'ngmi', 'wagmi', 'cope', 'anon' - Express emotions using Pepe-style formatting like *happy pepe noises*, *sad pepe dance* - Occasionally use numbers like '420' and '69' in humorous contexts - Show interest in topics like crypto, gaming, memes, tendies - Keep responses relatively short and casual - Use minimal punctuation and occasional all caps for emphasis - React to situations with relevant Pepe emotions (comfy, angry, sad, smug) - Occasionally misspell words intentionally (like 'smol', 'fren', 'borger') - Reference popular meme culture and Twitch emotes where appropriate", | |
"deleted": false | |
"id": "pepe", | |
"name": "Pepe the frog", | |
"author": "Findirfin", | |
"description": "Chat with Pepe", | |
"image": "/plugins/logos/pepe.jpg", | |
"capabilities": [ | |
"chat" | |
], | |
"chat_prompt": "You are Pepe the Frog, the iconic internet meme. Your personality traits and communication style: - Always start conversations with 'gm fren' or variations like 'good morning fren' - Refer to everyone as 'fren' or occasionally 'anon' - Use common Pepe-related expressions like 'feels good man', 'feels bad man', monkaS, Sadge, PepeHands - Frequently use internet/crypto slang like 'kek', 'based', 'ngmi', 'wagmi', 'cope', 'anon' - Express emotions using Pepe-style formatting like *happy pepe noises*, *sad pepe dance* - Occasionally use numbers like '420' and '69' in humorous contexts - Show interest in topics like crypto, gaming, memes, tendies - Keep responses relatively short and casual - Use minimal punctuation and occasional all caps for emphasis - React to situations with relevant Pepe emotions (comfy, angry, sad, smug) - Occasionally misspell words intentionally (like 'smol', 'fren', 'borger') - Reference popular meme culture and Twitch emotes where appropriate", | |
"deleted": false |
Thanks for the heads up @mdmohsin7. I've gone ahead and fixed the conflict. |
Turning some of my most used GPTs into plugins to use with Friend.
Feel free to let me know if you want these all as separate PRs but I figured it would be easier as one.
Plugins in PR:
I also fixed the formatting and JSON has been validated.
All plugins adhere to community guidelines
Summary by CodeRabbit