AI-Powered Multi-Model Writing Assistant built with Next.js and Electron.
PostMaster helps you write better content by generating outputs from multiple AI models (GPT-4, Claude, Mistral, etc.), comparing them side-by-side, and synthesizing the best parts into your final piece.
Key Features:
- 🤖 Multi-model generation (OpenAI, Anthropic, Mistral, Grok, LiteLLM)
- 🔍 Side-by-side output comparison
- ✨ AI-powered synthesis of best outputs
- 📚 Knowledge base for contextual generation
- 🔒 Local encryption of API keys
- 🎨 Light/dark theme support
- 📦 Desktop app (macOS, Windows, Linux)
Visit https://himoacs.github.io/postmaster/ or the Releases page to download the latest version for your platform.
- Launch PostMaster
- Add your API keys (Settings → API Keys)
- Write a prompt on the Dashboard
- Select 2-5 models to generate content
- Compare outputs and synthesize the best version
# Clone the repository
git clone https://github.com/himoacs/postmaster.git
cd postmaster
# Install dependencies
pnpm install
# Run development server
pnpm devOpen http://localhost:3456 with your browser.
PostMaster includes automatic database validation and recovery:
- ✅ Schema validation at startup
- 🔧 Auto-repair for missing columns
- 💾 Automatic backups before repairs
- 🩺 Health check API endpoints
See docs/DATABASE_VALIDATION.md for complete documentation.
# Option 1: Run Next.js and Electron separately
# Terminal 1:
pnpm dev
# Terminal 2:
pnpm electron:start
# Option 2: Run both concurrently
pnpm electron:dev# Run unit tests
pnpm test
# Run with coverage
pnpm test:coverage
# Run E2E tests
pnpm test:e2e
# Pre-release validation (comprehensive checks)
pnpm pre-release# Build for your platform
pnpm electron:build:mac # macOS (ARM64 + Intel)
pnpm electron:build:win # Windows (x64)
pnpm electron:build:linux # Linux (AppImage + deb)Packaged apps will be in the dist/ directory.
- BUILDING.md - Complete build setup, environment requirements, troubleshooting
- RELEASING.md - Release process, testing requirements, landing page deployment
- BUILD_CHECKLIST.md - Quick reference for local builds
- RELEASE_CHECKLIST.md - Quick reference for releases
- test/README.md - Test infrastructure, coverage, templates
- TEST_IMPLEMENTATION_SUMMARY.md - Test architecture overview
- RELEASE_NOTES_*.md - Release notes for each version
- docs/THEME_COMPATIBILITY_CHECKLIST.md - Theme development guide
- Framework: Next.js 16.2.4 (App Router, Standalone mode)
- Desktop: Electron 36.3.2
- Database: SQLite via Prisma + better-sqlite3
- UI: React 19, Tailwind CSS, Radix UI
- Testing: Vitest, Playwright, Testing Library
- Build: electron-builder, pnpm
postmaster/
├── src/
│ ├── app/ # Next.js app router
│ │ ├── (dashboard)/ # Dashboard pages
│ │ ├── (marketing)/ # Marketing pages
│ │ └── api/ # API routes
│ ├── components/ # React components
│ ├── lib/ # Shared utilities
│ └── types/ # TypeScript types
├── electron/ # Electron main process
├── prisma/ # Database schema & migrations
├── test/ # Test utilities & fixtures
├── e2e/ # E2E tests (Playwright)
├── docs/ # Landing page (GitHub Pages) - auto-updated on release
├── scripts/ # Build & release scripts
└── .github/workflows/ # CI/CD pipelines
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Run tests (
pnpm test) - Commit (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing-feature) - Open a Pull Request
| Component | Version | Notes |
|---|---|---|
| Node.js | 20.x | Required for ABI compatibility |
| pnpm | 9.x or 10.x | Package manager |
| Electron | 36.3.2 | Desktop runtime |
| better-sqlite3 | 12.9.0 | Native database module |
See BUILDING.md for complete version compatibility matrix.
MIT License - see LICENSE for details.
- Website: https://himoacs.github.io/postmaster/
- Repository: https://github.com/himoacs/postmaster
- Issues: https://github.com/himoacs/postmaster/issues
- Releases: https://github.com/himoacs/postmaster/releases