简体中文 | English
A modern QQ-Telegram message bridge powered by NapCat and mtcute
8080, visit http://<host>:8080/)| Component | Technology | Notes |
|---|---|---|
| QQ adapter | NapCat | WebSocket-based protocol adapter |
| TG adapter | mtcute | Native MTProto (no Bot API proxy) |
| Language | TypeScript 5.0+ | Strict mode, end-to-end type safety |
| Frontend | React 19 + Vite | Tailwind CSS 4, Shadcn UI, Recharts |
| Runtime | Node.js 25 (ESM) | Modern module system |
| Persistence | PostgreSQL + Prisma 7 | Typed ORM, schema & migrations |
| Testing | Vitest | Unit tests |
Note: NapGram requires connection to a deployed NapCat instance. Please ensure NapCat is running first.
# Clone the repository
git clone https://github.com/NapLink/NapGram.git
cd NapGram
# Copy and edit Docker Compose
cp compose.example.yaml docker-compose.yml
## Edit docker-compose.yml -> services.napgram.environment (required: TG_API_ID / TG_API_HASH / TG_BOT_TOKEN)
docker-compose pull
docker-compose up -d
NapCat Configuration:
- Ensure NapCat has WebSocket or HTTP interface enabled
- Configure NAPCAT_WS_URL in docker-compose.yml
- NapCat and NapGram must be in the same network or accessible to each other
# Install dependencies
pnpm install
# Build
pnpm --filter=@napgram/app run build
# Start
pnpm --filter=@napgram/app start
/help for full list)See Wiki: https://github.com/NapLink/NapGram/wiki/Guide-Commands
# Install dependencies
pnpm install
# Development mode
pnpm --filter=@napgram/app run dev
# Type checking
pnpm --filter=@napgram/app run type-check
# Build
pnpm --filter=@napgram/app run build
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
This project is for educational and personal use only. Please comply with the Terms of Service of QQ and Telegram.
Made with ❤️ by magisk317
$ claude mcp add NapGram \
-- python -m otcore.mcp_server <graph>