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.

Channel Core — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
C

dsh-channel-core

Channel Core

A single plugin for unified management of Discord and Feishu channels, session bindings, message delivery, and progress cards.

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

npx -y @deepseek-ai/dsh plugin --profile web add github:Kerberos255/dsh-channel-core#5cd5e6883ebdbbb95c5acbf4974c200c1b0ffe85
READMECompatibilityVersions

Compatibility and provenance

Channel Core is published as dsh-channel-core and currently resolves to version 0.4.62. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
10/16/2026

Versions

0.4.62stable
10/16/2026
0.4.57stable
10/13/2026
0.4.54stable
10/13/2026
Show 10 more versionsCollapse versions
0.4.51stable
10/12/2026
0.4.50stable
10/12/2026
0.4.49stable
10/12/2026
0.4.48stable
10/12/2026
0.4.46stable
10/11/2026
0.4.35stable
10/11/2026
0.4.34stable
10/10/2026
0.4.13stable
10/9/2026
0.4.6stable
10/8/2026
0.4.4stable
10/8/2026

Related plugins

Loading related plugins…

Latest
0.4.62
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
10/16/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.

Im@xmanrui/dsh-im把微信、飞书、企微、钉钉、QQ、Telegram、WhatsApp、Slack、Discord、Matrix接入DSH。 Connect Telegram, WhatsApp, Slack, Discord, Matrix, WeChat, Feishu, WeCom, DingTalk, and QQ to DSH.Free Searchdsh-free-searchFree web search for DeepSeek Harness: 24 engines (Bing/DuckDuckGo/AnySearch/SearXNG/Exa/Tavily/Keenable/Firecrawl/Parallel keyless; Zhihu global/site via MCP and Perplexity/SerpBase/DeepSeek/You.com/Baidu/Kimi/Aliyun/Doubao with key; OpenAI/Gemini/Claude Dafeiyudsh-dafeiyuA desktop-native BigFish companion driven by DeepSeek Harness session events.Wechat Plugindsh-wechat-pluginWeChat channel for DeepSeek Harness: lock the PC, walk away, and drive the agent from your phone. No OpenClaw and no public IP required.

README

Channel Core for DeepSeek Harness

简体中文 · DeepSeek Harness · Security

One plugin for Discord and Feishu/Lark channels, with shared session routing, verified owner identity, reliable message delivery, and progress/status integration.

Features

  • Discord and Feishu adapters live in the same package with independent credentials and connection lifecycles.
  • Map verified direct messages from the same owner to a shared native DSH session when explicitly configured.
  • Durable inbound receipts, serialized session admission, and native steer/queue/interrupt handling avoid replaying messages.
  • Native Ask User interactions and progress/status integration preserve conversational continuity.
  • Owner verification guards personal-memory access and cross-channel session transitions.

Proactive outbound messaging

Channel Core supports agent-initiated outbound messages without a preceding inbound message. The channel_send tool can send a text message from the current native DSH session to its already bound and currently authorized Feishu or Discord conversation. The host/plugin API ctx.channelCore.sendToBoundSession({ sessionId, text, idempotencyKey, bindingId?, source? }) allows trusted schedulers and other integrations to send the same way; outboundTargets(sessionId) lists eligible binding IDs without exposing destination identifiers.

  • Scope: A session can send only to its own eligible bindings. Multiple bindings require an explicit bindingId; arbitrary recipient IDs and cross-session delivery are not accepted. Group allowlists and current DM/owner permission are checked again on send.
  • Delivery: Uses the existing durable outbox and platform send adapters, with state pending, sent, failed, or uncertain. Reusing a stable idempotency key does not send the same message twice. A potentially delivered but unacknowledged message is not blindly retried.
  • Automation: Jobs can call channel_send after creating a report (e.g. a scheduled financial report), or trusted plugins can call sendToBoundSession directly. This does not automatically broadcast every scheduled result, and it does not grant an agent permission to send to arbitrary accounts.
  • Testing: npm test runs dependency-free public regressions. npm run test:host runs the broader integration suite inside a configured DSH developer environment with host peer dependencies. Live Feishu/Discord delivery has been separately exercised locally; CI cannot verify third-party credentials.

Streaming, Ask User and commands

Discord streams thinking, draft and tool activity in a rolling progress message. Committed interim text can appear as a native blockquote in the completed message, separate from the final answer; unpublished/private reasoning is not promoted to public draft text. Live previews show 📝 without artificial section names.

Feishu supports CardKit component streaming with an IM-card fallback. Draft and thinking have independent visibility switches; disabling thinking does not hide public draft text. Completed turns may retain a collapsed 📝 过程记录 panel when enabled. Refresh limits and optional runtime footers are channel-specific.

On both channels, a submitted Ask User question becomes a read-only receipt of the question and selected or custom answer, with interactive controls removed. Previously committed context remains visible and is not re-sent as a duplicate answer.

Discord uses flat /new, /stop, /status, /session, /answer, /prompt, /model, /think commands. Feishu supports text /new, /stop, /status, /session, /answer, /model, /think. Model selection is constrained to available models and takes effect from the next turn; ambiguous provider selections present candidates.

Install

Requires a compatible DSH host with the peer services in package.json, and credentials for each channel you choose to enable.

dsh plugin --profile desktop add github:Kerberos255/dsh-channel-core

Use your DSH profile name. Pin an installation to a Git commit if reproducibility is required. Restart DSH after installing or updating code.

Quick start

  1. Open Settings → Plugins → Channels & Sessions.
  2. Configure the Discord and/or Feishu tab, platform credentials, and allowed users/channels. A valid connection alone does not authorize message delivery.
  3. Review the owner-identification mode in each channel. Automatic first-DM owner claim occurs only after the incoming message passes channel allow rules; manual owner selection is available.
  4. Optional: link owner accounts when you want the same live DSH session across channels. Sharing verified long-term memory does not require sharing a session.
  5. Send a test DM and check the bound workspace, session, and progress output.

Security and operational boundaries

A channel owner is verified per bot account; group conversations and unverified users must not inherit personal-memory authority. Session mapping decisions are audited and cannot silently reuse sessions from another workspace. The native Host manages agent execution, cancellations, jobs, and saved histories. The plugin keeps independent delivery and receipt state, not a second model engine.

Settings and channel files are local to DSH; do not upload credentials, binding databases, or historical messages. Source template: config.example.json.

Testing and related projects

Run npm test for portable regressions. A green CI run does not prove live Discord, Feishu, or network authentication. Verify actual bot delivery and UI interactions in your own host.

Related: Status Cards · Dream & Memory · Lossless Context.

MIT licensed. See LICENSE. Historical release notes: CHANGELOG.md.

Optional task notifications

Channel Core's General & Sessions → Task notifications option is off by default. Enabling it reveals a notification-channel selector (None, Feishu, or Discord), limited to channels enabled and configured in the current host. A failed scheduled task may send a brief alert to the verified owner's DM, never to an arbitrary chat. Recipient resolution follows the current authorized channel binding, rather than storing a Session ID, so normal /new and archived-session handoffs do not require reconfiguration. If there is no uniquely authorized owner destination, nothing is sent. Alert delivery uses the existing durable channel queue and stable idempotency keys; an unavailable host cannot guarantee alerts during downtime.

Other plugins remain independent: they can optionally emit dsh/task-alert with a trusted task identifier, task kind, source and terminal state after persisting the failure. Channel Core handles selection, authorization, and delivery. Dream emits this event only on a scheduled workflow's first transition to failed; manual runs and successful/empty runs remain silent. Payloads exclude private conversation text, model errors and memory artifacts. No channel plugin is required to run Dream.