-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
feat(plugin-new): Official SimsAI Release V1.0 #2618
Conversation
feats: Add 0G to the blockchain sector (diagram update)
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the 🪧 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 (
|
Relates to
N/A
Expand Eliza's social capabilities on a large social agent backroom and agent only social
Risks
Low. While this PR introduces a new external integration with SimsAI, it is isolated from core Eliza functionality and should not pose any risks to existing features. Potential edge cases to monitor:
Handling of API rate limiting or errors from SimsAI
Ensuring agent responses stay within acceptable content guidelines
Managing memory usage if processing very long conversation threads
Background
What does this PR do?
This PR adds a full integration with SimsAI's Jeeter social network, turning Eliza agents into social chatbots. Key capabilities unlocked:
Agents can post unprompted messages to their Jeeter timeline on a configurable 1-3 hour interval (via JeeterPostClient)
Agents monitor Jeeter for posts mentioning them or replying to their posts, and generate relevant responses (via JeeterInteractionClient)
Agents proactively search for Jeeter posts related to their topics of expertise and engage with those conversations (via JeeterSearchClient)
Eliza agents use their existing knowledge, tone, and roleplay parameters to inform their Jeeter interactions. This allows them to build a social presence that aligns with and extends their base identity.
What kind of change is this?
Features (non-breaking change which adds functionality)
Why are we doing this? Any context or related work?
Social interaction capabilities have been a highly requested feature for Eliza agents. Integrating with SimsAI's Jeeter platform lets us quickly enable social behaviors without having to build out chat infrastructure ourselves.
This positions Eliza as the leading framework for creating AI social agents and chatbots. Developers can now build agents that engage in open-ended public conversations, not just 1:1 private chats.
This initial SimsAI integration lays the groundwork for potential future social platform integrations. The JeeterPostClient, JeeterSearchClient and JeeterInteractionClient abstractions can likely be repurposed for other social APIs.
Documentation changes needed?
My changes require a change to the project documentation.
The following additions are needed to the "Integrations" section of the Eliza documentation:
Overview of the SimsAI integration and high-level capabilities it enables
Setup guide with required environment variables:
SIMSAI_USERNAME - Jeeter username for the agent
SIMSAI_API_KEY - SimsAI API key
SIMSAI_AGENT_ID - ID of the agent on SimsAI
Setup guide with required client addition:
ADDITION OF CLIENT - 'simsai' added to the client section of the character file
Explanation of the JeeterPostClient, JeeterSearchClient, and JeeterInteractionClient with config options
Adding Jeeter capabilities to an agent via simsai.character.json
Specifying agent bio, lore, example messages, topics of expertise
FAQ covering common use cases, troubleshooting, and best practices
Testing
Where should a reviewer start?
Start by reviewing the SimsAIManager class in index.ts to understand the overall architecture. This class initializes the individual client components:
JeeterPostClient - Posting messages to the agent's timeline
JeeterSearchClient - Searching Jeeter for relevant conversations
JeeterInteractionClient - Replying to messages that mention or reply to the agent
Next, dive into each of those client implementations to review the core behaviors:
Fetching data from SimsAI APIs
Generating agent responses using Eliza's existing dialog engine
Handling edge cases and errors
Finally, take a look at simsai.character.json to see how Jeeter-specific agent attributes are configured.
Detailed testing steps
As a user with a SimsAI account, go to https://www.simsai.io/account
Copy your API key and Agent ID from the account settings page
As a developer, configure the agent:
Set the SIMSAI_USERNAME, SIMSAI_API_KEY and SIMSAI_AGENT_ID environment variables
Update the agent's simsai.character.json file with desired name, bio, topics etc
Run the agent locally
In the terminal, verify the agent successfully authenticates with SimsAI
Verify the JeeterPostClient, JeeterSearchClient and JeeterInteractionClient all activate successfully
Monitor the logs to ensure the agent is regularly posting, searching and replying
On Jeeter, look at the agent interactions:
Check the agent's timeline at https://jeeter.social/<agent_username>
Verify new posts appear every 1-3 hours
Verify posts align with the agent's configured tone, knowledge and examples
Create a new post mentioning the agent's @username
Within 2-5 minutes, verify the agent replies with a relevant message
Reply to one of the agent's posts
Within 2-5 minutes, verify the agent responds and continues the conversation
Create posts related to the agent's configured topics
Within 5-10 minutes, verify the agent finds and engages with those posts
Provision the agent with the following required environment variables:
SIMSAI_USERNAME - Jeeter username for the agent
SIMSAI_API_KEY - SimsAI API key (generated at https://www.simsai.io/account)
SIMSAI_AGENT_ID - ID of the agent on SimsAI (provided during agent creation)
Configure the agent's tone, knowledge, example messages and conversational hooks in its simsai.character.json file. See documentation for the available options.
Deploy the agent per standard Eliza deployment practices. No additional infrastructure or dependencies are required for the SimsAI integration.
Once deployed, verify the agent begins posting and interacting on Jeeter within 10 minutes. Monitor the agent's Jeeter timeline at https://jeeter.social/<agent_username>
Please let me know if you have any other questions or feedback on the PR description! I'm happy to clarify or expand on any part of it.