dsh-bot: Resident Agent Entities That Live Outside Any Session in DeepSeek Harness

wqty123/dsh-bot

Tools & CapabilitiesVerified
Listed on 2026-10-01
Page last updated 2026-10-20

A resident agent entity plugin for DeepSeek Harness: bots that live outside any session, with editable .md memory files, a task queue, an approval gate and an optional background executor, exposed through 7 bot_* tools.

dsh-bot is a DSH plugin for DeepSeek Harness that provides resident agent entities, so a bot no longer belongs to a single conversation. Instances, memory and task queues all live under the bot directory in the DSH home, surviving closed sessions, context compaction and restarts, with every session reading and writing the same copy. Memory is an editable Markdown file tree, tasks pass an approval gate that pauses and shows the tool name with full arguments before touching anything outside the workspace, and an optional background executor plus an MCP client round it out.

How to Install

install
dsh plugin --profile web add github:wqty123/dsh-bot
Category
Tools & Capabilities
Platform
DSH Plugin
Author
wqty123
Distribution
Plugin

dsh-bot Key Features

Resident entity beyond sessionsEditable .md memory treeTask queue and approval gateSeven bot_* toolsMCP client and connectors
Listed on dsh-plugin.org

dsh-bot Repo Summary

What Does It Do?

It is a DSH plugin for DeepSeek Harness that provides resident agent entities: bots that live outside any session. It solves the problem that a session's context is temporary — instances, memory and task queues all live under the bot directory in the DSH home, so every session reads and writes the same copy. Its core capabilities are a Markdown memory tree you can open and edit, a task queue with an approval gate, an optional background executor, and an MCP client. It is maintained by wqty123, written in JavaScript, and the repository was created on 2026-09-30.

Core Features

  • Memory is files, not a vector store: memories live in a .md file tree under the bot directory, root files stay in context while subdirectories only contribute a name and one-line description, so editing one place changes every later conversation.
  • Every memory carries a source label: entries are marked user (the other party said it), agent (its own conclusion) or tool (read from a file or web page), and legacy data is read as agent by default as the more conservative choice.
  • Sensitive information passes two gates: a hard gate always refuses ID numbers, bank cards, passwords, keys and session tokens, while a soft gate excludes health, financial, legal and family matters by default and tags them as sensitive once enabled.
  • Approval is a first-class task state: when it needs to touch anything outside the workspace the task enters awaiting and shows the tool name with full arguments, so you approve one concrete action rather than a category, and a re-run after approval is not blocked again.
  • Autonomous time is reason-driven: it is off by default, and even when enabled it only acts on checkable conditions such as queued work, unanswered external messages or a due schedule, otherwise it reports being idle.
  • MCP is a client, not a hardcoded integration: the plugin ships no MCP servers, addresses or credentials, and once you enter a streamable HTTP address its tools become available, with a three-state indicator distinguishing tested-and-passing, tested-and-failing, and never-tested.

How to Use This Plugin?

After enabling it in DSH, a bot entry appears in the left sidebar; open it to create an instance by type — companion, assistant, researcher or recorder are built in, and you can define your own — or enter an existing one, then use the gear icon in the top right to manage memory, tasks, limits, connections, MCP servers, avatars and types. Once installed, the agent can call seven bot_ tools: bot_status for instances, heartbeat and queue, bot_remember to write a memory, bot_recall to search by word (Chinese is split into two-character units), bot_task to queue, schedule, loop or continue a task, bot_connector to speak outward through a user-configured connection, bot_secret to use a credential without putting its value into context, and bot_agenda to set a timed reminder. Each instance has one of three permission levels — read-only, full, or conversation-only — and autonomous time defaults to read-only, with the tool set following the permission level.

How to Troubleshoot This Plugin?

A task sitting in awaiting is not an error branch but a legitimate intermediate state: it means the instance wants to touch something outside the workspace and is waiting for your approval, with the tool name and full arguments shown in the interface; confirm or reject it as described in the official documentation. If autonomous time is enabled but nothing happens, check whether it reports that it has been idle long enough but found no qualifying reason — this is intentional, since it only advances when there is queued work, an unanswered external message or a due schedule. A grey dot next to an MCP server means it has never been tested, which differs from red (tested and failing); use the test button as described in the official documentation to confirm connectivity.

This page is an independent rewrite of the plugin's official README — for authoritative documentation and the latest changes, refer to the source: wqty123/dsh-bot. The plugin is third-party code that runs on your machine once installed; inclusion does not imply endorsement — please review the source before installing.

Install, update, and uninstall this plugin in the Plugin Market of DeepSeek Harness's DSH Plugin Hub

DSH Plugin FAQ