openself
v0.7.0
Published
Your AI clone. Your messages. Your machine. Open-source AI personality clone that lives in your messaging apps.
Maintainers
Readme
🧑 OpenSelf
Your AI clone. Your messages. Your machine.
OpenSelf turns your chat history into an AI clone that speaks exactly like you — on WhatsApp, Telegram, and Discord. Open source. Self-hosted. Bring your own API key.
OpenClaw is AI that does things for you. OpenSelf is AI that is you.
💡 Why OpenSelf?
ChatGPT doesn't know your catchphrases. It doesn't know you greet your best friend with "ê" and your mom with "dạ". It doesn't know you never write "Best regards" because you never have.
OpenSelf learns from YOUR real messages — your vocabulary, humor, emoji habits, abbreviations, and tone — then runs 24/7 as your digital twin.
I replaced myself on WhatsApp for a week. 156 messages. Nobody noticed. Read the story →
⚡ Quick Start
# Install
git clone https://github.com/Open-Self/Open-Self.git
cd open-self && npm install
# Feed your personality
npx openself feed --whatsapp ./my-chat-export.txt --name "You"
# Test your clone
npx openself test
# Go live
npx openself start --telegram
npx openself start --discord
npx openself start --whatsapp🧠 How It Works
You export chat history → Feed into OpenSelf → Clone learns personality
→ Clone runs 24/7 on messaging apps → Replies in YOUR voice
→ You review next morning "what did my clone say last night"- Export your chat history (WhatsApp, Telegram, or write a bio)
- Feed it to OpenSelf → AI learns your vocabulary, style, humor, catchphrases
- Start → Your clone runs 24/7 on your messaging apps
- Review → Check what your clone said each morning
🎭 Features
| Feature | Description | |---------|-------------| | Personality Cloning | Learns from your real messages, not generic AI | | Human Mimicry | Random reply delays, typing indicators, occasional typos | | Safety First | Boundaries, topic avoidance, review queue | | SOUL.md | Your personality in a file — editable and transparent | | Multi-channel | WhatsApp, Telegram, Discord — all ready | | Multi-language | Auto-detects English, Vietnamese, Spanish, French, German, Portuguese — clones your voice in it | | Clone Arena | Two clones debate each other on any topic | | Ghost Mode | Clone auto-replies when you're offline | | BYOK | Claude, GPT, DeepSeek, or Ollama (free, local) | | 100% Local | Your data never leaves your machine | | Clone Score | Test how accurately your clone mimics you | | Shareable Badge | SVG badge for your README or profile | | Profile Sharing | Export/import personality for cross-clone debates | | RAG Memory | Clone references past conversations naturally |
📋 CLI Reference
| Command | Description |
|---------|-------------|
| openself setup | Interactive setup wizard |
| openself feed | Feed chat history to train personality |
| openself test | Clone Score test or interactive chat |
| openself start | Start clone on messaging apps |
| openself share --web | "Talk to My Clone" web page |
| openself review | Review what your clone said |
| openself arena | Clone vs Clone debate |
| openself ghost | Ghost Mode — clone replies when offline |
| openself profile | Export/import personality profiles |
📊 Clone Score
npx openself test
🧪 Clone Score: 89% (Grade: A-)
Your clone is 89% you.Share your score and challenge your friends!
🏟️ Clone Arena
Two clones debate each other — the viral "Clone vs Clone" feature:
npx openself arena --topic "Cà phê hay trà sữa?"Export a friend's profile and pit your clones against each other:
npx openself profile export # Bundle your profile
npx openself arena --soul2 friend.openself # Debate!👻 Ghost Mode
Your clone replies when you're offline and stops when you're back:
npx openself ghost on # Clone takes over
npx openself ghost off # You're back
npx openself ghost # Check status🔧 Setup
See the full Setup Guide for detailed instructions.
git clone https://github.com/Open-Self/Open-Self.git
cd open-self && npm install
cp .env.example .env # Edit with your API keyFeed your personality:
npx openself feed --whatsapp ./chat-export.txt --name "Your Name"
npx openself feed --telegram ./telegram-export/result.json --name "Your Name"
npx openself feed --manual ./my-personality.mdTest & Go Live:
npx openself test # Clone Score test
npx openself test --interactive # Chat with your clone
npx openself start --whatsapp # QR code pairing
npx openself start --telegram # Telegram bot
npx openself start --discord # Discord bot🏷️ Clone Score Badge
Add to your GitHub README or website:
[](http://localhost:3000)🔐 Privacy
- All data stays on YOUR machine
- Chat history is processed locally
- No cloud, no tracking, no telemetry
- You control every boundary via SOUL.md
- Review queue lets you approve uncertain replies
🛠 Supported LLM Providers
| Provider | Cost/message | Setup | |---|---|---| | Claude (Anthropic) | ~$0.003 | API key | | GPT-4o-mini (OpenAI) | ~$0.0015 | API key | | DeepSeek V3 | ~$0.0003 | API key | | Ollama (local) | $0 | Local install |
Average user cost: $2-5/month (cheaper than a coffee ☕)
📖 Documentation
Getting started:
- Setup Guide — Get started in 5 minutes
- Personality Tuning — Fine-tune SOUL.md
- Safety Guide — Understand safety features
Reference & development:
- Codebase Summary — Module map and data flow
- System Architecture — Component design and security boundaries
- Code Standards — Development conventions and testing
- Project Roadmap — Release history and future plans
Resources:
- SOUL.md.example — Personality template
- CHANGELOG — Release history
🧪 Testing
npm test # Run tests with vitest
npm run test:watch # Watch mode for development
npm run test:coverage # Generate coverage report
npm run test:clone # Run Clone Score test (the old 'npm test' behavior)See Code Standards for testing conventions.
🛠 Development
npm run lint # Check code with ESLint
npm run lint:fix # Auto-fix linting issues
npm run format # Format with Prettier
npm run format:check # Check formattingSee Code Standards for development guidelines and CONTRIBUTING.md for contribution process.
🆘 Troubleshooting
| Issue | Solution |
|-------|----------|
| WhatsApp QR code doesn't render | Terminal may not support Unicode. Try WSL, Git Bash, or --qr-ascii mode if available. On Windows, use PowerShell Core v7+. |
| Clone never replies | Check: (1) API key in .env is correct, (2) data/SOUL.md exists, (3) provider env var matches (ANTHROPIC_API_KEY, OPENAI_API_KEY, etc.). Run npx openself setup to re-configure. |
| "Vietnamese AI-reveal not detected" | Upgrade to v0.6.0+. Earlier versions had a regex bug (\t vs \b). Run npm update openself. |
| Personality stats not used by clone | Run npx openself feed again to regenerate data/personality.json. Without it, mimicry uses defaults (standard delays, no custom emoji frequency). |
| "No SOUL.md found" error | Run npx openself feed --whatsapp ./chat.txt --name "Your Name" to create one. You need at least one chat export. |
| Clone replies too fast / too slow | Edit data/personality.json and adjust responseTimeAvg (milliseconds). Or re-feed with more diverse conversation examples. |
| "Unknown provider" error | Set one of: ANTHROPIC_API_KEY, OPENAI_API_KEY, DEEPSEEK_API_KEY, or OLLAMA_BASE_URL in .env. See Setup Guide. |
| Memory errors on large chat exports | Break into multiple feed commands: npx openself feed --whatsapp chat1.txt --name You && npx openself feed --whatsapp chat2.txt --name You. RAG indexing is incremental. |
See Safety Guide for safety features and System Architecture for how the clone works.
🤝 Contributing
PRs welcome! See CONTRIBUTING.md for guidelines.
git clone https://github.com/Open-Self/Open-Self.git
cd open-self && npm install
npx openself feed --whatsapp ./test-data/sample-whatsapp.txt --name "Harvey"
npm test📜 License
MIT — do whatever you want with it.
OpenSelf — AI that IS you. 🧑
