A WeChat-style multi-functional workspace where every feature is a contact.
Chat with AI (DeepSeek, and more coming soon) or use local tools — all in one familiar contact list interface.
- WeChat-Style UI — Familiar contact list layout, dark theme, clean and intuitive
- AI Chat — Powered by DeepSeek API, with support for more LLM providers coming soon
- Contact = Feature — Every function appears as a contact in your list. Tap to open, just like messaging a friend
- Local Tools — Not everything needs an API. Built-in utilities work offline
- Extensible — Easy to add new "contacts" (features) to your workspace
- Frontend: React 19 + TypeScript + Vite + Tailwind CSS
- Backend: Express + Node.js
- Icons: Lucide React + LobeHub Icons
- Node.js 18+
- A DeepSeek API key (for AI chat features)
# Clone the repo
git clone https://github.com/Wmrhhh/any-pal.git
cd any-pal
# Install frontend dependencies
npm install
# Install backend dependencies
cd server
npm installCreate a .env file in the server/ directory:
DEEPSEEK_API_KEY=your_deepseek_api_key_hereNote:
server/.envis already in.gitignore. Never commit your API keys.
# Terminal 1: Start the backend
cd server
npm run dev
# Terminal 2: Start the frontend (from project root)
npm run devOpen http://localhost:5173 in your browser.
any-pal/
├── src/ # Frontend source
│ ├── component/ # React components
│ │ ├── ChatList.tsx # Contact list sidebar
│ │ ├── RightContent.tsx # Main content area
│ │ ├── Chat.tsx # Chat interface
│ │ └── MessageBox.tsx # Message input & display
│ ├── App.tsx
│ └── main.tsx
├── server/ # Backend source
│ ├── routes/
│ │ └── chat.js # Chat API routes
│ ├── index.js # Express server entry
│ └── .env # API keys (ignored by git)
├── public/ # Static assets
└── dist/ # Production build
| Command | Description |
|---|---|
npm run dev |
Start frontend dev server |
npm run build |
Build for production |
npm run preview |
Preview production build |
npm run lint |
Run ESLint |
cd server && npm run dev |
Start backend dev server |
cd server && npm start |
Start backend in production |
- WeChat-style contact list UI
- DeepSeek AI chat integration
- Support for more LLM providers (OpenAI, Claude, etc.)
- Local tools (calculator, notes, translator, etc.)
- Message history persistence
- Customizable contact avatars and names
- Mobile-responsive layout
Contributions are welcome! Feel free to open issues or submit pull requests.