dshbase

插件目录 / Developer / dsh-onebot

dsh-onebot

已验证 · 实测可装 Hoshino-Yumetsuki

✓ 持续维护 基于 13 个官方 DSH 包 纯 TypeScript

查看 GitHub ↗ ← 返回插件目录

3Stars
0Forks
0未关闭 issue
TypeScript语言
2026-08-15最近推送
跨平台平台

功能简介

DSH的OneBot适配器

✅
我们的评价
可用 — 实测通过,早期项目

DSH的OneBot适配器 实测能干净安装、正常启动。早期项目,但功能可用。

「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。

README

dsh-onebot

DeepSeek Harness(DSH)的 OneBot v11 适配器,支持 HTTP、正向和反向 WebSocket

Transport

  • forward-ws(默认):连接 OneBot 正向 WebSocket,事件和 action 共用连接
  • reverse-ws:监听 WebSocket,等待 OneBot 反向连接
  • http:以 url 调用标准 HTTP API,同时在配置的监听地址提供 HTTP POST webhook

四种标准 post_type 是 message、notice、request、meta_event;只有 message 创建 Agent 交互。
传输层接受并解析四种标准 post_type;只有 message 事件进入 Agent,其余事件不创建会话或回复。

安装

dsh plugin --profile web add dsh-onebot

配置

字段 默认值 说明
transport forward-ws forward-ws、reverse-ws 或 http
url ws://127.0.0.1:3001 正向 WS 地址或 HTTP API base URL
listenHost 127.0.0.1 反向 WS / webhook 监听地址
listenPort 3002 监听端口
listenPath /onebot 监听路径
accessTokenRef ONEBOT_ACCESS_TOKEN 访问令牌的 DSH credential ref
webhookSecretRef ONEBOT_WEBHOOK_SECRET webhook secret 的 DSH credential ref
reconnectInterval 5000 重连间隔(毫秒)
requestTimeout 30000 action 请求超时(毫秒)
heartbeatTimeout 120000 心跳超时(毫秒),0 禁用
commandPrefix 空 非空时要求此前缀,并从 prompt 移除
respondToPrivate true 响应私聊
respondToGroup true 响应群聊
groupMentionOnly true 群聊要求提及机器人
userAccessMode disabled disabled、allowlist、blocklist
userIds [] 用户 ID 列表
groupAccessMode disabled disabled、allowlist、blocklist
groupIds [] 群 ID 列表

数组在设置 UI 中每行一个 ID,保存时去空白并且去重。token/secret 存入 DSH credentials,配置只保存引用名称。

- id: onebot
  name: dsh-onebot
  config:
    transport: forward-ws
    url: ws://127.0.0.1:3001
    listenHost: 127.0.0.1
    listenPort: 3002
    listenPath: /onebot
    accessTokenRef: ONEBOT_ACCESS_TOKEN
    webhookSecretRef: ONEBOT_WEBHOOK_SECRET
    reconnectInterval: 5000
    requestTimeout: 30000
    heartbeatTimeout: 120000
    commandPrefix: ''
    respondToPrivate: true
    respondToGroup: true
    groupMentionOnly: true
    userAccessMode: disabled
    userIds: []
    groupAccessMode: disabled
    groupIds: []

消息与回复

  • 访问控制顺序为私聊/群聊开关、用户名单、群消息的群名单,最后是提及与前缀。ID 转为字符串后进行匹配;空 allowlist 拒绝全部会话,空 blocklist 允许全部会话

  • 回复由会话作用域内的 onebot_reply 提交候选;同一轮多次调用时以后一次为准,仅在 Agent 本轮进入 idle 后向当前来源发送一次文本和/或图片。插件不暴露任意 OneBot action,也不会转发 agent loop 的中间助手文本

  • 入站图片只接受公网 http(s) URL 或带媒体类型的 data: URL,限制重定向、总下载时间和字节数后经 DSH attachments 保存 durable ref;不读取 OneBot 机器本地路径,单独 base64:// 因缺少可信媒体类型而拒绝

  • reverse WebSocket / HTTP webhook 绑定非回环地址时,分别必须能解析访问令牌 / webhook 签名密钥,否则监听拒绝启动;WebSocket 与 webhook 入站负载上限均为 1 MiB

  • 有 session persistence 时,先以 list() 精确判断存在再恢复会话,否则创建一个新会话;恢复会话错误时不会回退。OneBot API 无法删除 DSH 会话历史,历史需在 DSH 侧管理。

开发

yarn install
yarn lint
yarn build

许可证:MPL-2.0

安装

🧩 让 Agent 自动装(推荐)

装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:

dsh plugin add dshbase-catalog

然后对 agent 说「帮我装 dsh-onebot」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。

该插件是 GitHub 源码(未发 npm)——直接从仓库装:

Web profile:

dsh plugin --profile web add github:Hoshino-Yumetsuki/dsh-onebot

Headless(CLI)profile:

dsh plugin --profile headless add github:Hoshino-Yumetsuki/dsh-onebot

实测报告

验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。

使用场景

扩展 agent 的编码能力面——给它一个新工具、工作流或集成,让它接手以前做不了的开发任务。

适合谁

想让 dsh 在真实代码库上像队友一样干活的开发者——能改、能跑、能验证,而不只是回答问题。

二次开发建议

工具/命令面就是缝:暴露更多 SDK 能力、加更聪明的上下文接线,或收紧改代码与验证之间的循环。

安全:尚未扫描——我们的每日静态扫描将很快覆盖它。

分享徽章

Developer 里更多

浏览全部 7797 个插件 →