Stu-KatoMegumi / dsh-message

Listed

dsh-message 是面向 DeepSeek Harness 的统一消息接入插件,仅包含微信、飞书、QQ、企业微信和钉钉。项目采用一套 Host/Client 插件、统一设置页和统一 HTTP Harness 会话链路,并在五个渠道上共享提示词、长期记忆和会话策略。并且可以定制鲸鱼娘的soul哦~

mainOther View source

Installation

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

This command is generated from the GitHub repository address. Inspect the upstream README and source before running it; pin a release or commit when reproducibility matters.

README

Maintainer-authored documentation snapshot.

View on GitHub ↗
Commit 64291f9Synced Aug 18, 2026

This README snapshot could not be refreshed during the latest directory sync.

dsh-message Logo

DSH Message

让每一个消息入口,都连接到同一个 DeepSeek Harness 助手。

微信 · 飞书 · QQ · 企业微信 · 钉钉
一套插件,统一接入,共享提示词、长期记忆与会话上下文。

Version 2.0.0 Node.js 22.19 or later 5 channels MIT License

产品预览 · 核心能力 · 快速开始 · 工作原理 · 开发验证


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

dsh-message 统一助手设置
统一控制台:渠道接入、模型策略、长期记忆与提示词集中管理

为什么选择 dsh-message

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

产品预览

一个助手,一套灵魂

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

dsh-message 灵魂与提示词设置
提示词与记忆编辑器:system-prompt.md · soul.md · rules.md · memory.md

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

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

dsh-message 微信渠道管理
微信接入管理:运行状态、连接检查、工作区绑定与安全移除

dsh-message 微信对话效果
微信实机对话效果

飞书:长连接与流式卡片

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

dsh-message 飞书渠道管理
飞书机器人:扫码 / 手动接入、在线状态与工作区管理

QQ:官方流程快速绑定

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

dsh-message QQ 渠道管理
QQ 机器人:官方扫码创建并自动连接 DeepSeek Harness

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

核心能力

统一对话体验

  • 模型回复中的独立 --- 行会被解析为气泡分隔符;每段单独发送,分隔符不展示,单轮最多 10 条。
  • 简单消息与复杂任务可使用不同的模型 / 推理组合,默认分别为 deepseek-v4-flash/offdeepseek-v4-flash/max
  • 支持工作区与 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 Message
Five channels. One assistant. One continuous experience.

Project files and signals

Shown items are public repository signals detected in the directory snapshot.

DocumentationDetected

Repository information

Language
JavaScript
License
MIT
Last updated
Aug 18, 2026, 7:53 AM

Install deliberately

Review source code, permissions, lifecycle hooks, dependencies and network access. Test untrusted plugins in an isolated environment.