dsh-seeker-bot: A DSH conversation enhancement suite that lays bare the AI's actions

Foreword

The default conversation interface of DeepSeek Harness (DSH) consists of just an input box and a scrollbar: the model’s thoughts, the tools invoked, and the files produced are all crammed into the same timeline. To understand what is happening, you have to scroll through the tool logs. Installing a bunch of third-party memory, archive, and skill plugins often results in a disjointed experience, with the sidebar getting longer and longer.

Below is an introduction to kr-atg/dsh-seeker-bot. This plugin (categorized under “Workflows” in the directory) does the same thing: it separates the execution process from the dialogue flow, provides you with a right-column dashboard, and gathers scattered components like memory, archives, and skills into a row of workspaces. The maintainer is Kr-ATG, the license is MIT, and the entry can be found on the SkillHub directory page and the GitHub repository.

What is it

A one-sentence definition: dsh-seeker-bot is a DSH conversation experience enhancement kit. It includes the Seeker dual-column execution dashboard, interactive cards within the main text, Bot teams / group chats / voice calls, and workbenches for memory, archives, and skills.

The original text in the README says: “Show ‘what AI is doing’ clearly,” and gathers scattered elements like memory, archives, and skills into a row of workspaces. The problems it addresses are listed clearly: wanting to know what AI did without reading a screen full of tool logs; wanting the model to give you something clickable instead of just text; wanting the model to draw architecture diagrams / flowcharts; wanting to use it as a team; and wanting your data (archives, memories, keys) on your own machine to stay on your own machine.

Repository facts (based on GitHub API and package.json):

  • Package name dsh-seeker-bot, current package.json version 0.2.2; repository default branch master, primary language JavaScript.
  • License MIT, repository created on 2026-10-31, as of writing stars and forks are both 0.
  • Plugin declaration dsh.bundle.patch, therefore it is automatically mounted to the profile’s bundles layer after dsh plugin ... add, and no manual configuration changes are required.

The README explicitly states “Zero DSH source code changes”: all capabilities are injected via Cordis plugins, so it won’t move even if the official version upgrades. The hard conclusion in ARCHITECTURE.md is that dsh.bundle.patch is the only switch for automatic mounting—dependencies without dsh.bundle will be treated as regular dependencies and will only warn, not load. Before installing, you can first check this section to confirm this is a plugin and not a manually edited profile.

Installation and Enablement

The installation command given in the README is just one line. Note the --profile web syntax; do not manually concatenate dsh plugin add github:owner/repo:

dsh plugin --profile web add github:Kr-ATG/dsh-seeker-bot

After installation, restart DSH. This package declares dsh.bundle.patch, so dsh plugin add will automatically add it to the profile’s bundles layer, and no manual modification of configuration files is needed.

If you are modifying this repository locally, docs/INSTALL-TROUBLESHOOTING.md provides the official link installation method (using the link: prefix), rather than manually creating Junctions or inserting patch lines into the profile:

dsh plugin --profile web add link:D:/AI/dsh-seeker-bot

Uninstall and rollback are also one command:

dsh plugin --profile web remove dsh-seeker-bot

There are several pitfalls regarding installation and restarts emphasized repeatedly in the documentation: do not use scheduled scripts to kill the current DSH process (typical writing like Start-Sleep -Seconds 5; Stop-Process -Name node -Force will kill both the current host and the installation script, leaving a half-profile or lock file residue); also, do not manually edit the profile, manually creating Junctions can lead to missing bundle lines, double registration of patches, and residual old plugins. Additionally, --from-default-profile replaces a profile with the same name and can only be executed in an isolated DSH_HOME. See docs/INSTALL-TROUBLESHOOTING.md for the full text.

When upgrading, note that if pnpm deletes more than the threshold in one round, it will report SAFE_DELETE_BULK_CONFIRM_REQUIRED. Remove and add must be done in two rounds:

dsh plugin --profile web remove dsh-seeker-bot
dsh plugin --profile web add dsh-seeker-bot

Core Capability 1: Seeker Dual-Column Execution Dashboard

There is an extra “Seeker” tab in the session header tabs, alongside the official “Conversation / Trace”. After clicking in, the underlying layer is still the official ChatView (multi-round history, virtual scrolling, Markdown, input box all intact), with an extra execution dashboard on the right:

  • The left column only retains a status line: avatar + “Seeker is…” + three dots at the end + time elapsed; tool details are no longer piled up here.
  • The right column has five fixed cards: Sub-agent, Control Panel, Task, Output, Memory. The sub-agent card has a fixed 5-line window (card height is independent of content, extra lines scroll within the window), so the “Control Panel” right below it stays in the same position—whether there are more or fewer sub-agents won’t push it away; when there are no sub-agents, the entire card is invisible but the placeholder is retained.
  • The “Control Panel” in the right column converts tool calls into Chinese natural language: it displays “View file KrAgentPanel.tsx” instead of read_file(path=…).
  • The “Thinking Process” in the left column is attached to the dialogue flow; it expands during execution and automatically collapses back to one line; the “Memory” card in the right column is pinned to the bottom and is collapsed by default.

The entry to switch turns is a right-click on the message you sent yourself; the right-column dashboard switches to the corresponding turn; left-click maintains normal text selection and copying and does not trigger the dashboard.

To the right of the “Seeker” tab is a gear button. Clicking it pops up a settings card in the center of the viewport, divided into four groups: “Prompt Channel” (4 lines: interactive cards in conversation / team collaboration / forced loading of effect skills / ELI5 explanation), “Task List” (2 lines: task list discipline / auto-collapse at round end), “Display” (3 lines: summary card frame / tool call card / auto-translate thinking), and the full-width “Workspace Memory” at the bottom. The gear and card are linked (click to close, Esc to close, click mask to close), changes take effect immediately and persist after refresh.

Worth mentioning separately is “Workspace Memory”: it lists all workspaces on the local machine, with two switches for each workspace—Record (whether to accumulate new memory in this workspace; after turning it off, it will no longer be automatically extracted, and the model cannot manually remember) and Don’t Inject (whether to read existing memory into its conversation). The two things are semantically opposite and do not affect each other: turning off “Record” does not affect existing memory being injected as usual, and turning on “Don’t Inject” does not affect continuing to accumulate memory.

The README also records a compatibility detail: DSH 0.2.1-rc.3 wraps the tab line with an extra .tabs container, and old rules targeting the inner tablist will push the title to the far right; the plugin added rules for the new structure, distinguishing the two versions’ selectors with :not([role='tablist']), so both rc.2 and rc.3 display normally. The DSH version badge at the top of the README is marked 0.2.1-rc.2+.

Core Capability 2: Cards in the Body

The characteristics of these capabilities are that they do not require extra configuration; you can just write fences or send commands directly in the conversation.

HTML Sandbox Card (Can run real HTML/JS): Write a ```html fence in the main text, and the card will render in the dialogue flow. The way to draw architecture diagrams / flowcharts / sequence diagrams is to hand-write inline SVG, which also uses this fence. Wanting it to give you a clickable mini-tool / visualization / demo page also follows this path.

iu Native Interactive Card: Sending /iu at the beginning of the input box brings out a real control rather than text, including types like sliders / tables / lists / kanban / weather / quotes / links (the table on the README homepage writes “Total 15 types”; docs/ARCHITECTURE.md under the directory writes “12 kinds”, the two sources are inconsistent, so the actual available types take precedence). The purpose is to quickly get values for conversion / comparison / lists, not long-winded text.

Inline SVG: Hand-written inline SVG renders directly in the dialogue flow without an external rendering service.

@ Window Picker: Typing @ in the input box allows you to pick the currently running program windows, the purpose is to let the AI know “what I currently have open”.

Multi-message (Multiple messages in one turn): The Bot reports in segments like a colleague, instead of holding back a large paragraph: each message has its own bubble; risk / pending decision / pending approval are each a card. Corresponds to multi-message and approval cards in the documentation.

Conversation Completion Capsule: After running, a small horizontal bar in the bottom left corner / top floating prompt appears; clicking it returns to that session.

Message Recall: There is a ↶ Recall button next to the user message; the effect is to revert the conversation to before that message: project files remain unchanged by default, attachments are restored to the input box. The description in package.json is “Conversation Recall (reverts files and conversation together, including version paging)”.

Web Search Fallback Chain: When the search quota is full, it automatically switches to another provider to continue searching. The chain is AnySearch → Tavily → DeepSeek.

Core Capability 3: Personal Agent (Bot Mode)

At the top of the sidebar is a Work / Bot toggle. Switching to Bot enables the Personal Agent: main Bot + sub-Bot + group chat + diary + voice calls. The description of group chat in the README is “members can actually see each other’s context,” not just talking at cross-purposes.

Several reproducible operations:

  • The Bot gets to work on its own at the appointed time without needing to keep the page open: the “Routine Tasks / Proactive Questions” in the right column execute in the host’s persistent process.
  • Segmented reporting: see the multi-message in the previous section.
  • One-click start / hang up Bot voice call (global hotkey): Official Settings → General → Shortcuts → “Voice Call (Start / Hang up)”, default Ctrl+Alt+V; it can be pressed even when the window under the desktop shell has no focus, calling the Bot interface where the call is initiated.

Memory is isolated by owner; Bots do not interfere with each other. This is the same storage as the memory in the workbench below.

Core Capability 4: Memory, Archive, Skills, and other Workbenches

There is a section called “Six Workbenches” in the README’s directory, and the package.json description writes “Vendor Center, Memory/Skills/Connectors/Gallery/Archives seven workbenches,” the two sources are inconsistent, and the actual sidebar takes precedence. The ones explicitly named in the README homepage table include:

  • Memory: Makes the AI remember your preferences and identity, isolated by owner.
  • Archive: Stores account passwords / cards / ID photos, and must be automatically brought into context. The security section in ARCHITECTURE.md writes that sensitive values are encrypted on disk (AES-GCM), the list interface returns masked values, and plaintext is only retrieved for a single field when the user actively views it.
  • Archive → File Area: Stores Clash subscriptions / config files / certificates, uploaded for cloud sync, so they won’t be lost when switching machines.
  • Skills, Connectors (MCP), Gallery: Skills and connectors are collected in the form of workbenches.
  • Sync Settings: Check the assets you want to roam (Memory / Archive / Skills / MCP / Vendor & Keys / Real-time Voice Live Vendor), encrypt them on the client side and push them to your own private GitHub repository, so they follow you after switching machines.
  • Vendor: The vendor center in the official settings popup, used to manage API Keys / Proxies / Image generation models.

Regarding security boundaries, ARCHITECTURE.md lists: reusing the host web session cookie for routing, validating Origin for write operations; files only accept relative paths within the workspace, doing prefix validation after resolve to prevent path traversal; approvals reuse dsh-user-approval, the plugin does not build its own approval channel; text written into system prompts is strictly limited in length and normalized with line breaks.

The sidebar layer does “Workspace ⇄ Operations” switching, with six workbench entries plus the MCP capsule at the bottom of the sidebar (clicking it pops up the connector popup).

Typical Usage

The following are usage scenarios mentioned in the README or documentation; after installation, you can follow them.

  1. View the execution process. Switch to the “Seeker” tab in the session header; keep the left column for dialogue and the right column to view the sub-agent / control panel / task / outputs / memory. To draw a diagram, ask it to provide inline SVG within a ```html fence; to have it report in segments, ask it to output multiple messages per turn.

  2. Get a usable thing in one go. In the conversation, ask it to provide a /iu card for a certain conversion / comparison / list; when you need “a clickable mini-tool / demo page,” ask it to use an HTML card, and confirm that JS can run inside the card.

  3. Let the AI remember you. In the memory workspace, record preferences and identity by owner; Bots are isolated by owner. If you don’t want a certain workspace to continue accumulating memory, or don’t want existing memory to be read into its conversation, simply toggle the switches separately in the workspace memory list in the Seeker dashboard settings.

  4. Archive. In the archive workspace, store account passwords / ID photos, confirming client-side encryption; when you need to cross machines, check the box in sync settings to let assets follow.

  5. Form a team. Switch the sidebar to Bot, create a main Bot + sub-Bot, and use group chat so they can see each other’s context; use routine tasks / proactive questions so it works on its own at the appointed time; use the global shortcut Ctrl+Alt+V to call one-click.

  6. Recall this turn. To invalidate a certain turn, click the ↶ Recall next to that user message: the conversation reverts to before that message, project files remain unchanged by default, and attachments are restored to the input box.

Applicable Scenarios and Notes

The people who fit this description, read the four points listed in the README: those already using DSH but feel the official interface is not enough; those who need a Chinese interface + Chinese natural language execution process feedback; those who want to use AI as a team (multi-Bot collaboration, group chats, scheduled work, voice calls); those who care about archives, memories, and keys all being stored and encrypted on the client side.

A few points need to be clarified first:

  • Permission Boundaries: The plugin injects into the current DSH process and runs with that process’s identity and permissions, able to access files and workspaces on the same machine. Before installing, treat it as “accepting a remote dependency with code,” first check the repository source code and license (this project is MIT), then decide whether to apply it to the real profile.
  • The project is early stage: The repository was created on 2026-10-31, and as of writing stars and forks are both 0. The functional surface is broad (Seeker, cards, Bot, workbenches, sync), but there are also inconsistencies in the README and documentation (e.g., number of workbenches, number of iu card types), so the actual interface takes precedence.
  • The cost of wrong installation: The documentation records a real incident—an old client version performed mode switching + list re-rendering inside a hand-written MutationObserver, triggering a “Rebuild → Change → Rebuild” infinite loop; the server was completely normal but the page became unresponsive after 15 seconds. The key to fixing this is to only perform idempotent outer reconciliation and not rebuild the DOM structure, and compare before writing to DOM. So after installation, please verify “the page is not frozen” according to the documentation, not just checking if the service returns 200.
  • Do not install manually: The README and troubleshooting documentation both explicitly state not to manually edit the profile, not to create Junctions, and not to use scheduled kill restarts.
  • Version surface: The difference in tab structure between DSH 0.2.1-rc.2 / rc.3 has been handled in the plugin; after upgrading DSH, prioritize checking if the Seeker tab position is normal.

For the complete installation / rollback flow, isolation verification scripts (scripts/verify-install.mjs, scripts/test-bot-install.mjs, scripts/smoke-host.mjs), and post-mortem of issues, see docs/INSTALL-TROUBLESHOOTING.md; for technical architecture, see docs/ARCHITECTURE.md.

Conclusion

The value of dsh-seeker-bot lies not in how many features it adds, but in how it consolidates the scattered elements in DSH into a set of entry points: the execution process goes to the right-column dashboard, interactive results go to the main text cards, preferences and credentials go to the workbench, and multi-Bot collaboration goes to Bot mode. Installation is one command, and uninstallation is also one command, without involving DSH source code changes.

Direct entry: SkillHub directory page https://www.skillhub.cn/plugins/Kr-ATG/dsh-seeker-bot , repository https://github.com/Kr-ATG/dsh-seeker-bot .

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye