Engineering, orchestration and securityOpen source

Expert Mode

Expert-team coordinator

A chief coordinator preset that delegates work across sixteen domain-specialist subagents.

Project README

View on GitHub

🧠 DSH Expert Mode

<p align="center"> <strong>1 Coordinator + 17 Experts — Full-Stack Multi-Agent Team</strong><br/> <em>首席协调官 + 17 位领域专家 — 全栈多智能体团队</em> </p> <p align="center"> <a href="https://github.com/topics/dsh-plugin">![dsh-plugin](https://img.shields.io/badge/dsh--plugin-ready-478CBF?logo=deepseek&logoColor=white)</a> <a href="https://github.com/awesome-dsh-plugin/awesome-dsh-plugin">![Featured in Awesome DSH Plugin](https://img.shields.io/badge/awesome--dsh--plugin-featured-1a56db?logo=deepseek&logoColor=white)</a> <a href="https://github.com/Asher-2000/dsh-expert-mode/releases">![Release](https://img.shields.io/github/v/release/Asher-2000/dsh-expert-mode?label=release)</a> <a href="LICENSE">![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)</a> <a href="https://github.com/Asher-2000/dsh-expert-mode">![Stars](https://img.shields.io/github/stars/Asher-2000/dsh-expert-mode)</a> </p> <p align="center"> <a href="README.zh.md">中文</a> · <a href="README.md">English</a> </p>

✨ What it does

Install this preset and DSH automatically becomes a "Chief Coordinator" mode:

ScenarioBehavior
Receives taskIdentifies domain → delegates to the best expert
Complex tasksDispatches multiple experts in parallel
Simple tasksCoordinator handles directly — no forced delegation
Task completeExperts stay online for follow-up modifications

No custom prompts to write. No multi-config to maintain. Just install and use.


🖼️ Demo

<p align="center"> ![DSH Expert Mode main interface](assets/main-ui.jpg)<br/> <em>Select the "Expert Mode" preset in DSH workspace to use</em> </p> <p align="center"> ![Expert Mode running](assets/expert-mode-run.jpg)<br/> <em>5 expert subagents working in parallel, with real-time token usage and timing</em> </p>

🧩 17 Experts

🎯 Full-Stack Core (6)

ExpertToolDomain
🖥️ Frontend Devexpert_frontend_devWeb frontend, React/Vue, CSS/UI
🖥️ Backend Devexpert_backend_devAPI, server logic, authentication
🗄️ Databaseexpert_databaseSchema design, SQL, optimization
🏗️ Architectexpert_architectSystem design, tech selection
🛠️ DevOpsexpert_devopsCI/CD, Docker, K8s, deployment
🧪 QA Engineerexpert_qa_engineerTesting strategy, automation

🔒 Security & Data (3)

ExpertToolDomain
🔒 Securityexpert_securityCode audit, vulnerabilities, hardening
📊 Data Analystexpert_data_analystStatistics, visualization, insights
🎨 UI/UX Designexpert_uiux_designInterface design, design systems

💼 Business (7)

ExpertToolDomain
📋 Product Managerexpert_product_managerPRD, requirements, competitor research
✍️ Copywriterexpert_copywriterMarketing copy, content creation
🎬 Media Creatorexpert_media_creatorStoryboard, AI image, AI video, final cut
⚖️ Legal Reviewexpert_legal_reviewContract review, legal risk
📱 Social Mediaexpert_social_mediaMulti-platform distribution
🚀 Growth Hackerexpert_growthGrowth strategy, A/B testing
💹 Quant Financeexpert_quant_financeQuantitative models, risk
💰 Financeexpert_financeFinancial analysis, budget

🛡️ Features

FeatureDescription
🎯 Smart DelegationAuto-identifies task domain and routes to the best expert
🚀 Fast TrackSimple tasks handled directly — no forced delegation
🔄 Five-Anchor ConstraintPrevents topic drift with per-turn self-check
🤝 Cross ReviewHigh-risk tasks get multi-expert independent review
💾 Experience PoolLessons learned are saved and injected next time
💬 Inter-Expert BusFile-based message bus (bus.py): experts send/read directly, zero coordinator relay, P2P capable
Fault RecoveryAuto-retry on timeout, strategy switch on failure
📉 Progressive DisclosureMethodology injected on-demand, 28% token savings
🌐 BilingualComplete EN/ZH documentation

📦 Installation

Option A: dsh plugin add (won't crash, but ❌ does NOT activate expert mode)

# In DSH workspace
dsh plugin add github:Asher-2000/dsh-expert-mode

⚠️ Important: this is an agent-preset plugin, not a Cordis service plugin. dsh plugin add only guarantees the bundle loads without crashing — it does not mount expert mode into your sessions. The preset only works via Option B (~/.dsh/.agent-presets/). Use Option B. This entry is a compatibility placeholder only.

Option B: Manual install from GitHub (current)

Clone the repository, then copy the preset into DSH's agent-presets directory:

# 1. Clone anywhere
git clone https://github.com/Asher-2000/dsh-expert-mode.git
cd dsh-expert-mode

# 2. Copy the preset into DSH's agent-presets directory
mkdir -p ~/.dsh/.agent-presets/expert-mode
cp -r agent.cordis.yml preset.yml cordis.patch.yml ~/.dsh/.agent-presets/expert-mode/
# If you want the full methodology docs (methods/, experts/, comm/ bus), copy the whole tree:
# cp -r .expert-mode ~/.dsh/.agent-presets/expert-mode/

# 3. Restart DSH web, then select "专家模式" in the workspace preset selector
dsh web

Note: ~/.dsh/.agent-presets/ is DSH's preset discovery directory. Each subdirectory = one preset. The preset name comes from preset.yml's name field.

Then select "专家模式" in the workspace preset selector.

Optional: Cross-session memory (recommended)

The expert-mode preset itself does not register the cross-session memory service — it is a HOST-PLANE plugin, and registering it inside a preset conflicts with the host composition (causing preset mount failure). To enable cross-session memory, install dsh-memory-connect separately into the host composition:

# 1. Clone the memory plugin
git clone https://github.com/Asher-2000/dsh-memory-connect.git
cd dsh-memory-connect
npm install github:Asher-2000/dsh-memory-connect#v0.4.0  # or place it into the dsh dependency tree manually

# 2. Register it in the host composition (e.g. append to ~/.dsh/profiles/web/cordis.patch.yml):
# - id: cross-session-memory
#   name: '@deepseek-ai/dsh-memory-connect'
#   config:
#     path: ~/.dsh/memory.db
#     openAt: startup

# 3. Restart DSH web
dsh web

⚠️ Important: Do NOT add @deepseek-ai/dsh-memory-connect into this preset's agent.cordis.yml. It is a HOST-PLANE plugin (injects sessions + systemPrompt); registering it inside the preset throws service has been registered at <cross-session-memory>, which makes the expert-mode preset fail to mount and the UI fall back to the default preset. This preset ships with an explanatory comment about it.


🚀 Quick Start

  1. Install the plugin
  2. Select "专家模式" preset
  3. Ask any question — the coordinator auto-delegates to the right expert

Example

User: 帮我设计一个用户认证系统

Coordinator:
  → 识别领域: 后端开发 + 安全
  → 委派 Backend Dev: API 设计、JWT 实现
  → 委派 Security: 安全审计、漏洞防护
  → 汇总输出完整方案

🏗️ Architecture

┌─────────────────────────────────────────────────────────────────┐
│                    Expert Mode Architecture                      │
├─────────────────────────────────────────────────────────────────┤
│                                                                  │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │              Chief Coordinator (协调官)                    │   │
│  │  • Task analysis    • Domain identification               │   │
│  │  • Expert routing   • Result aggregation                  │   │
│  └──────────────────────────────────────────────────────────┘   │
│                           │                                      │
│           ┌───────────────┼───────────────┐                     │
│           ▼               ▼               ▼                     │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐            │
│  │  Frontend   │  │  Backend    │  │  DevOps     │            │
│  │  Database   │  │  Security   │  │  QA         │            │
│  │  Architect  │  │  ...        │  │  ...        │            │
│  └─────────────┘  └─────────────┘  └─────────────┘            │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

💬 Inter-Expert Communication Bus (v0.8.0)

┌──────────────────────────────────────────────────────────────┐
│                 File Message Bus (comm/bus.py)                │
│   .expert-mode/comm/mailboxes/<expert>/*.msg                 │
├──────────────────────────────────────────────────────────────┤
│                                                              │
│   data-analyst ──send──▶ frontend-dev   (direct, async)      │
│   copywriter   ──send──▶ social-media  (direct, async)       │
│   coordinator  ──broadcast──▶ all experts (global sync)      │
│   expert A     ──P2P subagent──▶ expert B  (synchronous)     │
│                                                              │
│   • Zero relay: content flows between experts, NOT through   │
│     coordinator context                                     │
│   • Durable: every message persisted as .msg file            │
│   • Auditable: full log at comm/logs/bus.log                 │
│   • Commands: send / read / ack / broadcast / stats          │
└──────────────────────────────────────────────────────────────┘

Communication Modes:

ModeHowUse case
A. RelayExpert A sends result → Expert B readsSequential collaboration
B. ParallelExperts send results to coordinator → read --allIndependent collection
C. BroadcastOne message → all mailboxesGlobal state changes
D. ReviewExperts send "agree/partial/disagree + reason"Cross review
E. P2PExpert spawns subagent for direct Q&ASynchronous clarification

📚 Documentation

DocumentDescription
Communication ProtocolInter-expert message bus protocol v1
Expert Methods16 expert methodology docs
Experience PoolLessons learned per expert
README.zh.md中文文档

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Push to the branch
  5. Open a Pull Request

📄 License

MIT License - see LICENSE for details.


🙏 Acknowledgments