Welcome to OpenShapes, a community-driven, open-source alternative to the proprietary AI character platform shapes.inc. OpenShapes empowers you with full control over your AI companions through self-hosting or our upcoming managed service.
- Full Ownership: Your characters, your data—no reliance on third-party platforms.
- Customization: Tailor every detail of your AI character’s behavior and responses.
- Privacy: Host your AI companions on your own infrastructure.
- Cost-Effective: Choose any AI model provider, including budget-friendly options.
- Future-Proof: No risk of service shutdowns or unexpected changes.
Explore two ways to use OpenShapes:
Run your AI characters on your own infrastructure for complete control and flexibility.
Go to Self-Hosting Guide →
Create and manage AI characters via our user-friendly platform—no technical setup required.
Stay tuned for updates!
This guide walks you through setting up a self-hosted OpenShapes instance, whether migrating from shapes.inc or starting fresh.
- Basic command-line skills
- A Discord account and server with admin privileges
- Python 3.7+ installed
For self-hosting, we recommend these providers:
- Why: Free tier includes a t2.micro instance (1 vCPU, 1 GB RAM) for 12 months.
- Setup Guide:
- Sign up at aws.amazon.com.
- Navigate to EC2 > "Launch Instance."
- Choose "Ubuntu Server 22.04 LTS" (free tier eligible).
- Select "t2.micro" instance type > Launch.
- Download the
.pem
key file and connect via SSH:ssh -i your-key.pem ubuntu@your-ec2-public-ip
- Install dependencies (Python, Git, etc.) after connecting.
- Why: Affordable droplets starting at $4/month, reliable performance.
- Setup Guide:
- Sign up at digitalocean.com.
- Create a Droplet: Choose "Ubuntu 22.04" and the $4/month plan (512 MB RAM).
- Copy the Droplet’s IP address.
- Connect via SSH:
ssh root@your-droplet-ip
- Set up your environment with Python and Git.
Both providers support the steps below—use their SSH instructions to access your server.
To migrate from shapes.inc:
-
Get main character data (shapes.json):
https://shapes.inc/api/shapes/username/(YOUR_SHAPE_NAME)
Replace
(YOUR_SHAPE_NAME)
with your character’s name. -
Get knowledge data (brain.json):
https://shapes.inc/api/shapes/(YOUR_SHAPE_UNIQUE_ID)/story
Find the unique ID in:
- The URL:
https://shapes.inc/YOUR_SHAPE_NAME/readme
- Or
shapes.json
underfree_will_v2_ff
.
- The URL:
-
Save files:
- Right-click each URL > "Save as..." (or Ctrl+S).
- Name them
shapes.json
andbrain.json
. - Ensure you’re logged into shapes.inc.
-
Create a Discord application:
- Visit Discord Developer Portal.
- Click "New Application" > Name it > "Bot" tab > "Add Bot."
- Enable all "Privileged Gateway Intents."
- Disable "Public Bot" for privacy.
-
Get your bot token:
- In the "Bot" tab, click "Reset Token" > Copy it securely.
-
Invite the bot:
- Go to "OAuth2" > "URL Generator."
- Select "bot" scope and permissions:
- Read Messages/View Channels
- Send Messages
- Manage Messages
- Embed Links
- Attach Files
- Read Message History
- Add Reactions
- Open the generated URL > Authorize to your server.
-
Organize files:
- Place
shapes.json
andbrain.json
inopenshapes/bot
.
- Place
-
Run the parser:
python3 parser.py
-
Follow prompts:
- Enter file paths (or press Enter for defaults).
- Choose an output directory (or use current).
-
Verify output:
character_config.json
character_data
folder withmemory.json
andlorebook.json
.
-
Edit
character_config.json
:- Add your bot token to
"bot_token"
. - Adjust settings as desired.
- Add your bot token to
-
Install OpenShapes:
git clone https://github.com/zukijourney/openshapes.git cd openshapes/bot pip install -r requirements.txt
-
Copy files:
- Move
character_config.json
andcharacter_data
to the main directory.
- Move
-
Launch the bot:
python3 bot.py
-
Set up your AI provider:
- In Discord, use
/api_settings
to select a provider (e.g., OpenAI, Anthropic, Zukijourney). - Input your API key and preferred model.
- In Discord, use
-
Test it:
- Run
/character_info
to confirm setup. - Chat by mentioning the bot or messaging in an active channel.
- Run
- Bot offline? Verify token and intents.
- API issues? Check key validity and credits.
- Commands fail? Confirm prefix (default:
/
).
- Tweak
character_config.json
for behavior. - Use
/edit_personality_traits
,/edit_backstory
, or/regex
for customization.
OpenShapes defaults to Zukijourney’s API:
"api_settings": {
"base_url": "https://api.zukijourney.com/v1",
"api_key": "zu-your-key-here",
"chat_model": "llama-3.1-8b-instruct",
"tts_model": "speechify",
"tts_voice": "mrbeast"
}
Originating from this organization, (zukijourney.com), this is the default, but you can:
- Switch to any AI API provider.
- Explore free/affordable options at CAS by Zukijourney.
- Discord: https://discord.gg/8QSYftf48j
- GitHub: https://github.com/zukijourney/openshapes
We welcome contributions! See our guidelines on GitHub.
Licensed under AGPLv3—see the LICENSE file.
- Gratitude to the ElectronHub and Zukijourney communities.
- Thanks to the AI character community and all contributors.
OpenShapes is not affiliated with shapes.inc or any proprietary AI platform. This is a purely fan-made repository