DeepSeek Harness plugin bot not replying: a trace guide

TroubleshootingPublished 2026-10-19Author: DeepSeek Plugin Market
DeepSeek HarnessDSH plugindsh botcallbackbridgeapproval gate
A dsh bot can show as delivered and still stay silent. Trace the DeepSeek Harness bridge, queue, approval gate and platform send path in order.

The platform says the message was delivered, and the bot says nothing, which is the most misleading state in a chat integration. A DeepSeek Harness plugin can acknowledge an event long before a reply exists, so delivery is not the same as handling. The trace below follows the message from the bridge to the queue, the approval gate and the final platform send.

What delivered means in a DeepSeek Harness plugin chat

Delivered means the platform accepted the event, not that the bot has read it.

A platform emits an event, the bridge receives it and converts it into a task, and the bot eventually produces a reply. Each step has its own receipt, and the only receipt the user sees is usually the first one. That is why a green delivery mark can coexist with complete silence downstream.

The DSH Plugin Hub is useful for identifying which bridge and bot entries are installed, because the evidence lives in different logs. A DeepSeek Harness plugin often acknowledges the platform immediately to avoid retries, which makes the handoff look successful. The acknowledgement says the event arrived, not that a model was called or that a response was generated. Treating the two as equivalent sends the investigation in the wrong direction from the start.

The practical question is where the chain stops. If the bridge never logged an inbound event, the problem is before the bot. If the bridge logged the event but the task never left the queue, the problem is scheduling or capacity. If the bot produced output but the platform shows nothing, the return path is the place to look.

Tracing the bridge for a silent DSH plugin bot

The bridge is the first place where silence becomes visible, because it sits between the platform and the bot.

Check whether the process is running and whether it started with the client rather than in a separate terminal that was closed. A bridge that stops after acknowledging an event leaves the platform satisfied and the bot uninformed. The log should show an inbound record with the same message identifier the platform reported.

Signature and subscription problems look identical from the outside. A rejected signature usually appears as an error in the bridge log, while a missing subscription simply produces no event at all. Version compatibility matters as well, because an updated platform may send fields an older bridge does not parse. Recording the bridge version next to the test message prevents a long detour later.

A restart is a useful experiment only when it preserves evidence. Restart the bridge, send one message and capture the full log chain from inbound to outbound before changing anything else. If the chain completes, the original failure was likely a stopped process or a dropped connection. If the chain stops at the same point, the restart ruled out a transient state and narrowed the fault.

The queue that keeps a DeepSeek Harness bot quiet

A queued message is not a lost message, but it can look like one when the queue stops moving.

The bot runtime may accept a task and place it behind long-running work, a concurrency limit or a retry loop. In that state the bridge has done its job, the platform has delivered, and nothing visible happens. Queue depth and task state are therefore the second piece of evidence to collect.

Head-of-line blocking is the usual cause. One slow task holds the worker, and every later message waits even though each one is individually fine. A retry loop makes it worse, because the same failing task returns to the front and consumes the capacity again. If the queue depth grows while the completed count stays flat, this pattern is likely.

Ordering rules can also hide progress. A conversation that expects strict order may wait for an earlier message that was never processed, which stalls everything behind it. The log will show the blocked task rather than a general outage. Resolving or cancelling the blocking task is often enough to release the rest.

Queue behavior should be observed rather than assumed. A short test with two messages, one slow and one fast, reveals whether the runtime processes them concurrently or strictly in order. That knowledge determines whether a backlog is a capacity problem or an ordering problem. Without it, adding workers may not help and may even break the expected sequence.

Approval gates inside a DeepSeek Harness plugin run

An approval gate is not a failure, it is the runtime asking for permission before an out-of-bounds action.

The bot may have understood the message and prepared a tool call that writes outside the workspace, starts a subprocess or touches a protected resource. Instead of executing, it pauses and waits for a decision. From the chat window that pause looks exactly like a bot that never replied.

The prompt usually names the tool and its arguments. Reading both is the fastest way to decide whether the action is legitimate or a sign that the request was misinterpreted. Approving blindly defeats the gate, while denying without reading may hide a configuration problem. The right response is either to authorize the specific action or to narrow the request so it stays inside the intended boundary.

Timeouts complicate the picture. A gate that waits indefinitely can hold a task open until something else cancels it, and the cancellation may appear as a generic error. A gate with a short timeout may expire before anyone sees the prompt. Both cases leave a record, but the record is in the approval or task log rather than in the chat.

Checking the platform send path for DSH plugins

The return trip is a separate integration, so a bot that answered internally can still fail to reach the chat.

The bridge must authenticate, address the correct conversation and respect the platform's size and rate limits. A token that expired during a long task is a common cause of a reply that exists only in the log. The outbound record can be present while the platform rejects it. A short diagnostic sequence keeps the layers from blurring together.

  1. Confirm the platform event exists and carries the message identifier you are tracing.
  2. Confirm the bridge logged an inbound event for that identifier.
  3. Confirm the bot task moved past the queued state.
  4. Check for a pending approval prompt tied to the task.
  5. Confirm the bot produced an outbound payload.
  6. Check the bridge send log for authentication, rate-limit or size errors.
  7. Compare the conversation identifier and permissions with a working chat.

The sequence is deliberately ordered from the platform inward and then back out. Skipping to the prompt or reinstalling the plugin destroys the evidence that would identify the broken hop. One message identifier carried through every log is worth more than a dozen configuration changes. DSH plugins that preserve that identifier across bridge, queue and send make this kind of silence diagnosable in minutes rather than hours.

FAQ

A DeepSeek Harness dsh bot does not reply. Should I check callbacks or bot settings first?

Check whether the DeepSeek Harness platform callback delivers events before changing dsh bot settings. If no event reaches the bridge, bot configuration cannot fix the silence.

What happens when the DeepSeek Harness message bridge is not running?

When the DeepSeek Harness message bridge is not running, the platform may report a successful send while the bot receives nothing. The result is a delivered message with no reply.

A DeepSeek Harness dsh bot waits for confirmation. Is that a failure?

A DeepSeek Harness dsh bot waiting for confirmation is usually an approval gate, not a failure. Read the tool and its arguments before changing any configuration.

If the DeepSeek Harness callback signature fails, will the dsh bot reply?

If the DeepSeek Harness callback signature fails, the dsh bot will not reply because the event is rejected at the bridge. The bridge log usually records the signature error.

How do I tell whether the DeepSeek Harness dsh bot missed a message?

Compare the DeepSeek Harness dsh bot bridge log with the bot task log to see where the message stopped. Inbound without output points to the bot, while no inbound points to the platform or bridge.

Related Terms

dsh bot (resident entity)
A dsh bot is a DeepSeek Harness agent entity that persists across sessions and handles messages, tasks and memory. It does not connect to a platform directly.— https://dsh-plugin.org/zh/plugins/wqty123/dsh-bot
callback (platform event push)
A callback is how a platform pushes events to a bridge URL, requiring reachability and signature verification. Without it the bot receives nothing.— https://dsh-plugin.org/zh/plugins/wz-heng/dsh-feishu-bridge
bridge process (adapter runtime)
The bridge process runs the message bridge DSH plugin, receiving, converting and returning messages. If it stops, the chain breaks in the middle.— https://dsh-plugin.org/zh/plugins/wz-heng/dsh-feishu-bridge
approval gate (confirmation stop)
The approval gate pauses an out-of-bounds bot action and shows the tool and arguments. It looks like silence but is waiting for a decision.— https://deepseek-harness.github.io/deepseek-harness/develop/framework/

Sources