Content
# Tool List
<p align="center">
<img src="assets/shiba.jpg" alt="Tool List" width="150"/>
</p>
<p align="center">
<b>Intelligent Desktop Pet - Multi-model AI Conversation Assistant + MCP Tool Calling</b>
</p>
<p align="center">
<img src="https://img.shields.io/badge/Electron-28.0.0-47848F?logo=electron" alt="Electron"/>
<img src="https://img.shields.io/badge/License-MIT-green" alt="License"/>
<img src="https://img.shields.io/badge/Version-2.2.0-blue" alt="Version"/>
<img src="https://img.shields.io/badge/Platform-Windows-0078D6?logo=windows" alt="Platform"/>
</p>
---
## ✨ Features
### 🤖 Multi-model AI Conversation (Supports 10+ Providers)
**International Services**
- **DeepSeek** - DeepSeek-V3 Chat, DeepSeek-R1 Inference Model
- **Google Gemini** - Gemini 3 Pro/Flash, Gemini 2.5 Series (Latest)
- **OpenAI** - GPT-4o, o1/o3 Inference Series
- **Anthropic Claude** - Claude Sonnet 4, Claude 3.5 Series
- **Groq** - Llama 3.3 70B (Free High-Speed Inference)
**Domestic Services**
- **Zhipu GLM** - GLM-4 Plus, GLM-4V Visual Model
- **Moonshot Kimi** - Moonshot v1 Series (128K Ultra-Long Context)
- **Yi** - Yi Lightning, Yi Large
- **Silicon-based Flow** - Qwen2.5, DeepSeek-V3 Hosted Edition
**Others**
- **Custom API** - Supports Any OpenAI-Compatible Interface, Manual Model ID Input
### 👁️ Visual Analysis
- One-click Screenshot and Send to AI for Analysis
- Supports Multi-modal Visual Understanding
- Automatically Hides Window and Takes Screenshot for Clean Capture
### 🛠️ MCP Tool Calling
- Supports Model Context Protocol (MCP) Standard
- Built-in File System, Terminal Commands, Network Requests, etc.
- AI Can Call Tools Independently to Complete Complex Tasks
- Supports Custom MCP Server Configuration
### 🔄 Gemini API Relay Station
- Built-in Gemini API Proxy Server
- Supports Multi-Key Polling Load Balancing
- Automatically Synchronizes Gemini Keys from API Configuration
- OpenAI-Compatible Format for Easy Use in Other Applications
### 🌐 Network Proxy Configuration
- Supports HTTP/HTTPS Proxy
- Dynamic Switching, No Need to Restart Application
- Applies to All API Requests
### 🎨 Interface Features
- 🐕 Adorable Desktop Pet Image
- 🌓 Supports Light and Dark Theme Switching
- 💬 Streaming Output, Real-time Display of AI Replies
- 📝 Friendly Prompt Message System
- 📄 Conversation Export as Markdown File
- 🖼️ Responsive Design, Adaptive Window Size
---
## 🖼️ Interface Preview
| Desktop Pet | Conversation Interface | Settings Interface |
|:---:|:---:|:---:|
| Cute Shiba Desktop Pet | Multi-model Intelligent Conversation | Rich Configuration Options |
---
## 🚀 Quick Start
### Environment Requirements
- Node.js 18+
- npm or yarn
### Installation Steps
```bash
# 1. Clone Project
git clone https://github.com/JianguSheng/yuns-desktop-pet.git
cd yuns-desktop-pet
# 2. Install Dependencies
npm install
# 3. Start Application
npm start
# Development Mode (with Developer Tools)
npm run dev
```
### Build Executable File
```bash
# Build Windows Version
npm run build
# Build Portable Version
npm run build:portable
```
Executable file is located in `dist/win-unpacked/` directory after building.
---
## ⚙️ Configuration Instructions
### API Configuration
First use requires AI model API configuration:
1. Double-click desktop pet to open conversation window
2. Click top-right **⚙️ Settings**
3. In **API Configuration** tab, add or edit configuration
4. Fill in API address and key
5. Click **Test Connection** to verify configuration
#### Supported API Providers
| Provider | Default API Address | Recommended Model |
|-------|-------------|---------|
| DeepSeek | `https://api.deepseek.com/v1/chat/completions` | deepseek-chat, deepseek-reasoner |
| Google Gemini | `https://generativelanguage.googleapis.com/v1beta/models` | gemini-3-pro-preview, gemini-2.5-flash |
| OpenAI | `https://api.openai.com/v1/chat/completions` | gpt-4o, o1, o3-mini |
| Anthropic Claude | `https://api.anthropic.com/v1/messages` | claude-sonnet-4, claude-3-5-sonnet |
| Groq (Free) | `https://api.groq.com/openai/v1/chat/completions` | llama-3.3-70b-versatile |
| Zhipu GLM | `https://open.bigmodel.cn/api/paas/v4/chat/completions` | glm-4-plus, glm-4v-plus |
| Moonshot Kimi | `https://api.moonshot.cn/v1/chat/completions` | moonshot-v1-128k |
| Yi | `https://api.lingyiwanwu.com/v1/chat/completions` | yi-lightning, yi-large |
| Silicon-based Flow | `https://api.siliconflow.cn/v1/chat/completions` | Qwen/Qwen2.5-72B-Instruct |
| Custom API | Self-configuration | Supports manual input of any model ID |
### Network Proxy Configuration
If you need to access API through proxy:
1. Go to **Settings** → **General Settings**
2. Find **Network Proxy** area
3. Enable proxy and fill in proxy address and port
4. Click **Test Proxy** to verify connection
5. **Save Configuration** to take effect immediately, no need to restart
### MCP Tool Configuration
1. Go to **Settings** → **🛠️ MCP Tools**
2. Enable **Enable MCP Tool Calling**
3. Add MCP server or use presets:
- 📁 **File System** - File read and write operations
- 💻 **Terminal Commands** - Execute system commands
- 🌐 **Network Requests** - HTTP requests
4. Check **Enable this server** and click **Connect**
#### MCP Preset Configuration
```javascript
// File System
command: npx
args: -y @modelcontextprotocol/server-filesystem C:/
// Terminal Commands
command: npx
args: -y @anthropics/mcp-server-shell
// Network Requests
command: npx
args: -y @anthropics/mcp-server-fetch
```
### Gemini Relay Station Configuration
1. Go to **Settings** → **API Relay Station**
2. Enable relay station service
3. Default port: `3001`
4. Access address: `http://127.0.0.1:3001/v1/chat/completions`
5. Supports OpenAI-compatible format calling
### Custom API / Relay Station Configuration
For users using third-party API relay stations:
1. Select provider type as **Custom API**
2. Fill in relay station-provided API address
3. Fill in relay station-provided API Key
4. Select model from list or choose **Manual input model ID** to input any model
---
## 📁 Project Structure
```
project/
├── main.js # Electron main process
├── preload.js # Preload script
├── config.js # Application configuration (models, windows, etc.)
├── store.js # Data persistence
├── api-service.js # AI API call service
├── mcp-client.js # MCP client management
├── proxy-server.js # Gemini API relay station
├── proxy-key-manager.js # API Key management
├── renderer/ # Rendering process
│ ├── pet.html # Desktop pet window
│ ├── chat.html/js/css # Conversation window
│ ├── settings.html/js/css # Settings window
│ └── friendly-messages.js # Friendly prompts
├── assets/ # Resource files
│ ├── shiba.jpg # Desktop pet image
│ └── icon.png # Application icon
└── dist/ # Build output
```
---
## 🔧 Advanced Features
### Conversation Saving
Conversations can be exported as Markdown files:
- Click **💾 Save** button in conversation interface
- Default save path can be configured in `config.js`
### Window Always on Top
In **Settings** → **General Settings**, enable window always on top feature.
### Pet Size Adjustment
In **Settings** → **Appearance Settings**, adjust pet size:
- Small: 180x180
- Medium: 230x230 (default)
- Large: 280x280
### Custom Theme
Supports light and dark theme switching, in **Appearance Settings**.
---
## 🛠️ Development Instructions
### Development Mode
```bash
npm run dev
```
Development mode will automatically open developer tools for easy debugging.
### Menu Control
```bash
# Hide menu
npm run menu:hide
# Minimal menu
npm run menu:minimal
# Custom menu
npm run menu:custom
```
### Dependency Instructions
| Dependency | Purpose |
|-----|-----|
| electron | Desktop application framework |
| axios | HTTP requests |
| electron-store | Data persistence |
| @modelcontextprotocol/sdk | MCP protocol support |
| express | Relay station server |
| electron-builder | Application packaging |
| https-proxy-agent | Network proxy support |
---
## 📋 Update Log
### v2.2.0 (2025-12)
- ✨ Added 6 AI providers: Claude, Zhipu, Moonshot, Yi, Silicon-based Flow, Groq
- ✨ Updated Gemini 3 series model support
- ✨ Added network proxy configuration feature (dynamic switching, no need to restart)
- ✨ Custom API supports manual input of any model ID
- 🐛 Fixed issue of API address being reset when editing configuration
- 💄 Optimized settings page UI
### v2.1.0 (2024-12)
- ✨ Added MCP tool calling feature
- ✨ Added Gemini API relay station
- 🐛 Fixed multiple known issues
- 💄 Optimized user interface
### v2.0.0
- ✨ Multi-card configuration system
- ✨ Multi-model support
- ✨ Visual analysis feature
- ✨ Streaming output
---
## 🤝 Contribution
Welcome to submit Issues and Pull Requests!
---
## 📞 Contact Information
- **Author**: 匀升
- **Email**: qiyunsheng919@gmail.com
- **GitHub**: [JianguSheng](https://github.com/JianguSheng)
- **Project Address**: [yuns-desktop-pet](https://github.com/JianguSheng/yuns-desktop-pet)
---
## 📄 Open Source License
This project is open-sourced under [MIT License](LICENSE).
---
<p align="center">
Made with ❤️ by 匀升
</p>
Connection Info
You Might Also Like
cc-switch
All-in-One Assistant for Claude Code, Codex & Gemini CLI across platforms.
awesome-mcp-servers
A collection of MCP servers.
git
A Model Context Protocol server for Git automation and interaction.
oh-my-opencode
Background agents · Curated agents like oracle, librarians, frontend...
TrendRadar
TrendRadar: Your hotspot assistant for real news in just 30 seconds.
Appwrite
Build like a team of hundreds