DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins

dsh-botcrew

Botcrew

BotCrew — run WorkBuddy and QwenWork from one DSH group chat, with members, permissions, artifacts and a live work panel.

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add dsh-botcrew@0.1.3
READMECompatibilityVersions

Compatibility and provenance

Botcrew is published as dsh-botcrew and currently resolves to version 0.1.3. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
npm
Registry updated
11/1/2026

Versions

0.1.3stable
11/1/2026
0.1.1stable
11/1/2026

Related plugins

Loading related plugins…

Latest
0.1.3
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
824.8 kB
Files
36
Surface
web
License
MIT
Source
npm
GitHub
★ 1
Weekly downloads
0
Last push
11/1/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in integrations-communication.

Remote Web Ui@linxin666/dsh-remote-web-uiScan-to-pair remote access for the dsh web GUI that shares one official interface: a QR beside the settings button pairs phones and PCs into the same Web GUI (a portrait-touch adaptation layer for phones, full desktop on PCs) through one-time tokens and rRemote Bridge@linxin666/dsh-remote-bridgeDSH remote bridge: the host half serves protocol v1 over one exact /ios/v1 WebSocket route — session roster, history baseline, prompting, live turn increments with tool activity, interrupt, and in-process agent approval — to a device paired by a one-shot Ds Botds-botDS Bot: a team of long-lived Bots for DeepSeek Harness, with Main Bots, Bot-to-Bot messages and group chatsPocketdsh-pocketPut DeepSeek Harness in your pocket: one package, one settings page, and scan a QR code on your phone to access DSH on your computer in sync (LAN + public network, real-time screen mirroring).

README

BotCrew

BotCrew

One chat. Your whole bot crew.

一个群聊,指挥整组桌面 Bot。

BotCrew group chat

BotCrew turns WorkBuddy and 千问办公 into members of one DSH group chat. You write one instruction, @WorkBuddy extracts the source material, @千问办公 re-lays it out, and a reviewer checks the result — while a live panel shows both desks.

It is local-first: no cloud sandbox, no API keys for the office apps, no screen streaming. It drives the apps already signed in on your Mac or PC through Chromium DevTools Protocol, and exposes the same operations as mcp__office__* tools.


Why

Most agent tools stop at a chat box. Real office work already lives in desktop apps: a report in WorkBuddy, a deck in 千问, a PDF on disk, an approval in a group chat.

BotCrew connects those pieces:

  • One place to command — a group chat with members, @ mentions and attachments.
  • Real executors — WorkBuddy and 千问 are operated as apps, not reimplemented as prompts.
  • Work stays in the thread — task state, files and answers sit next to the instruction instead of being copy-pasted.
  • Human approval stays human — publishing, paying and deleting can be gated behind approval cards.

Features

🧠 Multi-agent group chatChief, WorkBuddy, 千问办公 and custom members in one thread.
🖥️ Real desktop controlWorkBuddy :9331 and 千问 :9444 over CDP; qoder CLI for custom members.
🔁 One thread, multiple agentsAssign WorkBuddy, 千问办公 and reviewers in the same thread; outputs stay next to the task.
🧑‍💻 Custom membersName + role, executed for real by the qwen CLI. Up to 10 members.
📎 Files in / outPaste a path, drag a file, or upload; artifacts come back as cards.
🛂 Approvalsoffice_request_approval / office_resolve_approval; pending items surface in the panel.
📊 Live work panelSide-by-side WorkBuddy and 千问 screenshots, current task, queue, artifacts.
🔌 MCP-nativeEvery chat action is also a tool: office_send, office_wait, office_artifacts…
🔒 Local-onlyPanel binds 127.0.0.1; no account passwords are stored.

Requirements

Windows 10/11 or macOS 13+Desktop automation is implemented for both platforms.
DSH Desktop 0.2.1+Plugin host and Web UI.
WorkBuddy 5.xInstalled and signed in.
QwenWork 1.4+Installed and signed in; qoderclicn available for CLI tasks.
Node.js 22+The DSH bundled runtime is enough.

The first-run setup finds the apps automatically on both platforms. Typical paths:

Windows:  C:/Users/<you>/AppData/Local/Programs/WorkBuddy/WorkBuddy.exe
macOS:    /Applications/WorkBuddy.app/Contents/MacOS/WorkBuddy

Windows:  .../QwenWorkCN/<version>/resources/bin/qoderclicn.exe
macOS:    /Applications/QwenWorkCN.app/Contents/Resources/bin/qoderclicn

How it works

flowchart LR
  U["You"] --> DSH["DSH Desktop"]
  DSH --> UI["Group chat UI"]
  DSH --> MCP["MCP tools<br/>mcp__office__*"]
  UI --> API["Panel server<br/>127.0.0.1:8765"]
  MCP --> WB["WorkBuddy<br/>CDP :9331"]
  MCP --> QW["千问办公<br/>CDP :9444"]
  API --> WB
  API --> QW
  API --> CLI["qoderclicn"]
  WB --> ART["Artifacts / approvals"]
  QW --> ART

The plugin has three parts:

  • Host plugin — starts the local panel service.
  • Client plugin — group chat, member panel, @ chips, attachments, right-side work panel.
  • MCP server — the same operations as tools, so an agent can drive the office apps without the UI.

Install

DSH Plugin Market (recommended)

Open DSH Desktop → Plugins → Discover, search BotCrew, install, then open Workspace → 对话群聊.

If the listing is not live yet, use the local bundle below.

Local bundle

plugin_manager install_bundle { "target": "C:/path/to/dsh-botcrew" }

GitHub Release

Download the prebuilt tarball from Releases, extract it, then install the folder with plugin_manager:

plugin_manager install_bundle { "target": "C:/path/to/dsh-botcrew" }

From source

git clone https://github.com/hankniu77/dsh-botcrew.git
cd dsh-botcrew

Then install the directory through plugin_manager as above (no build step; the package has no npm dependencies).


First run: automatic setup

Open the group chat for the first time. BotCrew checks the machine and shows a setup card:

First-run setup

示意:检测到 WorkBuddy 未开调试端口、千问未运行、CLI 未登录。

StateWhat the plugin does
Installed, not runningStarts it automatically with the debug port.
Running, no debug portShows Restart WorkBuddy / Restart 千问 — never silently kills an app with unsaved work.
千问 CLI not logged inStarts qoderclicn login, opens the browser authorization page, then polls.
Everything readyCard closes automatically.

The 环境 button in the header reopens the same checker at any time.


Use it

  1. Workspace → 对话群聊 → + 新建群聊
  2. Type an instruction, optionally @ a member:
@WorkBuddy 把这份 PDF 提炼成 8 页汇报,先出大纲,数字要能追溯。
@千问办公 按公司模板 v3 重排,不要改数字。
@Reviewer 检查第 4 页的口径,只回复问题清单。
  1. Add files with + 附件 (paste a local path) or drag them into the composer.
  2. Watch progress in the chat; open 工位面板 for both desktops side by side.
  3. Switch output mode with 标准 ▾, and switch threads with 会话 N ▾.

Members and permissions

Members

  • Add WorkBuddy / 千问 if they are not already in the group.
  • Add a custom member with a name and role; it is executed by the qwen CLI.
  • Each member has 读 / 写 / 命令 / 外发 switches.
  • Removing a member with a running task asks 停止并移除 / 仅移除 / 取消.
  • At least one member must remain; the limit is 10.

Work panel

Work panel

http://127.0.0.1:8765 is a local, read-mostly view of both desks: current title, queue, debug port, screenshots, and pending approvals.


MCP tools

mcp__office__* tool reference
ToolPurpose
office_statusWorkBuddy port, active thread, sidebar count, recent tasks.
office_launchStart WorkBuddy with the debug port (optionally restart).
office_list_threadsList WorkBuddy conversations.
office_open_threadOpen a conversation by alias / title.
office_new_threadStart a new WorkBuddy task.
office_sendSend a task; returns a T-… task id.
office_waitPoll a task for a bounded interval.
office_read_lastRead the last assistant reply.
office_stopStop the active run.
office_artifactsList files produced by a task.
office_tasksRecent task records.
office_set_aliasBind an alias to a conversation.
office_delete_threadDelete a conversation (explicit confirm).
office_request_approvalCreate a pending approval card.
office_resolve_approvalRecord a human decision.
office_approvalsList pending approvals.
qwen_statusCheck the qoder CLI / login state.
qwen_runRun a one-shot qwen CLI task.
qwen_ui_status千问 desktop status.
qwen_ui_list_tasks千问 recent tasks.
qwen_ui_read_last千问 last reply.
qwen_ui_sendSend a task in the 千问 UI.

Configuration

Default config lives in the package (config.json); user overrides go to:

~/.dsh/botcrew/data/config.json
{
  "port": 9331,
  "panelPort": 8765,
  "workbuddyExe": "C:/Program Files/WorkBuddy/WorkBuddy.exe",
  "qwen": {
    "exe": "C:/.../QwenWorkCN/QwenWorkCN.exe",
    "cli": "C:/.../resources/bin/qoderclicn.exe",
    "gitBashPath": "C:/Program Files/Git/bin/bash.exe"
  }
}
KeyMeaning
portWorkBuddy CDP port, default 9331.
panelPortLocal panel port, default 8765.
workbuddyExePath to the WorkBuddy executable; auto-detected on Windows and macOS.
qwen.exePath to the QwenWork executable; auto-detected on Windows and macOS.
qwen.cliPath to qoderclicn (.exe on Windows); auto-detected.
qwen.gitBashPathGit Bash used by the qwen CLI on Windows.
homeData directory, default ~/.dsh/botcrew/data.

Environment override: BOTCREW_CONFIG=/path/to/config.json (legacy OFFICE_BUS_CONFIG is also accepted).


Security model

See SECURITY.md for the full threat model.

  • Local only. The panel listens on 127.0.0.1; there is no cloud relay.
  • No credentials. BotCrew uses the apps you are already signed into; it does not read passwords.
  • Explicit restarts. Apps running without a debug port are never killed silently.
  • Approvals for side effects. Publishing, paying and deleting should be gated with an approval card.
  • Permission switches are best-effort. Custom members can be restricted through read/write/command/external switches and the qwen permission mode; for WorkBuddy and 千问 the restriction is a task-level instruction, not a hard sandbox.

Troubleshooting

SymptomFix
WorkBuddy port 9331 not reachableOpen 环境 → 重启 WorkBuddy, or launch it with the debug port.
千问 port 9444 not reachableOpen 环境 → 重启千问办公.
千问 CLI not logged inOpen 环境 → 打开千问登录, finish the browser flow.
Panel page does not loadCheck http://127.0.0.1:8765; another process may own the port.
Workspace row missing after DSH upgradeReinstall/update the plugin; the row is injected into the session tree.
@WorkBuddy sends nothingConfirm WorkBuddy is on the target conversation and the debug port is open.

Roadmap

  • WeCom / WeChat gateway: send instructions from a real chat.
  • macOS support: app paths, process detection, launch/restart and browser login.
  • Hard permission isolation for WorkBuddy / 千问.
  • Parallel task scheduling across members.
  • macOS adapters.
  • Conversation export and richer artifacts.

Development

node src/mcp-server.js     # MCP over stdio
node src/panel-server.js   # local panel only
node src/doctor.js         # environment check
node src/mcp-smoke.js      # MCP smoke test
npm pack                   # verify the published file list

No build step and no npm runtime dependencies. The client is a prebuilt DSH module loader bundle.


Publishing

  1. Bump version and add a CHANGELOG.md entry.
  2. npm pack and attach the tarball to a GitHub Release (gh release create vX.Y.Z botcrew.tgz).
  3. Update the registry entry at awesome-dsh-plugin with the release tarball: URL.
  4. Optional: publish to npm; if the package name changes, update lib/client.js loader id and cordis.patch.yml paths.

Contributing

See CONTRIBUTING.md. Keep it local-first, include a screenshot for UI changes, and never commit credentials or personal task data.

License

MIT © BotCrew contributors