在 QQ、Telegram 等聊天软件中直接向 dsh 下达指令并接收回复
27.6/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add JOJO666888888/dsh-gateway该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · platform
装得上吗
实装验证未通过(dependency_conflict),装前请到仓库确认最近更新与 issue
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 79 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
⚠︎ 实装验证未通过(dependency_conflict · 2026/9/26) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
发起外部网络请求
查看扫描证据(共 20 处,展示前 16 条)
- 发起网络请求lib/client.js:40
settings: () => fetch("/api/gateway/settings").then(r => r.json()), - 发起网络请求lib/client.js:41
saveSettings: (ops, revision) => fetch("/api/gateway/settings", { method: "POST", headers: { "content-type": "application/json" }, body: JSON.stringif - 发起网络请求lib/client.js:42
status: () => fetch("/api/gateway/status").then(r => r.json()), - 发起网络请求lib/client.js:43
tasks: () => fetch("/api/gateway/tasks").then(r => r.json()), - 发起网络请求lib/client.js:44
modelOptions: () => fetch("/api/gateway/model-options").then(r => r.json()), - 发起网络请求lib/client.js:45
regexTest: (rule, sample) => fetch("/api/gateway/regex/test", { method: "POST", headers: { "content-type": "application/json" }, body: JSON.stringify( - 发起网络请求lib/gateway/adapters/discord-adapter.js:203
const referencedMsg = await message.channel.messages.fetch(message.reference.messageId); - 发起网络请求lib/gateway/adapters/discord-adapter.js:284
const user = await this.client.users.fetch(message.chatId); - 发起网络请求lib/gateway/adapters/discord-adapter.js:288
channel = await this.client.channels.fetch(message.chatId); - 请求外部主机discord.comlib/gateway/adapters/discord-adapter.js:370
const resp = await fetch('https://discord.com/api/v10/users/@me', { - 发起网络请求lib/gateway/adapters/discord-adapter.js:370
const resp = await fetch('https://discord.com/api/v10/users/@me', { - 发起网络请求lib/gateway/adapters/feishu-adapter.js:106
const resp = await this.client.request({ method: 'GET', url: '/open-apis/bot/v3/info' }); - 发起网络请求lib/gateway/adapters/feishu-adapter.js:376
const resp = await fetch(asset.url); - 发起网络请求lib/gateway/adapters/feishu-adapter.js:409
const resp = await client.request({ method: 'GET', url: '/open-apis/bot/v3/info' }); - 发起网络请求lib/gateway/adapters/dingtalk-adapter.js:224
const resp = await fetch(ctx.webhook, { - 发起网络请求lib/gateway/media/media-store.js:83
const resp = await fetch(url, { signal: controller.signal });
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 GitHub 仓库
涉及外部主机:discord.com
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-credentials@deepseek-ai/dsh-settings@deepseek-ai/cordis@deepseek-ai/dsh-tools给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 多平台聊天接入
- 下达指令并接收回复
README
由 DeepSeek 最新模型翻译生成@dsh-external/dsh-gateway
将 SillyTavern Multi-Platform Gateway 的核心消息总线/适配器移植为 DeepSeek Harness (dsh)插件,使用户可以在 QQ(OneBot v11)、Telegram、Discord、飞书、QQ 官方机器人、钉钉等聊天软件中直接向 dsh 下达指令,并收到 dsh 的回复。
功能
- 六平台适配器:qq、telegram、discord、feishu、qqofficial、dingtalk
- IM 会话 ↔ dsh 会话双向桥接:
- 入站:聊天消息作为用户消息 followup 到对应 dsh agent
- 出站:dsh assistant/message 自动回传到原聊天
- 本地命令:/help、/status、/reset
- 模型工具:gateway_send、gateway_status
- HTTP API:/api/gateway/(兼容旧网关主要接口)
- 设置页「网关」面板:可视化编辑各平台配置、凭据、@开关;红绿灯显示启用/运行状态;自动刷新
- 敏感凭据存 dsh credentials($DSH_HOME/.credentials.yaml,0600),设置文件中只存非敏感配置
展开完整文档(README 剩余 1 节)
@dsh-external/dsh-gateway
将 SillyTavern Multi-Platform Gateway 的核心消息总线/适配器移植为 DeepSeek Harness (dsh)插件,使用户可以在 QQ(OneBot v11)、Telegram、Discord、飞书、QQ 官方机器人、钉钉等聊天软件中直接向 dsh 下达指令,并收到 dsh 的回复。
功能
- 六平台适配器:qq、telegram、discord、feishu、qqofficial、dingtalk
- IM 会话 ↔ dsh 会话双向桥接:
- 入站:聊天消息作为用户消息 followup 到对应 dsh agent
- 出站:dsh assistant/message 自动回传到原聊天
- 本地命令:/help、/status、/reset
- 模型工具:gateway_send、gateway_status
- HTTP API:/api/gateway/(兼容旧网关主要接口)
- 设置页「网关」面板:可视化编辑各平台配置、凭据、@开关;红绿灯显示启用/运行状态;自动刷新
- 敏感凭据存 dsh credentials($DSH_HOME/.credentials.yaml,0600),设置文件中只存非敏感配置
- 保存后立即生效:非敏感配置走 settings 热更新,连接参数/凭据变化自动重启对应适配器
- 消息队列、重试、分段发送、去重、入站/出站过滤器(移植自旧网关)
架构
聊天软件 (QQ/TG/Discord/飞书/QQ官方/钉钉)
│ 适配器标准化 InboundMessage ▼ GatewayService(消息总线 + 队列 + 过滤器) │ onMessage ▼ DshBridge ├─ 本地命令直接回复 └─ 映射 sessionId = gw-- │ ensureAgent(resume/create dsh agent) ▼
dsh agent-loop(指令解析、工具调用、执行)
│ session/event assistant/message
▼
DshBridge.sendText → GatewayService.sendMessage → 原聊天回复
安装
1. 克隆插件
git clone https://github.com/JOJO666888888/dsh-gateway.git
cd dsh-gateway
npm install --no-audit --no-fund
2. 将插件链接到 dsh profile
编辑你的 dsh profile 的 package.json,例如:
// /profiles/web/package.json
"dependencies": {
"@dsh-external/dsh-gateway": "link:/绝对路径/dsh-gateway" }
Windows 示例:
"@dsh-external/dsh-gateway": "link:D:/dsh-gateway"
3. 在 profile 的 cordis.patch.yml 追加插件行
- insert:
- id: gateway
name: '@dsh-external/dsh-gateway'
config:
enabled: true
sessionPrefix: 'gw'
defaultModel: {}
adapters:
qq:
enabled: false
mode: websocket
wsUrl: 'ws://127.0.0.1:3000'
requireMention: true
telegram:
enabled: false
requireMention: true
discord:
enabled: false
requireMention: true
feishu:
enabled: false
appId: ''
domain: feishu
requireMention: true
qqofficial:
enabled: false
appId: ''
sandbox: false
requireMention: true
dingtalk:
enabled: false
clientId: ''
requireMention: true
4. 重启 dsh web
dsh --profile web
敏感凭据(Bot Token / AppSecret 等)不要在 cordis.patch.yml 中填写,请通过设置界面“网关”面板保存到 dsh credentials。
配置
推荐在 dsh web 设置 → 网关 面板中编辑:
- 非敏感配置(启用状态、@开关、连接参数、默认模型等)保存到 settings.yaml 的 gateway 分节。
- 敏感凭据(Bot Token、AppSecret、AccessToken 等)保存到 dsh credentials ($DSH_HOME/.credentials.yaml),界面只显示“已配置/未配置”,不显示明文。
cordis.patch.yml 中的 gateway.config 作为组合 base 层;面板保存的用户配置覆盖 base。
默认全部 enabled: false。
| 平台 | 非敏感关键字段(已精简) | 敏感凭据(credentials ref) |
| qq | mode / wsUrl / requireMention | GATEWAY_QQ_ACCESS_TOKEN |
| telegram | requireMention | GATEWAY_TELEGRAM_BOT_TOKEN |
| discord | requireMention | GATEWAY_DISCORD_BOT_TOKEN |
| feishu | appId / domain / requireMention | GATEWAY_FEISHU_APP_SECRET |
| qqofficial | appId / sandbox / requireMention | GATEWAY_QQOFFICIAL_SECRET / GATEWAY_QQOFFICIAL_TOKEN |
| dingtalk | clientId / requireMention | GATEWAY_DINGTALK_CLIENT_SECRET |
defaultModel 可显式指定新 dsh 会话使用的 provider/model;留空时使用 agent-default-model 的当前选择。
从旧网关迁移
旧 config/gateway.json 中:
- 非敏感 adapters. → 插件 adapters.,字段名与结构不变
- 敏感字段(botToken/appSecret/accessToken 等)→ 迁移到 dsh credentials,不写入 cordis.patch.yml
- server.authToken → GATEWAY_API_TOKEN credential
- 旧网关的 session. / messageQueue. → 插件 messageQueue.(可选)
- 旧网关的 runtime.llm / antiBagu / plugin 不迁移(dsh 使用自身模型与会话体系)
可运行迁移脚本生成非敏感配置片段与凭据写入指引:
node D:\预设\harness-plugins\dsh-gateway\scripts\migrate-gateway-config.mjs
HTTP API
| 方法 | 端点 | 说明 |
| GET | /api/gateway/health | 健康检查 |
| GET | /api/gateway/status | 适配器状态 + 活动 IM 会话 |
| GET | /api/gateway/config | 脱敏配置 |
| GET | /api/gateway/settings | 读取设置(含凭据已配置状态) |
| POST | /api/gateway/settings | 保存非敏感设置(mutate ops) |
| GET | /api/gateway/credentials | 凭据状态 |
| POST | /api/gateway/credentials/set | 设置凭据 |
| POST | /api/gateway/credentials/unset | 清除凭据 |
| GET | /api/gateway/bindings | 查看会话绑定 |
| POST | /api/gateway/bindings | 新增/更新会话绑定 |
| DELETE | /api/gateway/bindings/:platform/:chatId | 删除会话绑定 |
| GET | /api/gateway/tasks | 查看任务队列 |
| POST | /api/gateway/send | 发送消息 |
| GET | /api/gateway/sessions | 会话列表 |
| GET | /api/gateway/sessions/:platform/:chatId/history | 会话历史 |
| DELETE | /api/gateway/sessions/:platform/:chatId/history | 清空会话 |
| POST | /api/gateway/adapters/:name/start\|stop\|verify | 适配器管理 |
| POST | /api/gateway/verify | 验证全部适配器 |
| GET | /api/gateway/logs | 最近日志 |
| POST | /api/gateway/sync-commands | 同步命令到平台 |
使用示例
重启 dsh web 后,打开「设置 → 网关」面板,可编辑各平台配置/凭据/@开关,查看红绿灯运行状态与活动 IM 会话;保存后立即生效。
在 Telegram 中给机器人发私聊:
/help
你好,请列出当前工作区文件
dsh 会为 telegram: 创建/恢复会话 gw-telegram-,执行指令并把
回复发回 Telegram。群聊中需要按适配器配置 requireMention(默认 true)@机器人。
支持远程会话绑定命令:
/sessions 列出可绑定 dsh 会话 /bind 将当前聊天绑定到指定 dsh 会话 /bind current 绑定到当前 dsh Web 会话 /unbind 解除绑定,恢复默认映射 /tasks 查看当前任务队列 /regex list 查看正则移除规则 /regex test [替换] [flags] 测试单条移除规则 /regex test-full 测试全部移除规则
正则移除规则配置位于 gateway.regexFilter.removePatterns,支持字段:
- name
- enabled
- pattern / find_regex / findRegex
- replacement / replace_string / replaceString
- flags(默认 gs)
- trimStrings / trim_strings
每条普通指令会先收到:
✅ 已收到指令 #,正在处理...
dsh 回复后收到:
✅ # 执行结果:
dsh agent 也可以主动调用 gateway_send 工具,向任意已接入平台发送消息。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
JOJO666888888/dsh-gateway
在 QQ、Telegram 等聊天软件中直接向 dsh 下达指令并接收回复
相关插件 · 平台集成
智能体工程课walkinglabs/learn-harness-engineering
一门项目制课程,教你搭建环境、管理状态、做验证、加控制机制,让 AI 编程智能体稳定干活。
★ 21,155已汉化DSH
71.7
视频翻译配音liuzhao1225/YouDub-webui
开源视频本地化工作台:导入视频,识别、翻译并逐句克隆原声,生成字幕和配音成片。
★ 5,792已汉化Cordis
71.4
失败经验库Ikalus1988/MisakaNet
📚 零依赖、由 git 支撑的微课程库,让 AI 智能体异步分享并检索经过验证的调试经验。| https://misakanet.org
★ 550已汉化DSH
71.2
IM 机器人接入xmanrui/dsh-im
让 DeepSeek Harness 触手可及 Connecting DeepSeek Harness
★ 3,170已汉化DeepSeek 客户端
71
桌面智能体工作区freestylefly/wesight
WeSight 是开源桌面控制台,面向本地 AI 智能体。它帮你安装或复用 Claude…
★ 933已汉化MCP
71
中国平台研究引擎Jesseovo/last30days-skill-cn
给 AI Agent 的中文互联网研究 Skill:检索 8 大平台最近 30…
★ 2,041已汉化DSH
70.7
这是你的仓库?认领条目