DeepBot Desktop Assistant
A desktop multi-agent assistant for enterprise workflows, scheduled work, persistent memory, and Feishu-connected communication.
What does this agent do, and when should you use it?
DeepBot is an Electron-based system-level AI assistant for personal productivity and enterprise workflow automation. Each UI tab maps to an isolated Session with its own Agent Runtime, context, and memory, while the Gateway handles session management, queues, routing, and cross-tab messages. Its main process includes agent-runtime, tools, scheduled-tasks, connectors, and database components, with a React renderer. It runs as a desktop application and documents macOS, Windows desktop, and Linux/Docker scenarios, although Docker access is described only as contacting the author. It supports Qwen, OpenAI, and Claude models, plus connectors for Feishu, WeChat, WeCom, and Smart KF.
DeepBot has the Gateway create and manage a Session for each tab. The Agent Runtime, built on @mariozechner/pi-agent-core, assembles instructions from AGENT.md, TOOLS.md, CUSTOM-TOOLS.md, MEMORY.md, memory-<tab-id>.md, and SKILL.md files before calling a model. Its built-in tools can read and write files, run shell commands, control a browser, fetch pages, search with Tavily, analyze documents, generate images, manage cron scheduled tasks, and exchange messages through Cross Tab Call. Connectors receive and send text, images, and files through Feishu, WeChat, WeCom, and Smart KF; the Feishu document tool can create, read, append, update, and delete blocks and add comments. File and command operations pass a path-whitelist check covering the configured workspace, scripts, skills, and generated-image directories.
- An operations user wants one desktop assistant to handle routine file work, web research, document analysis, and outgoing notifications.
- A Feishu-based team needs bot DMs or @mentions in group chats to create separate sessions and send users text, images, or files.
- A project lead wants separate sales, marketing, product, and engineering tabs with independent memories that can collaborate through Cross Tab Call.
- A user needs a recurring daily check or report and wants to create a cron-based Scheduled Task with execution history.
- A TypeScript developer needs to add an internal business tool through the ToolPlugin interface in src/main/tools/.
What are this agent's strengths and limitations?
- Tabs isolate sessions, memories, and contexts while Cross Tab Call enables explicit collaboration across roles.
- Its documented tool surface spans files, shell commands, browser control, web fetching, document analysis, image generation, scheduled tasks, and several messaging channels.
- System prompts are dynamically assembled from base prompts, tool instructions, global and per-tab memory, and skill instructions, with documented hot updates.
- A configurable path whitelist validates file and command actions across the workspace, scripts, skills, and generated-image directories.
- Shell execution and filesystem access are core capabilities; the default workspace is the user home directory, so whitelist settings require deployment review and tightening.
- Model access requires user-provided Qwen, OpenAI, or Claude API keys; the repository does not document pricing, provider-specific behavior, or service-failure fallback.
- Linux Docker deployment is mentioned but lacks a copyable image, Dockerfile, or deployment command; users are told to contact the author.
- The README advises against explicit reasoning-mode models and notes that unsigned local macOS builds trigger security warnings.
How do you install or deploy this agent?
Requirements are Python 3.11+, Node.js 20.0.0+, and pnpm 10.23.0+. Run: git clone https://github.com/kevinluosl/deepbot.git; cd deepbot; pnpm install; pnpm run dev. To use a model, configure an API key for the chosen Qwen, OpenAI, or Claude provider in System Settings; the repository does not document provider-specific key fields or endpoints. For Feishu, open “System Settings” → “External Connections” → “Feishu” and enter an App ID, App Secret, and Bot Name.
How do you use this agent?
After startup, each tab is an isolated Session. Enter a task in the app or create a scheduled task; the documented example is “Check desktop files every day at 9 AM.” Use Cross Tab Call when sessions need to collaborate. Before using Feishu, save the connector credentials and start the Feishu connector, then configure the documented DM and group policies as needed. Build desktop packages with pnpm run dist, or use pnpm run dist:mac:local for an unsigned local macOS build.