dsh-onebot-hub: DeepSeek Harness 的 OneBot v11 协议中枢

前言

DeepSeek Harness (DSH) 的核心理念是「一切皆插件」。当需要将 DSH 接入 QQ 平台时,需要一个能够处理 OneBot v11 协议的组件。dsh-onebot-hub 正是为此设计的插件:它作为协议层的中枢,向上连接 NapCat、LLOneBot 或 Lagrange 等上游实现,向下为下游的 NoneBot 或其他 OneBot 实现提供服务,同时为 DSH 代理提供全量的消息流、操作记录以及 28 个专用工具。

插件概览

  • 名称:dsh-onebot-hub
  • 作者:Funny1Potato
  • 分类:工作流
  • 功能定位:DeepSeek Harness 的 OneBot v11 协议枢纽,既充当下游 bot 的协议上游,也是群聊中的智能体。

核心功能

该插件提供以下核心能力:

  1. 事件原样转发:将 QQ 事件 verbatim(逐字逐句)转发给下游机器人,不进行合成或改写,确保下游插件兼容性。
  2. 全量观测与工具:为代理提供完整的时间线、操作台账,并暴露 28 个 onebot_* 工具,使代理能够查看历史、管理会话、控制下游并检索记忆。
  3. 多模式支持:支持 Upstream(上游监听/拨号)、Downstream(下游服务/拨号)和 Observer(观察者)三种运行模式。
  4. 记忆隔离:提供 strict(严格)、scoped(作用域)和 balanced(平衡)三种记忆隔离等级,控制跨会话的数据可见性。
  5. 管理与辅助:内置 13 条管理命令(如 help、status、memes 等),支持表情包库和图片生成功能。

安装与启用

插件已发布到 npm,安装过程通过 DSH 的插件管理器完成。

1. 安装插件
执行以下命令将插件安装到指定的 profile 中(<你的 profile> 替换为实际名称,如 desktop):

dsh plugin --profile <你的 profile> add dsh-onebot-hub

2. 重启 DSH
安装完成后需要重启 DSH 以加载插件。插件包内声明了 dsh.bundle,通常会被自动并入插件的插件层,无需手动修改 cordis.patch.yml。若个别版本未自动合并,可手动追加配置后再重启。

配置与使用

插件安装后,需配置网络连接和运行模式。

1. 基础连接配置
最少需要配置两项:

  • upstreamListen 或 upstreamUrl:指定上游 OneBot 实现的连接方式。推荐使用 upstreamListen 让上游反连 hub,或直接填写 upstreamUrl。
  • downstreamTargets:下游目标列表,JSON 数组。支持 ws-dial、ws-listen、http-api、http-post 四种连接方式。若只需自己使用不接下游,此项留空即可。

2. 会话与权限控制
* 白名单:通过 agent.groups 和 agent.privates 设置允许调用的群聊和私聊列表,未列出的会话连 @ 都不会响应。
* 额度管理:使用 /quota 查看和重置用量限制,支持按群设置配额。
* 命令权限:管理命令(help、status 等)的权限由 chatCommands.superUsers 控制,留空则整条命令链沉默。

3. 常用命令
安装并配置完成后,可通过以下命令进行管理:
* /status:检查 hub 状态、时间线和运行时长。
* /quota:查看并重置本群或私聊的额度。
* /help:列出所有可用命令。

行为说明

理解插件的行为对于正确使用至关重要:

  1. 默认静默:默认行为非常安静,只有在被 @、被引用或在私聊中时才会被唤醒。
  2. 草稿机制:代理的普通回复文本仅作为内部草稿,只有调用 onebot_reply 时才会真正发送消息。
  3. 下游互斥:当下游 bot 已经回复过消息时,agent 不会再次插话,防止复读。
  4. 探针测试:测试下游连接时,使用 probe.isolation 设置为 link(默认)或 time,消息会通过另一个探针账号发送,不会干扰真人会话。
  5. 权限时效:通过命令修改的权限(如 perm)仅对本次唤醒的会话有效,下次唤醒会自动恢复默认。

工具接口

插件为代理提供了 28 个 onebot_* 工具,这些工具挂载在代理会话的作用域内,用于操作链路、查询上下文、管理记忆和控制下游。

主要工具分类包括:
* 发言:onebot_reply
* 链路与消息:onebot_hub_status、onebot_timeline、onebot_turns、onebot_raw
* 人与群:onebot_profile、onebot_group、onebot_members
* 记忆:onebot_memory、onebot_person、onebot_topic
* 控制下游:onebot_invoke、onebot_relay_probe、onebot_capabilities

目录与源码

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

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

小夜