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.

Onebot Hub — DSH Plugin for DeepSeek Harness
← Plugins
O

dsh-onebot-hub

Onebot Hub

OneBot v11 hub for DeepSeek Harness: connects to an upstream OneBot v11 implementation (forward WebSocket client) and serves/dials downstream bot implementations with the same protocol, relaying events and actions verbatim so DSH can observe every message and learn how each downstream bot is used.

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

npx -y @deepseek-ai/dsh plugin --profile web add github:Funny1Potato/dsh-onebot-hub#718087d29a120ab62a78af74750e93b039af4410
READMECompatibilityVersions

Compatibility and provenance

Onebot Hub is published as dsh-onebot-hub and currently resolves to version 0.1.6. 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/14/2026

Versions

0.1.6stable
10/14/2026
0.1.5stable
10/13/2026
0.1.4stable
10/12/2026
Show 4 more versionsCollapse versions
0.1.3stable
10/10/2026
0.1.2stable
10/10/2026
0.1.1stable
10/10/2026
0.1.0stable
10/9/2026

Related plugins

Loading related plugins…

Latest
0.1.6
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
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in

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

dsh-onebot-hub

English | 中文

把 DeepSeek Harness 接到 OneBot v11(QQ)上:DSH 既是下游 bot 的协议上游,也是群里的一个 bot。

English

A DeepSeek Harness plugin that puts DSH on an OneBot v11 bus (QQ: NapCat / LLOneBot / Lagrange up top, any number of NoneBot or other OneBot implementations below).

  • Upstream — dials or listens for the real implementation, so the agent sees every event and has every action available.
  • Downstream — serves or dials downstream links and relays events verbatim, so existing bot plugins keep working unchanged.
  • Observer — a full timeline of every message plus a ledger of what each downstream bot did, exposed to the agent as 28 onebot_* tools.

Install, configure and behavior notes are in Chinese below.

它做什么

  • 当上游:用 OneBot v11 连上真正的 QQ 实现端(NapCat / LLOneBot / go-cqhttp…),事件原样收发,不合成、不改写。
  • 当下游:用同一套协议服务下游 bot(也可以主动拨号下游),把用户消息原样交给它们,同时看清它们调用了哪些 action、回了什么。
  • 当群友:agent 有自己的唤醒逻辑,知道所有会话和历史,会记人、认人、会翻旧账。
  • 留证据:全量消息时间线、下游 action 台账、原始报文与媒体都有保留(默认 7 天),排查问题用工具查,不靠猜。

安装

插件是纯 ESM、无构建步骤,运行时只依赖 ws。DSH 用 pnpm add 把它装进 profile,Git 源直接可用:

cd ~/.dsh/profiles/<你的 profile>
pnpm add github:Funny1Potato/dsh-onebot-hub

再往该 profile 的 cordis.patch.yml 追加(不要动已有条目):

- insert:
  - id: onebot-hub
    name: 'dsh-onebot-hub'

然后重启 DSH(或直接在设置页 →「OneBot 枢纽」里配置并保存,效果与手改配置后重挂一致)。

最少要配的两项

键说明
upstreamListen推荐。让实现端反连 hub(例 127.0.0.1:8765/onebot/v11/ws),不用在 hub 上填上游地址。与 upstreamUrl 二选一
downstreamTargets下游列表,JSON 数组。支持四种连接方式(ws-dial / ws-listen / http-api / http-post),可多条,设置页有行编辑器

只想自己用、不接下游 bot:downstreamTargets 留空即可。

常用配置

完整配置项(137 项,每一项的作用与默认值)见 docs/config.md——设置页里每个字段的中文名与说明也在那里,二者由测试对账、不会各说各话。下面是真正需要你手动改的那些:

键什么时候改
agent.groups / agent.privates白名单。写了的群/QQ 才调模型,没写的连 @ 都不理;两张都不写 = 不过滤。条目可带 mode(observer 只看不答)
agent.mode平时是 assist(被叫到才醒、参与完自己睡回去),active 更活跃。名单里的某一类会话可在条目上单独覆盖
chatCommands.superUsers谁能用那 12 条管理命令(help status memes perm…,前缀见 chatCommands.prefix)。留空 = 整条命令链沉默(不猜谁是管理员)
probe.isolation测试用命令时注入给下游的账号:link(默认,另开一个探针账号,真人消息进不去)或 time
vision.mode看图方式:describe(把图交给视觉模型写成人话,默认)/ segment(把图本身给模型)/ off
persona.presets群里的角色设定(名字、性格、说话风格),可按群名套用
memes.enabled表情包库;收哪张由 agent 自己决定,memes.maxSend 限一次最多发几张
imageGen.enabled让 agent 自己生图(默认关,填 model/baseUrl/apiKey 才开)
code.scopes下游 bot 的源码目录。地址不写进 prompt,agent 需要时调 onebot_code_scopes 取位置,读文件用它自带的 read/grep
memory.isolation.level记忆隔离:strict(跨会话一律不可见)/ scoped / balanced(默认)
memory.peopleRoster上下文里【本群认识的人】最多列几个(默认 20,按最近露面排序;0=整段不注入,细节仍可用 onebot_person 现查)
agent.speakAssistantText默认 false:普通回复文本只是内部草稿,只有 onebot_reply 会真的发进聊天
retention.days原始报文与媒体保留天数(默认 7)
agent.replyGapMs / agent.replyMaxText / agent.replyMaxImages一次回复发多条时的间隔(默认 400ms)、文字条数上限(默认 3,图另算)、图片上限(默认 9)

聊天里的命令(12 条)

只有 chatCommands.superUsers 里的账号能用(留空 = 整条命令链沉默)。别人敲同样的字,枢纽一声不吭——回一句"你没权限"等于告诉全群这里有个能管事的 bot。

下表省略前缀:前缀由 chatCommands.prefix 定(默认 /)。配成 ! 就敲 !help,配成 。 就敲 。help——命令名本身不变,前缀换成什么都能用。

命令别名作用
help帮助 ?列出这 12 条
status状态链路、模式、时间线、运行时长、人设、表情包一屏概览
presetspreset 预设列出可用人设预设(→ 表示本会话在用)
set_preset <预设名>set_presets 设置预设把本会话切到某个预设
set_role <名字> <设定>设置角色临时给本会话换个角色名和设定
preset_role <设定>设置设定只改设定,不改角色名
memes | memes del <id>表情包 meme看最近 10 个;del 删掉某个
reload_meme重载表情包从磁盘重读一遍表情包索引
perm [预设名]permission 权限看 / 换本会话 agent 的权限预设(只管本次激活)
model [provider/model|编号|default]模型 聊天模型看 / 换本会话的聊天模型
vmodel [provider/model|编号|default]视觉模型 识图模型看 / 换本会话的识图模型
reset重置本会话的人设绑定与模型选择回初始(不动长期记忆)

三条要知道的语义:

  1. 命令不吞消息。命中之后消息照常转发给下游、照常给模型看,只跳过"喂模型"这一步——枢纽已经用同一个账号答过这句话了。
  2. 前缀撞车 = 两个都触发,不是谁先谁赢。下游也有同名命令就各回各的;想让枢纽别管某一条,加绕开前缀 chatCommands.bypassPrefix(默认 !!),比如默认配置下敲 !!/help。
  3. 只在开头认前缀:你好 /status 是聊天,不是命令(默认前缀下)。回话超 chatCommands.maxReplyChars(默认 800 字)会截断。

perm 改的是本次唤醒那个 agent 会话的权限,下一次唤醒自动回部署默认——一次授权一次用。

使用前要知道的行为

  1. 默认很安静:群里没人叫它,它不会插话。被 @、被引用、或者私聊发消息时才会醒;激活一会儿没人理就自己睡回去。
  2. 发言只有一条出口:agent 写在普通回复里的字不会发进 QQ,只有调 onebot_reply 才会发。判断不该说话时它可以不调(沉默是正常手段)。
  3. 下游应答过就不插话:下游 bot 刚回过,agent 不会再凑一句(防复读)。
  4. 一次调用可以发多条:onebot_reply 的文字里空行断条、每张图各成一条、连续的 @ 与文字合成一条;超过上限的部分会被如实告知。
  5. 记东西是有边界的:它会记住人、群、承诺与话题,但隔离等级决定跨会话能不能看见(默认 balanced:同群可见,私聊内容不进群上下文)。
  6. 测试下游用探针:排查/试探下游插件时注入的消息走另一个账号,真人在群里说的话不会串进去。
  7. 超管给的权限只管这一次:管理命令里的 perm(前缀见上面那节)改的是本次激活那个 agent 会话的权限;下一次唤醒是全新会话、自动回到部署默认——一次授权一次用。权限不够时它会在群里说清缺什么、要它干什么,请超管敲一条命令授权,而不是绕路或假装能做。

agent 可用的工具(28 个)

用途工具
发言onebot_reply(发消息,支持多条 / 图片 / 表情 / 引用)
看链路与消息onebot_hub_status onebot_timeline onebot_turns onebot_raw onebot_capture onebot_context
人与群onebot_profile onebot_group onebot_members onebot_avatar onebot_sessions onebot_recall
记忆onebot_memory onebot_person onebot_topic onebot_memory_audit
控制下游onebot_invoke onebot_relay_probe onebot_capabilities onebot_code_scopes
协议与能力onebot_call onebot_caps onebot_admin onebot_media onebot_imagegen onebot_memes
其它onebot_tools(按需取回 DSH 的其它工具)

排查

插件起不来(设置页一直转圈、链路不连)先看 <storageDir>/startup.log,里面有逐阶段标记与失败堆栈;默认 <storageDir> 是 ~/.dsh/onebot-hub。

跑起来之后,状态、时间线、下游做了什么,用 onebot_hub_status / onebot_timeline / onebot_turns 查;原始报文与图片用 onebot_raw 取。

开发

cd dsh-onebot-hub
npm test                                    # 全部 20 个套件
node test/smoke-core.mjs                    # 纯逻辑
node test/reply.mjs                         # 出站拆条
node test/m15-e2e.mjs                       # 编排闭环(真 Hub + 假两端)
node --import ./test/register-stubs.mjs test/load-check.mjs   # 装配与工具注册(flag 必须放在脚本前面)

设计与验证记录(协议取证、每个测试断言覆盖什么、历次真机事故复盘)见 docs/design-notes.md;全部配置项见 docs/config.md;CI 与发布流程、示例值约定记在 design-notes 里。

License

MIT