English | 中文
DeepSeek Bot (DS Bot) is a bot plugin for DeepSeek Harness (DSH). It turns DSH into bots. You create your own bots, then talk and work with them.
Desktop app (Windows, macOS)
The desktop app brings its own DSH, so you don't need to install DSH first. Download it from Releases:
- Windows (x64):
DeepSeek-Bot-<version>-win-x64.exe. Run it; it installs for your user only, without administrator rights. If Windows shows "Windows protected your PC", select More info → Run anyway. - macOS:
DeepSeek-Bot-<version>-mac-arm64.zipfor an Apple chip,DeepSeek-Bot-<version>-mac-x64.zipfor Intel. Safari unzips it by itself; drag DeepSeek Bot into Applications and open it. When macOS says it cannot check the app, open System Settings → Privacy & Security and select Open Anyway.
At the first start the app asks where to keep its data and the Bots' files, and offers to copy a Bot team from your DSH (it only reads your DSH). Set up a model in its settings. The Windows app updates itself; the macOS app tells you when a new version is ready to download.
As a plugin in DSH
First install DSH and set up at least one model in it. DS Bot uses the models from DSH.
DSH Desktop (Windows, macOS)
- In the sidebar, select Plugins → Add plugin.
- In Package name or address, enter
ds-bot. In mainland China, set Registry to Mainland China mirror. - Select Install, then Enable now. If DSH says the change takes effect at the next start, quit DSH completely and open it again.
If npm is not reachable, in step 2 you can also enter the full path of ds-bot-0.2.0.tgz downloaded from Releases, or github:Fei2411/DeepSeek-Bot#v0.2.0&path:/ds-bot (needs Git).
DSH Web (Windows, macOS, Linux)
Needs Node.js 22.19 or later, and pnpm.
npx @deepseek-ai/dsh@0.2.1-rc.2 plugin --profile web add ds-bot
npx @deepseek-ai/dsh@0.2.1-rc.2 webDocker (NAS, Linux server)
The docker/ directory builds an image with DSH Web and DS Bot, for a NAS or any always-on machine. CI is configured to publish a prebuilt linux/amd64 image to GHCR. The container is the Bots' sandbox: they get full access to what you mount into it, and nothing else. See docker/README.md.
I strongly recommend that you set up your other bots and group chats by just talking to a bot.
You can do all your talking and work with one bot, in one window. You don't need to worry about the context behind it. The bot's details page shows its info, and there you can pick the model you want it to use. You can switch models at any time, but I still recommend that you keep one model for a bot for a long time, and switch only when you really need to.
Bots also have memory. A bot remembers what you like and uses it in later work. You can manage its memory on the bot's details page, or just tell the bot.
The main bot is your chief. It has very high rights: it manages the other bots and the group chats. The first time you open DS Bot, there is already a main bot called Chief. Talk to it, and it walks you through the setup.
In short: have a question? Ask the main bot.
DS Bot has group chats. A group chat is a great way to get several bots to work together, but it clearly costs more. So DS Bot does this: every group chat has an admin. The admin answers your messages by default and calls in the other bots for you. You can also @ a bot directly, and it answers you directly: type @ and pick the bot from the list. To give the bots another chat as context, use + → Reference a chat in the message box.
Any bot can hand work to another bot with @. That bot does the work on its own, and the group goes on. While it works, it keeps the group posted, and the group, the sidebar and its own chat show what it is doing. When it is done, it posts the result in the group, and the bot that asked for the work answers. To stop the work, open the group's details.
A group chat has its own memory. What you tell the group stays in the group: its members use it there, and your other chats and the bots outside the group do not see it. You can manage it in the group's details.
Settings → Capabilities is a shared library of MCP servers, skills and packs. Add a capability to a Bot in its settings; it is available from that Bot's next message in its own chat and group chats. A local MCP command that a Bot adds needs your approval before it can run. While other Bots use a capability, only you or a Main Bot can change or delete it.
In Settings → Usage, you can see token usage by time, by bot and by model.
All data stays on your own computer, in bot/ and sessions/ in the DSH home folder (~/.dsh by default). Uninstalling the plugin does not delete this data.
The plugin source is in ds-bot/. For options and internals, see ds-bot/README.md. For development, tests and how the team works, see CONTRIBUTING.md. For changes between versions, see CHANGELOG.md.
- DeepSeek Harness: DS Bot is built on the DSH plugin system. Every bot works in DSH sessions and uses the DSH tools and models.
- esbuild: bundles the plugin's interface code.
- Thanks to these projects for the ideas they published. DS Bot learned from their designs and does not contain their code:
- AgentMemoryRepo: the Markdown format of Bot memory.
- OpenAI Codex: checkpoints that keep the user's messages next to the summary, and message anchors for chat search.
- OpenMausBot: group chat rounds and @mention relays.
- Hermes Agent and Hermes Bot Mode: one session per member per group chat, and handoffs that carry the earlier user messages.
- OpenCode, goose, pi and Gemini CLI: when to condense a long chat, and what a handoff note holds.
- obelisk: chat search with a SQLite full-text index.
- Everyone who tries DS Bot, asks questions and reports bugs.
Apache License 2.0. Provided "as is", without any warranty. Third-party code and its license are listed in NOTICE.
DS Bot is an independent community project. It is not an official DeepSeek product, and it is not affiliated with, endorsed by or sponsored by DeepSeek. "DeepSeek", "DeepSeek Harness" and the other names are trademarks of their owners. They are used here only to say what this plugin works with.
Bots use your own model quota, and they read and write files and run commands when you ask them to. Check important actions yourself.



