[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-74904":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":15,"stars30d":16,"stars90d":15,"forks30d":15,"starsTrendScore":15,"compositeScore":17,"rankGlobal":10,"rankLanguage":10,"license":18,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":19,"hasPages":19,"topics":21,"createdAt":10,"pushedAt":10,"updatedAt":30,"readmeContent":31,"aiSummary":32,"trendingCount":15,"starSnapshotCount":15,"syncStatus":33,"lastSyncTime":34,"discoverSource":35},74904,"deepbot","kevinluosl\u002Fdeepbot","kevinluosl","DeepBot is a system-level AI assistant built for both personal productivity and enterprise workflows — one-click setup, seamless experience, and native Feishu integration.","https:\u002F\u002Fglint-mvt.com\u002Fdeepbot\u002F",null,"TypeScript",2349,186,34,0,333,28.82,"MIT License",false,"main",[22,23,24,25,26,27,28,29],"agent-skills","agent-tools","agentic-workflow","agentos","ai-agents","harness","harness-engineering","openclaw","2026-06-12 02:03:29","\u003Cdiv align=\"center\">\n\n\u003Cimg src=\"banner.jpg\" alt=\"DeepBot Terminal\" width=\"500\"\u002F>\n\n\u003Cp>\n\n**Bring AI into your enterprise workflows — a real working partner, not just a chatbot**\n\n[![License: MIT](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-yellow.svg)](https:\u002F\u002Fopensource.org\u002Flicenses\u002FMIT)\n[![Node.js](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FNode.js-20+-green.svg)](https:\u002F\u002Fnodejs.org\u002F)\n[![TypeScript](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FTypeScript-5.3+-blue.svg)](https:\u002F\u002Fwww.typescriptlang.org\u002F)\n[![Electron](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FElectron-28+-9feaf9.svg)](https:\u002F\u002Fwww.electronjs.org\u002F)\n\n[English](README.md) | [简体中文](README_ZH.md)\n\n\u003C\u002Fdiv>\n\n---\n\n## 📖 Introduction\n\nDeepBot 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.\n\n### ✨ Core Features\n\n- 🎯 **Parallel Task Processing** — Run multiple tasks simultaneously without interference\n- 🔧 **14 Built-in Tools** — File operations, command execution, browser control, image generation, AI chat, cross-session messaging, web fetching, Feishu document operations, and more\n- 🧠 **Memory System** — Long-term memory for user preferences and important context\n- ⏰ **Scheduled Tasks** — Automate recurring work with cron-based scheduling\n- 🎨 **Skill Extensions** — Compose tools into reusable Skills for complex workflows\n- 🔒 **Security Controls** — Strict path whitelist to protect system access\n- 🤖 **Multi-Model Support** — Qwen, OpenAI, Claude, and more\n- 🌐 **External Integrations** — Connect with Feishu and other platforms for cross-platform interaction\n\n---\n\n## 🚀 Quick Start\n\n### Requirements\n\n- **Python**: 3.11+\n- **Node.js**: 20.0.0+ (optional, for running JS scripts)\n- **pnpm**: 10.23.0+ (optional, for running JS scripts)\n- **OS**: macOS, Windows (desktop), Linux\u002FDocker\n\n### Installation\n\n```bash\n# Clone the repository\ngit clone https:\u002F\u002Fgithub.com\u002Fkevinluosl\u002Fdeepbot.git\ncd deepbot\n\n# Install dependencies\npnpm install\n\n# Start in development mode\npnpm run dev\n```\n\n### Build Desktop App\n\n```bash\n# Build for all platforms\npnpm run dist\n\n# macOS (with code signing + notarization, requires Apple Developer account)\npnpm run dist:mac\n\n# macOS local build (no signing, no notarization — for development\u002Ftesting)\npnpm run dist:mac:local\n\n# Windows only\npnpm run dist:win\n```\n\n**`dist:mac` vs `dist:mac:local`**:\n\n| | `dist:mac` | `dist:mac:local` |\n|---|---|---|\n| Code signing | ✅ Apple Developer ID | ❌ None |\n| Notarization | ✅ Apple notarization | ❌ None |\n| Gatekeeper | ✅ Passes verification | ❌ Triggers security warnings |\n| Requirements | Apple Developer account + `.env` credentials | None |\n\nTo use `dist:mac`, configure the following in your `.env` file:\n\n```bash\n# Apple signing and notarization (macOS Electron builds only)\nAPPLE_ID=your-apple-id@example.com\nAPPLE_ID_PASSWORD=your-app-specific-password\nAPPLE_APP_SPECIFIC_PASSWORD=your-app-specific-password\nAPPLE_TEAM_ID=your-team-id\n```\n\n> You can generate an app-specific password at [appleid.apple.com](https:\u002F\u002Fappleid.apple.com). The Team ID can be found in your [Apple Developer account](https:\u002F\u002Fdeveloper.apple.com\u002Faccount).\n| Use case | Production release | Local development \u002F testing |\n\n> **Note**: `dist:mac:local` builds will trigger macOS security warnings on first launch — see the section below for how to handle them.\n\n### Docker Deployment\n\nDocker deployment is available for Linux servers. If you need the Docker version, please contact the author.\n\n**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.\n\n### macOS Security Warnings (Local Builds)\n\nWhen using `dist:mac:local` (unsigned builds), macOS may show security warnings on first launch:\n\n#### \"App is damaged\"\n\nRun this in Terminal, then reopen the app:\n\n```bash\nsudo xattr -rd com.apple.quarantine \u002FApplications\u002FDeepBot.app\n```\n\n#### \"Cannot verify developer\"\n\n**Option 1: Right-click to open**\n\nRight-click the app icon, select \"Open\", then click \"Open\" again in the dialog.\n\n**Option 2: System Settings**\n\n1. Try to open the app (you'll see a security warning — click \"Cancel\")\n2. Go to \"System Settings\" → \"Privacy & Security\"\n3. Scroll to the \"Security\" section\n4. Click \"Open Anyway\"\n5. Try opening the app again and click \"Open\" in the dialog\n\n---\n\n## 🏗️ Architecture\n\nDeepBot uses a modular architecture with support for multi-Agent communication and collaboration:\n\n```\n┌─────────────────────────────────────────┐\n│      User Interface (Electron)          │\n│   External Communication: Feishu        │\n└─────────────────┬───────────────────────┘\n                  │ IPC \u002F WebSocket\n┌─────────────────▼───────────────────────┐\n│      Gateway (Session Management)       │\n│    • Session per Tab                    │\n│    • Message queue & routing            │\n│    • Connector management               │\n│    • Cross-Tab message routing 🆕       │\n└─────────────────┬───────────────────────┘\n                  │\n        ┌─────────┼─────────┐\n        ▼         ▼         ▼\n   Session 1  Session 2  Session N\n   (Tab 1)    (Tab 2)    (Tab N)\n        │         │         │\n        ▼         ▼         ▼\n┌─────────────────────────────────────────┐\n│   Agent Runtime (one per Session)       │\n│    • Intelligent decision & orchestration│\n│    • Auto-continue (up to 100 times)    │\n│    • Operation tracking (max 3 retries) │\n│    • Independent memory & context       │\n│    • Cross-Tab calling tool 🆕          │\n│    • Dynamic system prompt assembly 🆕  │\n└─────────────────┬───────────────────────┘\n                  │\n┌─────────────────▼───────────────────────┐\n│     System Prompt Assembly Layer 🆕     │\n│    • Base Agent prompt (AGENT.md)       │\n│    • Tool instructions (TOOLS.md)       │\n│    • Custom tool instructions           │\n│    • Global memory (MEMORY.md)          │\n│    • Per-tab memory (memory-\u003Ctab>.md)   │\n│    • Skills instructions (SKILL.md)     │\n│    • Dynamic loading & live updates     │\n└─────────────────┬───────────────────────┘\n                  │\n┌─────────────────▼───────────────────────┐\n│      14 Tools + Security Check          │\n│    🔒 Path whitelist • Workspace isolation│\n│    🔄 Cross-Tab messaging tool 🆕        │\n└─────────────────┬───────────────────────┘\n                  │\n        ┌─────────┼─────────┐\n        ▼         ▼         ▼\n    Skills   Scheduled   Data Storage\n                Tasks\n```\n\n### Multi-Agent Collaboration 🆕\n\n```\n┌─────────────────────────────────────────┐\n│      Enterprise Multi-Agent System      │\n└─────────────────┬───────────────────────┘\n                  │\n        ┌─────────┼─────────┐\n        ▼         ▼         ▼\n┌─────────┐ ┌─────────┐ ┌─────────┐\n│ Sales   │ │ Gateway │ │Marketing│\n│AI Agent │ │Message  │ │AI Agent │\n└────┬────┘ │Router   │ └────┬────┘\n     │      └────┬────┘      │\n     └───────────┼───────────┘\n                 │\n     ┌───────────┼───────────┐\n     ▼           ▼           ▼\n┌─────────┐ ┌─────────┐ ┌─────────┐\n│Solutions│ │Product  │ │  R&D    │\n│AI Agent │ │AI Agent │ │AI Agent │\n└────┬────┘ └────┬────┘ └────┬────┘\n     │           │           │\n     └───────────┼───────────┘\n                 │\n                 ▼\n           ┌─────────┐\n           │Project  │\n           │Manager  │\n           │AI Agent │\n           └─────────┘\n```\n\n### Architecture Overview\n\n- **Gateway**: Manages all Sessions. Each Tab maps to an independent Session with cross-Tab message routing.\n- **Session**: An isolated conversation unit with its own Agent Runtime, memory, and context.\n- **Agent Runtime**: Built on `@mariozechner\u002Fpi-agent-core`, handles intelligent decision-making and tool orchestration.\n- **System Prompt Assembly Layer**: Dynamically assembles system prompts from base prompts, tool instructions, memory files, and Skills.\n- **Tools**: 14 built-in tools including a cross-Tab messaging tool for inter-Agent communication.\n- **Security Check**: All file and command operations are validated against a path whitelist.\n- **Multi-Agent Collaboration**: Agents in different Tabs can message each other to collaborate on complex tasks.\n\n#### System Prompt Assembly Flow 🆕\n\n```\nAgent starts → Load base Agent prompt (AGENT.md)\n             ↓\n           Load tool instructions (TOOLS.md + CUSTOM-TOOLS.md)\n             ↓\n           Load global memory (MEMORY.md)\n             ↓\n           Load per-tab memory (memory-\u003Ctab-id>.md)\n             ↓\n           Load Skills instructions (SKILL.md files)\n             ↓\n           Assemble complete system prompt\n             ↓\n           Send to AI model\n```\n\n**Dynamic Updates**:\n- When memory files change, all Agent system prompts reload automatically\n- Installing or uninstalling Skills updates tool instructions in real time\n- Hot updates are supported — no app restart required\n\n---\n\n## 🌐 External Integrations (Connectors)\n\nDeepBot connects to external platforms via the Connector system for cross-platform interaction.\n\n### Supported Platforms\n\n#### Feishu (Lark)\n\nInteract with DeepBot through a Feishu bot, supporting both direct messages and group chats.\n\n**Features**:\n- ✅ Direct messages (requires pairing authorization)\n- ✅ Group messages (supports @mention)\n- ✅ Message deduplication (prevents duplicate responses)\n- ✅ Independent session per conversation (each chat gets its own Tab)\n- ✅ Send images and files to users\n- ✅ Feishu document operations (create, read, edit, delete, comment)\n\n**Setup**:\n\n1. In DeepBot, go to \"System Settings\" → \"External Connections\" → \"Feishu\"\n2. Enter your Feishu app credentials (App ID, App Secret, Bot Name)\n3. Configure security policies (DM policy, group policy)\n4. Click \"Save\" then \"Start\" the connector\n\n**Detailed Configuration Guide**:\n\n📖 [Feishu Bot Configuration Guide](docs\u002F飞书机器人配置指南.md) (Chinese)\n\nCovers the full Feishu Open Platform setup, permission configuration, and security policy details.\n\n### Coming Soon\n\n- 🔜 Discord\n- 🔜 Slack\n- 🔜 WeCom (WeChat Work)\n- 🔜 DingTalk\n\n---\n\n## 🔧 14 Built-in Tools\n\n| Tool | Function | Typical Use Cases |\n|------|----------|-------------------|\n| **File Tool** | File read\u002Fwrite | Read configs, save data, search files |\n| **Exec Tool** | Run shell commands | Execute scripts, system operations, install packages |\n| **Browser Tool** | Browser automation | Screenshots, web automation, content extraction |\n| **Calendar Tool** | Calendar management | Check dates, calculate time, schedule reminders |\n| **Environment Check** | System inspection | Detect system info, verify dependencies, diagnose issues |\n| **Image Generation** | AI image generation | Create images, design assets, visual content |\n| **Web Search** | Web search | Real-time queries, research, data collection |\n| **Web Fetch** | Fetch web content | Extract articles, download page data |\n| **Memory Tool** | Memory management | Store preferences, retrieve historical context |\n| **Skill Manager** | Skill management | Install, uninstall, and list skill packages |\n| **Scheduled Task** | Task scheduling | Create and manage cron-based tasks |\n| **Chat Tool** | AI conversation | Internal AI calls, backend processing, isolated from main Agent context |\n| **Cross Tab Call** 🆕 | Cross-Tab messaging | Inter-Agent communication for multi-Agent collaboration |\n| **Feishu Doc Tool** | Feishu document ops | Create, read, append, update, delete blocks, add comments |\n\n### Creating Custom Tools\n\nAll tools use the unified `ToolPlugin` interface and live in `src\u002Fmain\u002Ftools\u002F`.\n\n#### Quick Start\n\n1. **Create a tool file**\n\nCreate a new file in `src\u002Fmain\u002Ftools\u002F` (e.g., `my-tool.ts`):\n\n```typescript\nimport { Type } from '@sinclair\u002Ftypebox';\nimport type { ToolPlugin } from '.\u002Fregistry\u002Ftool-interface';\nimport { TOOL_NAMES } from '.\u002Ftool-names';\n\nexport const myToolPlugin: ToolPlugin = {\n  \u002F\u002F 工具元数据（用于 UI 展示和管理）\n  metadata: {\n    id: 'my-tool',              \u002F\u002F 唯一标识，kebab-case\n    name: 'My Tool',            \u002F\u002F 显示名称（给用户看）\n    description: 'My custom tool',\n    version: '1.0.0',\n    author: 'DeepBot',\n    category: 'custom',         \u002F\u002F 分类：file | network | system | ai | custom\n    tags: ['custom'],\n  },\n  \n  \u002F\u002F 创建工具实例，接收运行时上下文（工作目录、会话 ID、配置等）\n  create: (options) => ({\n    name: TOOL_NAMES.MY_TOOL,   \u002F\u002F AI 调用时使用的工具名（必须在 tool-names.ts 中注册）\n    label: 'My Tool',           \u002F\u002F 执行步骤中显示的标签\n    description: 'Execute custom operations',  \u002F\u002F 告诉 AI 这个工具做什么\n    \u002F\u002F 参数定义（使用 TypeBox，AI 会根据 description 自动填充参数）\n    \u002F\u002F 常见参数类型示例：\n    \u002F\u002F   Type.String({ description: '...' })                    — 字符串\n    \u002F\u002F   Type.Number({ description: '...' })                    — 数字\n    \u002F\u002F   Type.Boolean({ description: '...' })                   — 布尔值\n    \u002F\u002F   Type.Optional(Type.String({ description: '...' }))     — 可选参数\n    \u002F\u002F   Type.Union([Type.Literal('a'), Type.Literal('b')])     — 枚举（AI 只能选其中一个）\n    parameters: Type.Object({\n      action: Type.Union([\n        Type.Literal('search'),\n        Type.Literal('create'),\n        Type.Literal('delete'),\n      ], { description: 'Operation type' }),\n      query: Type.String({ description: 'Search keyword or target name' }),\n      limit: Type.Optional(Type.Number({ description: 'Max results (default 10)' })),\n      force: Type.Optional(Type.Boolean({ description: 'Skip confirmation' })),\n    }),\n    \n    execute: async (toolCallId, params, signal) => {\n      \u002F\u002F signal: AbortSignal，用户停止时会触发\n      \u002F\u002F params: 已经过 schema 验证的参数对象\n      \n      return {\n        \u002F\u002F content: 返回给 AI 的内容（AI 会基于此决定下一步）\n        content: [{ type: 'text', text: 'Success' }],\n        \u002F\u002F details: 结构化数据，用于 UI 渲染或日志记录（AI 不可见）\n        details: { success: true },\n      };\n    },\n  }),\n};\n```\n\n2. **Register in tool-loader.ts**\n\nEdit `src\u002Fmain\u002Ftools\u002Fregistry\u002Ftool-loader.ts`:\n\n```typescript\nimport { myToolPlugin } from '..\u002Fmy-tool';\n\n\u002F\u002F Inside loadTools(), add with other plugins:\ntools.push(...await resolvePluginTools(myToolPlugin.create(pluginOpts)));\n```\n\n3. **Add tool name constant**\n\nEdit `src\u002Fmain\u002Ftools\u002Ftool-names.ts`:\n\n```typescript\nexport const TOOL_NAMES = {\n  \u002F\u002F ...existing tools\n  MY_TOOL: 'my_tool',\n};\n```\n\nThen use `TOOL_NAMES.MY_TOOL` in your tool definition instead of the hardcoded string.\n\n4. **Add tool instructions**\n\nEdit `src\u002Fmain\u002Fprompts\u002Ftemplates\u002FCUSTOM-TOOLS.md` to document how the AI should use your tool.\n\nUsing the Email tool as an example:\n\n````markdown\n## Email (Email Sending Tool)\n\n### Core Principles\n1. SMTP must be configured before use\n2. The config file path is fixed — don't give users incorrect paths\n3. On failure, guide users to fix their config based on the error message\n4. Don't retry repeatedly — report the failure reason after one attempt\n\n### Prerequisites\n\n**Config file path** (searched in priority order):\n1. Project-level: `\u003Cworkspace>\u002F.deepbot\u002Ftools\u002Femail-tool\u002Fconfig.json`\n2. User-level: `~\u002F.deepbot\u002Ftools\u002Femail-tool\u002Fconfig.json`\n\n**Config file format**:\n```json\n{\n  \"user\": \"your-email@example.com\",\n  \"password\": \"your-password-or-auth-code\",\n  \"smtpServer\": \"smtp.example.com\",\n  \"smtpPort\": 465,\n  \"useSsl\": true,\n  \"fromName\": \"Your Name\"\n}\n```\n\n**Common provider notes**:\n- QQ Mail: Use authorization code, not your QQ password\n- Gmail: Use an app-specific password\n- 163 Mail: Enable SMTP service and use an authorization code\n\n### Use Cases\n- ✅ Notification emails, report emails\n- ✅ Emails with attachments\n- ✅ HTML-formatted emails\n- ❌ Bulk marketing emails (risk of account suspension)\n- ❌ Sensitive information (emails are not encrypted)\n\n### Examples\n\n1. Plain text email:\n```json\n{\n  \"to\": \"recipient@example.com\",\n  \"subject\": \"Test Email\",\n  \"body\": \"This is a test email\"\n}\n```\n\n2. HTML email:\n```json\n{\n  \"to\": \"team@company.com\",\n  \"subject\": \"Project Progress Report\",\n  \"body\": \"\u003Ch1>Progress\u003C\u002Fh1>\u003Cul>\u003Cli>Feature A: Done\u003C\u002Fli>\u003C\u002Ful>\",\n  \"html\": true\n}\n```\n\n3. Email with attachment:\n```json\n{\n  \"to\": \"client@example.com\",\n  \"subject\": \"Contract Documents\",\n  \"body\": \"Please find the contract attached\",\n  \"attachments\": [\"~\u002FDocuments\u002Fcontract.pdf\"]\n}\n```\n\n### Error Handling\n\n| Error | Cause | Fix |\n|-------|-------|-----|\n| \"nodemailer not installed\" | Missing dependency | Ask user to install nodemailer |\n| \"Email tool not configured\" | Config file missing | Ask user to create the config file |\n| \"Authentication failed\" | Wrong credentials | Check account and authorization code |\n````\n\n**Documentation structure**:\n- **Core Principles**: Rules the AI must follow\n- **Prerequisites**: Required setup (config files, dependencies)\n- **Use Cases**: When to use or avoid this tool\n- **Examples**: Real usage from simple to complex\n- **Error Handling**: Common errors and how to resolve them\n\n#### Advanced Features\n\n- **Config files**: Read from `~\u002F.deepbot\u002Ftools\u002F\u003Ctool-name>\u002Fconfig.json`\n- **External dependencies**: Use dynamic `require()` to avoid bundling\n- **Cancellation**: Support user cancellation via `AbortSignal`\n- **Prompt management**: Document tool behavior in `CUSTOM-TOOLS.md` so the AI uses it correctly\n\n#### References\n\n- 📖 [Full Development Guide](src\u002Fmain\u002Ftools\u002Fregistry\u002FTOOL-DEVELOPMENT-GUIDE.md)\n- 📝 [Example Tool Template](src\u002Fmain\u002Ftools\u002Fregistry\u002Fexample-tool.ts)\n- 🔧 [Email Tool Example](src\u002Fmain\u002Ftools\u002Femail-tool.ts) — complete example with config and external dependencies\n\n---\n\n## 🔒 Security\n\nDeepBot enforces strict access controls so AI Agents can only reach directories you've explicitly authorized.\n\n### Path Whitelist\n\nOnly the following directories (and their subdirectories) are accessible:\n\n| Type | Default Path | Purpose | Configurable |\n|------|-------------|---------|--------------|\n| **Workspace** | `~` (home directory) | File read\u002Fwrite, command execution | ✅ |\n| **Scripts** | `~\u002F.deepbot\u002Fscripts` | Python script storage | ✅ |\n| **Skills** | `~\u002F.agents\u002Fskills` | Skill package installation | ✅ |\n| **Images** | `~\u002F.deepbot\u002Fgenerated-images` | AI-generated image storage | ✅ |\n\n### Security Check Flow\n\n```\nTool call → Path security check → Within whitelist?\n                                   ├─ Yes → Allow execution\n                                   └─ No  → Reject, return error\n```\n\n---\n\n## 🧠 Memory System\n\nDeepBot supports persistent long-term memory to retain user preferences and important context across sessions.\n\n### Global Memory\n\n- **Location**: `~\u002F.deepbot\u002Fmemory\u002FMEMORY.md`\n- **Format**: Structured Markdown\n- **Auto-injection**: Loaded into every conversation's system prompt\n- **Live updates**: Memory changes automatically reload all active Agents\n- **Scope**: Shared across all Tabs — stores general preferences and shared context\n\n### Per-Tab Memory (Multi-Agent Support)\n\nEach Tab (Agent) can have its own independent memory file, enabling true multi-role collaboration:\n\n- **Independent memory files**: Each Tab can have its own `memory-\u003Ctab-id>.md`\n- **Independent role definitions**: Different Tabs can take on different roles (e.g., Product Manager, Developer, QA Engineer)\n- **Independent work styles**: Each Agent can have its own domain expertise and preferences\n- **Persistent storage**: Tab memory and role settings are saved across sessions\n\n### Usage Examples\n\n**Global memory**:\n```\nUser: \"Remember: I prefer concise code\"\nDeepBot: \"Got it, I'll keep that in mind\"\n```\n\n**Per-tab memory**:\n```\nUser: \"Create a Sales Analysis Agent\"\nDeepBot: \"New Tab created. This Agent will focus on customer relationship management and sales data analysis\"\n\nUser: \"Remember: You are a Sales Expert responsible for customer follow-up and performance analysis\"\nSales Agent: \"Understood, I've saved my role and responsibilities\"\n```\n\n### Multi-Agent Collaboration Example\n\n1. **Sales Agent** — Customer relationship management and sales pipeline; stores customer info and sales strategies\n2. **Marketing Agent** — Market analysis and campaigns; stores market data and promotion plans\n3. **Solutions Agent** — Technical solution design and requirements analysis; stores solution templates and specs\n4. **Product Agent** — Product planning and backlog management; stores roadmaps and user feedback\n5. **R&D Agent** — Technical development and implementation; stores technical docs and coding standards\n6. **Project Manager Agent** — Project coordination and progress tracking; stores project plans and resource allocation\n\nEach Agent operates with independent memory and domain expertise, enabling efficient cross-department collaboration.\n\n---\n\n## ⏰ Scheduled Tasks\n\nCreate and manage scheduled tasks to automate recurring work:\n\n### Features\n\n- ✅ Cron expression support\n- ✅ Dedicated Tab execution (locked, cannot be closed)\n- ✅ Context reset between runs (retains last run's output as context)\n- ✅ Execution history tracking\n\n### Example\n\n```\nUser: \"Check desktop files every day at 9 AM\"\nDeepBot: \"Scheduled task created — will run daily at 9:00\"\n```\n\n---\n\n## 🎨 Skill Extensions\n\nThe Skills system lets you compose multiple tools into reusable, complex workflows.\n\n### Install an Existing Skill\n\n```bash\n# Use the Skill Manager tool in DeepBot\n\"Install weather skill\"\n```\n\n### Create a Custom Skill\n\nA Skill is a directory containing a `SKILL.md` file using YAML frontmatter + Markdown format.\n\n#### 1. Create the Skill directory\n\n```bash\nmkdir -p ~\u002F.agents\u002Fskills\u002Fmy-skill\ncd ~\u002F.agents\u002Fskills\u002Fmy-skill\n```\n\n#### 2. Create SKILL.md\n\n````markdown\n---\nname: my-skill\ndescription: My custom skill for handling specific tasks\nversion: 1.0.0\nauthor: Your Name\n---\n\n# My Custom Skill\n\n## When to use this skill\n\nUse this skill when the user needs to:\n- Operation 1\n- Operation 2\n\n## How to use\n\n### Step 1: Read file\n\nUse the file_read tool:\n\n```json\n{\n  \"path\": \"~\u002Fexample.txt\"\n}\n```\n\n### Step 2: Process data\n\nProcess the data as needed...\n\n### Step 3: Save results\n\nUse the file_write tool to save results...\n\n## Notes\n\n- Note 1\n- Note 2\n````\n\n#### 3. Install the Skill\n\n**Option 1: Direct placement** (recommended)\n\nPlace the Skill directory under `~\u002F.agents\u002Fskills\u002F` and restart DeepBot — it will be loaded automatically.\n\n**Option 2: Use Skill Manager**\n\n```bash\n\"Install local skill at path ~\u002F.agents\u002Fskills\u002Fmy-skill\"\n```\n\n### Skill Directory\n\n- **Default path**: `~\u002F.agents\u002Fskills\u002F`\n- **Auto-discovery**: All installed Skills are loaded at startup\n- **Dynamic management**: Install and uninstall at runtime\n\n### Skill Capabilities\n\n- 📖 Skills can call all 14 built-in tools\n- 📝 Supports async operations and error handling\n- 🔧 Compose multiple tools for complex multi-step workflows\n\n---\n\n## 🤖 Supported AI Models\n\n- **Qwen** (Alibaba Cloud) — default model\n- **OpenAI** (GPT-4, GPT-3.5)\n- **Claude** (Anthropic)\n\nConfigure your API keys in System Settings to get started.\n\n### ⚠️ Important: Avoid Reasoning Models\n\nDeepBot is optimized for standard conversational models. Models with built-in thinking\u002Freasoning modes can cause display issues with `\u003Cthink>...\u003C\u002Fthink>` tags, slower responses, and unnecessary overhead for simple tasks.\n\n**Not recommended:**\n- ❌ QwQ-32B-Preview\n- ❌ OpenAI o1, o1-mini, o1-preview\n- ❌ DeepSeek-R1\n- ❌ Any model with explicit reasoning\u002Fthinking steps\n\n---\n\n## 📦 External Services\n\n| Service | Purpose | Configuration |\n|---------|---------|---------------|\n| **Tavily API** | Web search | System Settings → Web Search |\n| **Gemini** | Image generation (Imagen 3) | System Settings → Image Generation |\n\n---\n\n## 🛠️ Development Guide\n\n### Project Structure\n\n```\ndeepbot\u002F\n├── src\u002F\n│   ├── main\u002F           # Main process\n│   │   ├── gateway.ts          # Session management\n│   │   ├── agent-runtime\u002F      # Agent runtime\n│   │   ├── tools\u002F              # Tool system\n│   │   ├── scheduled-tasks\u002F    # Scheduled tasks\n│   │   ├── connectors\u002F         # External connectors\n│   │   └── database\u002F           # Data storage\n│   ├── renderer\u002F       # Renderer process (React)\n│   ├── shared\u002F         # Shared utilities\n│   └── types\u002F          # Type definitions\n├── docs\u002F               # Documentation\n└── scripts\u002F            # Build scripts\n```\n\n---\n\n## 📝 License\n\nThis project is licensed under the [MIT License](LICENSE).\n\n---\n\n## 🙏 Acknowledgments\n\nDeepBot was inspired by:\n\n- [Clawdbot](https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw) — architectural reference\n- [@mariozechner\u002Fpi-agent-core](https:\u002F\u002Fgithub.com\u002Fbadlogic\u002Fpi-agent) — AI Agent Runtime\n\n---\n\n## 📧 Contact\n\n- **Author**: Kevin Luo @ Deepglint\n- **Issues**: [GitHub Issues](https:\u002F\u002Fgithub.com\u002Fkevinluosl\u002Fdeepbot\u002Fissues)\n\n---\n\n\u003Cdiv align=\"center\">\n\n**⭐ If DeepBot is useful to you, a star goes a long way!**\n\n\u003C\u002Fdiv>\n","DeepBot 是一个面向企业和个人生产力的系统级AI助手，支持一键部署、无缝体验以及与飞书的原生集成。该项目使用TypeScript编写，具备并行任务处理、14种内置工具（如文件操作、命令执行等）、长期记忆系统、定时任务安排、技能扩展、严格的安全控制及多模型支持等核心功能。适用于需要自动化复杂业务流程的企业场景，包括文档处理、数据分析、系统监控和跨部门协作等。通过AI代理技术，DeepBot能够深度融入现有的企业系统中，成为真正的业务伙伴而不仅仅是聊天机器人。",2,"2026-06-11 03:51:21","high_star"]