**Bring AI into your enterprise workflows — a real working partner, not just a chatbot**
[](https://opensource.org/licenses/MIT)
[](https://nodejs.org/)
[](https://www.typescriptlang.org/)
[](https://www.electronjs.org/)
[English](README.md) | [简体中文](README_ZH.md)
---
## 📖 Introduction
DeepBot is a system-level AI assistant focused on enterprise productivity. It integrates deeply with existing enterprise systems, enabling AI to participate in day-to-day operations across departments through multi-Agent collaboration — automating complex business workflows. Whether it's document processing, data analysis, system monitoring, or cross-department coordination, DeepBot handles it through AI Agent technology. It supports parallel task execution, scheduled tasks, and skill extensions, all protected by strict security controls.
### ✨ Core Features
- 🎯 **Parallel Task Processing** — Run multiple tasks simultaneously without interference
- 🔧 **20+ Built-in Tools** — File operations, command execution, browser control, image generation, image/video analysis, document analysis, AI chat, cross-session messaging, web fetching, Feishu/WeChat/WeCom messaging, Feishu document operations, and more
- 🧠 **Memory System** — Long-term memory for user preferences and important context
- ⏰ **Scheduled Tasks** — Automate recurring work with cron-based scheduling
- 🎨 **Skill Extensions** — Compose tools into reusable Skills for complex workflows
- 🔒 **Security Controls** — Strict path whitelist to protect system access
- 🤖 **Multi-Model Support** — Qwen, OpenAI, Claude, and more
- 🌐 **External Integrations** — Connect with Feishu and other platforms for cross-platform interaction
---
## 🚀 Quick Start
### Requirements
- **Python**: 3.11+
- **Node.js**: 20.0.0+ (optional, for running JS scripts)
- **pnpm**: 10.23.0+ (optional, for running JS scripts)
- **OS**: macOS, Windows (desktop), Linux/Docker
### Installation
```bash
# Clone the repository
git clone https://github.com/kevinluosl/deepbot.git
cd deepbot
# Install dependencies
pnpm install
# Start in development mode
pnpm run dev
```
### Build Desktop App
```bash
# Build for all platforms
pnpm run dist
# macOS (with code signing + notarization, requires Apple Developer account)
pnpm run dist:mac
# macOS local build (no signing, no notarization — for development/testing)
pnpm run dist:mac:local
# Windows only
pnpm run dist:win
```
**`dist:mac` vs `dist:mac:local`**:
| | `dist:mac` | `dist:mac:local` |
|---|---|---|
| Code signing | ✅ Apple Developer ID | ❌ None |
| Notarization | ✅ Apple notarization | ❌ None |
| Gatekeeper | ✅ Passes verification | ❌ Triggers security warnings |
| Requirements | Apple Developer account + `.env` credentials | None |
To use `dist:mac`, configure the following in your `.env` file:
```bash
# Apple signing and notarization (macOS Electron builds only)
APPLE_ID=your-apple-id@example.com
APPLE_ID_PASSWORD=your-app-specific-password
APPLE_APP_SPECIFIC_PASSWORD=your-app-specific-password
APPLE_TEAM_ID=your-team-id
```
> You can generate an app-specific password at [appleid.apple.com](https://appleid.apple.com). The Team ID can be found in your [Apple Developer account](https://developer.apple.com/account).
| Use case | Production release | Local development / testing |
> **Note**: `dist:mac:local` builds will trigger macOS security warnings on first launch — see the section below for how to handle them.
### Docker Deployment
Docker deployment is available for Linux servers. If you need the Docker version, please contact the author.
**Note for macOS builds**: Signed builds (`dist:mac`) pass Gatekeeper verification and work without issues. Local builds (`dist:mac:local`) are unsigned and will trigger security warnings — see below for solutions.
### macOS Security Warnings (Local Builds)
When using `dist:mac:local` (unsigned builds), macOS may show security warnings on first launch:
#### "App is damaged"
Run this in Terminal, then reopen the app:
```bash
sudo xattr -rd com.apple.quarantine /Applications/DeepBot.app
```
#### "Cannot verify developer"
**Option 1: Right-click to open**
Right-click the app icon, select "Open", then click "Open" again in the dialog.
**Option 2: System Settings**
1. Try to open the app (you'll see a security warning — click "Cancel")
2. Go to "System Settings" → "Privacy & Security"
3. Scroll to the "Security" section
4. Click "Open Anyway"
5. Try opening the app again and click "Open" in the dialog
---
## 🏗️ Architecture
DeepBot uses a modular architecture with support for multi-Agent communication and collaboration:
```
┌─────────────────────────────────────────┐
│ User Interface (Electron) │
│ External Communication: Feishu │
└─────────────────┬───────────────────────┘
│ IPC / WebSocket
┌─────────────────▼───────────────────────┐
│ Gateway (Session Management) │
│ • Session per Tab │
│ • Message queue & routing │
│ • Connector management │
│ • Cross-Tab message routing 🆕 │
└─────────────────┬───────────────────────┘
│
┌─────────┼─────────┐
▼ ▼ ▼
Session 1 Session 2 Session N
(Tab 1) (Tab 2) (Tab N)
│ │ │
▼ ▼ ▼
┌─────────────────────────────────────────┐
│ Agent Runtime (one per Session) │
│ • Intelligent decision & orchestration│
│ • Auto-continue (up to 100 times) │
│ • Operation tracking (max 3 retries) │
│ • Independent memory & context │
│ • Cross-Tab calling tool 🆕 │
│ • Dynamic system prompt assembly 🆕 │
└─────────────────┬───────────────────────┘
│
┌─────────────────▼───────────────────────┐
│ System Prompt Assembly Layer 🆕 │
│ • Base Agent prompt (AGENT.md) │
│ • Tool instructions (TOOLS.md) │
│ • Custom tool instructions │
│ • Global memory (MEMORY.md) │
│ • Per-tab memory (memory-