返回插件市场

dsh-message

连接与集成

Stu-KatoMegumi/dsh-message

为 DeepSeek Harness 提供统一消息接入插件,集成微信、飞书、QQ、企业微信和钉钉,共享提示词、记忆和会话策略。

  • dsh-dingding
  • dsh-feishu
  • dsh-plugin
  • dsh-plugins
  • dsh-qq
  • dsh-weixin
GitHub Stars
3GitHub
浏览量
0DSH Plugin Hub
Forks
0GitHub
开放问题
0GitHub Issues
Manifest 版本
2.0.0@stu-xie/dsh-message
最近推送
2026年8月26日GitHub
许可证
MITJavaScript
插件类型
Host + Client同时运行于 Host 与 Web Client

README

查看源文件

dsh-message 是面向 DeepSeek Harness 的统一消息接入插件。它把五种主流消息渠道汇聚到同一套 Host / Client 架构中,让一个助手在不同入口间保持一致的人设、记忆、模型策略和回复体验。

为什么选择 dsh-message

能力价值
01五渠道统一接入在一个设置入口管理微信、飞书、QQ、企业微信和钉钉,无需维护五套割裂的助手。
02共享智能内核提示词、灵魂设定、行为规则、长期记忆和模型策略在所有渠道间保持一致。
03原生渠道体验支持扫码或官方机器人凭据、流式回复、连接检查、自动重连和多机器人管理。
04会话级隔离历史记录按 channel + botId + conversation 隔离,兼顾上下文连续性与数据边界。
05可运营、可维护状态、最近错误、工作区和 Session 绑定都可在控制台中查看与管理。

产品预览

一个助手,一套灵魂

在“助手设置”中分别维护系统提示词、灵魂、人设规则和长期记忆。新 Session 首轮自动注入提示词;日期或静态提示词发生变化时,系统会轮换会话,避免旧上下文污染新策略。

微信:扫码即用,贴近真实聊天

微信渠道保留 iLink 扫码登录、验证码、重新登录与续签能力,并支持引用、语音转写、媒体消息和流式气泡回复。

飞书:长连接与流式卡片

支持飞书长连接和 CardKit Markdown 流式回复,可扫码接入,也可使用应用凭据手动配置。

QQ:官方流程快速绑定

通过腾讯官方页面扫码创建并绑定机器人,无需手动填写 AppID 或 AppSecret;同时保留手动接入方式。

企业微信与钉钉同样集成在统一控制台中,分别使用官方 SDK 与 Stream 能力完成消息接入。

核心能力

统一对话体验

  • 模型回复中的独立 --- 行会被解析为气泡分隔符;每段单独发送,分隔符不展示,单轮最多 10 条。
  • 首轮固定使用自建 vllm/qwen3.8-27b-int8/off 判断复杂度;需要深度执行时切换到 Qwen xhigh。Qwen 不可用时,仅在尚无输出或副作用的安全边界内切换到 deepseek-official/deepseek-v4-flash(快速 off、深度 max),并在 60 秒后自动探测回切。
  • 支持工作区与 Session 绑定,让每个机器人在明确的工作环境中执行任务。
  • 新消息、连接中断和异常状态都有对应的停止、重连与恢复路径。

长期记忆

  • 模型可以新增、替换、删除和去重记忆,相关内部操作不会显示给聊天用户。
  • 记忆写入采用原子更新,并主动拒绝保存凭据等敏感信息。
  • 可在控制台直接编辑 memory.md,也可关闭长期记忆能力。

渠道管理

渠道接入方式关键能力
微信iLink 扫码长轮询、续签、引用、语音转写、媒体、流式气泡
飞书扫码 / 应用凭据长连接、CardKit Markdown 流式回复
QQ官方扫码 / 手动配置官方 Bot SDK、快速创建与绑定
企业微信官方机器人凭据官方 AI Bot SDK、状态与会话管理
钉钉官方机器人凭据Stream 模式、卡片流式回复

快速开始

环境要求

  • Node.js 22.19 或更高版本
  • 可用的 DeepSeek Harness;dsh 命令已加入 PATH,或已配置 DSH_ROOT

先检查 DSH CLI:

dsh --help

从 npm 安装

npx -y @stu-xie/dsh-message install
dsh --profile web

启动后进入 设置 → 插件 → 消息接入,选择需要的渠道并按界面引导完成接入。

从源码安装

npm install
npm run check
npm run install:dsh

Windows PowerShell 使用 DSH 源码目录时:

$env:DSH_ROOT = 'D:\Program Files\dsh'
$env:DSH_HOME = "$env:USERPROFILE\.dsh"
$env:DSH_PROFILE = 'web'

npm install
npm run check
npm run install:dsh

Linux / macOS:

export DSH_ROOT="/path/to/dsh"
export DSH_HOME="$HOME/.dsh"
export DSH_PROFILE="web"

npm install
npm run check
npm run install:dsh

DSH_ROOT 指向 DSH 源码目录;DSH_HOME 指向 DSH 数据目录,默认是当前用户目录下的 .dsh。两者不能混用。

安装参数

变量默认值用途
DSH_ROOT未设置DSH 源码根目录;设置后安装器在该目录中运行 pnpm dsh
DSH_HOME~/.dshDSH 数据根目录,包含 profiles/integrations/
DSH_PROFILEweb安装或卸载使用的 DSH profile。
DSH_CLI自动选择覆盖安装器调用的 CLI,通常无需设置。

单次指定 profile:

npm run install:dsh -- --profile web
npm run uninstall:dsh -- --profile web

卸载只移除插件,不会删除机器人凭据、登录状态、提示词、记忆或历史数据。

工作原理

flowchart LR
    WX[微信] --> CHANNEL[统一渠道层]
    FS[飞书] --> CHANNEL
    QQ[QQ] --> CHANNEL
    WC[企业微信] --> CHANNEL
    DT[钉钉] --> CHANNEL

    CHANNEL --> SESSION[工作区与 Session 路由]
    PROMPT[提示词 · 灵魂 · 规则] --> AGENT[共享 Agent 服务]
    MEMORY[长期记忆] --> AGENT
    SESSION --> AGENT
    AGENT <--> DSH[DeepSeek Harness]
    DSH --> CHANNEL

项目由一套统一的 React 设置页和 Host 插件组成。各渠道负责登录、连接与消息协议;共享 Agent 服务负责提示词、记忆、会话和模型策略;所有生产 Controller 通过 DSH Web HTTP RPC 与 Harness 通信。

数据与安全

默认数据根目录为 <DSH_HOME>/integrations/dsh-message

dsh-message/
├─ agent/
│  ├─ prompt/          # 可编辑提示词
│  ├─ memory/          # 长期记忆
│  ├─ history/         # 隔离的本地会话历史
│  ├─ sessions.json    # 会话日期与提示词指纹
│  └─ settings.json    # 助手设置
└─ channels/
   ├─ weixin/
   ├─ feishu/
   ├─ qq/
   ├─ wecom/
   └─ dingtalk/
  • Host 可通过 dataDir 覆盖根目录,也可为具体渠道单独指定 dataDir
  • 管理 RPC 默认只允许 loopback;仅在可信远程 Host 场景中配置 rpcAuthority: "trusted-host"
  • 插件模式默认静默运行。渠道连接、SDK、消息收发和重连日志不会写入 dsh web 终端;状态和最近错误在设置页中查看。
  • 数据目录可能包含机器人凭据、登录状态和对话历史,请勿提交到版本库或公开分享。

从旧版迁移

安装器会替换旧的 @deepseek-ai/dsh-weixin@xmanrui/dsh-im 及独立渠道插件,但不会删除旧数据。Host 首次启动时会迁移旧提示词、memory/memory.md、历史和五渠道数据;已存在的目标文件不会被覆盖,迁移结果记录在 migration.json

首次部署前仍建议备份 <DSH_HOME>

项目结构

plugin-src/client/   统一 React 设置页与五渠道 UI
plugin-src/host/     Host 插件、管理 RPC 与生产 Controller
src/agent/           共享提示词、记忆、会话与模型策略
src/channels/shared/ Harness、工作区、Session 与通用桥接
src/channels/*/      各渠道 Controller、Runtime、Bridge 与 Store
src/core/            提示词、记忆、微信媒体与调度基础能力
src/prompt/          默认提示词模板
bin/dsh-message.mjs  安装 / 卸载 CLI

开发验证

npm test
npm run build
npm run check

真实渠道登录仍需要对应平台账号与机器人应用。自动化测试和构建验证不能替代平台端联调。

许可证与来源

本项目基于 MIT License 发布。迁移自 dsh-im 及各渠道 SDK / 协议实现的代码、版本与许可证信息见 THIRD_PARTY_NOTICES.md


默认权限与模型路由

消息渠道创建、恢复或绑定的每个 DSH Session,都会在业务消息前强制校验并切换为 danger-full-access(sandbox danger-full-access + approval never)。这会关闭人工审批拦截,请仅对已审计的机器人入口和工作区启用。

首轮请求固定使用自建 vllm/qwen3.8-27b-int8off 档位,由模型返回普通答案或严格的内部复杂度控制块;复杂任务随后使用 Qwen xhigh 重试。Qwen 服务在无输出、工具调用或其他副作用前失败时,单次切换到 deepseek-official/deepseek-v4-flash 兜底(off / max),并在 60 秒冷却后自动探测回切。模型选择由插件固定,设置页为只读。

本地可在被 .gitignore 忽略的 config/.env 中覆盖路由变量;未提供时使用代码默认值,进程环境变量优先。插件模式和旧独立模式都会加载该文件。

评论

0
最新优先