DeepSeek Harness plugin

dsh-im-channel

Unified IM channel for DeepSeek Harness: Feishu, Telegram, DingTalk, Slack, Discord — persistent conversations, true streaming replies, 40 MCP Feishu tools, slash commands, and an IM-bot status tab in the plugin settings.

Jump to install

Source facts

Repository
shrekcg/dsh-im-channel
Latest update
Aug 20, 2026
Category
Notifications & Integrations
GitHub stars
0

Install

Start with a prompt that asks an agent to read the source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to read the page and repository first.

Do not install anything yet. Read this DeepSeek Harness plugin and explain what it does, which files, networks, or credentials it can access, and how to install and remove it.

Plugin page: https://deepseekplugins.org/plugins/shrekcg/dsh-im-channel
GitHub: https://github.com/shrekcg/dsh-im-channel
Plugin: dsh-im-channel
Author: shrekcg
Install command: dsh plugin --profile web add github:shrekcg/dsh-im-channel

Do not run the install command until I confirm.

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer3 files
README.mdSource · read only

<div align="center">

DSH ↔ IM Channel

将 DeepSeek Harness 接入飞书、钉钉、Telegram、Slack、Discord、QQ 等 IM 渠道的统一通道

![CI](https://github.com/shrekcg/dsh-im-channel/actions/workflows/ci.yml) ![License: MIT](LICENSE) ![Node](package.json) ![Tools](src/tools/mcp-server.js) ![Market](https://awesome-dsh-plugin.com/p/shrekcg/dsh-im-channel/)

![English](docs/README.en.md) ![中文](README.md)

</div>

---

项目简介

DSH ↔ IM Channel 是一个把 DeepSeek Harness(DSH,AI Agent 运行时)接入多个 IM 渠道(飞书/钉钉/Telegram/Slack/Discord/QQ 等)的统一双向通道插件。它在飞书里为你的 AI 助手提供「原生应用」般的完整体验:

  • 💬 持久对话:跨消息上下文记忆,话题隔离,群聊/私聊
  • ⌨️ 真流式输出:边生成边显示,平滑打字机效果
  • 🛠️ 40 个飞书对象工具:agent 可直接操作文档、表格、日历、任务、邮件等
  • 🧩 可插拔插件形态:不侵入 DSH 核心,一键安装/卸载

对齐 OpenClaw 飞书官方插件 的能力与体验,但基于 DSH 生态构建。

---

✨ 功能特性

🌐 支持渠道

> ⚠️ 诚实标注:当前稳定可用的是飞书与 Telegram(完整收发)。钉钉/Slack/Discord 为实验性/半可用(见下方状态),QQ/微信/WhatsApp 未提供适配器(不在本版本范围)。

渠道状态接入方式
飞书 📘完整支持(主力)WebSocket 长连接(开放平台建应用)
Telegram ✈️✅ 完整支持BotFather 聊天内创建(最简单)
Slack 🟣🟡 半可用(接收需 @slack/socket-mode 依赖)Socket Mode
Discord 🎮🟡 半可用(接收需 discord.js 依赖)Gateway(bot token)
钉钉 📱🟡 实验(Stream 接入未完整实现)需 @alicloud/dingtalk-stream

> 在飞书里发 /channels 查看全部渠道及接入步骤,或 /channels add <渠道> 获取引导。

💬 对话体验

特性说明
持久会话跨消息上下文记忆(DSH agents.resume
话题隔离每个话题独立上下文,如从主线 fork
群聊支持不 @ 也响应,或按群细粒度策略(白名单/仅@)
思考表情收到消息显示 THINKING,回复后自动移除
真流式输出边生成边显示,平滑打字机(自适应节奏)
底部耗时回复底部小字「已完成 · 耗时 xx」,对齐 OpenClaw
@ 用户渲染回复中可 @ 用户/所有人(原生 mention)
Bot 互 @支持 bot 间对话(可配置)

📎 消息能力

特性说明
多媒体收发图片/文件/音频/视频下载与发送
合并转发合并转发消息识别与展开
表情反馈👍/❤️ 等表情反馈给 agent
文档评论@文档评论中 @ 机器人触发对话

🛠️ 飞书对象工具(MCP × 40)

通过 Model Context Protocol 暴露 40 个飞书工具,agent 以 mcp__feishu__* 原生调用:

类别工具
消息send_message read_messages search_chats get_chat_members search_messages read_thread_messages
文档read_document create_document update_document doc_insert_media doc_list_comments
日历calendar_agenda create_calendar_event calendar_freebusy calendar_search_events calendar_add_attendee
任务get_my_tasks create_task task_create_subtask task_get_detail task_related task_add_comment
多维表格base_read_records base_create_table base_create_record base_create_field base_create_view
电子表格sheets_read
Wikiwiki_search wiki_list_spaces wiki_create_node
邮件mail_list mail_send
云盘drive_search drive_list_folder
妙记/审批/搜索minutes_search approval_list_todo search_docs
通讯录get_user_info

🧩 平台能力

特性说明
多账号多机器人一个进程管理多个飞书 bot,session 自动隔离
可插拔插件一键安装/卸载,不侵入 DSH 核心
初始化向导npm run setup 6 步引导(应用/权限/授权/事件订阅)
诊断自修复npm run doctor 21 项检查 + --fix 自动修复
功能清单npm run features 查看各能力配置状态
权限管理自动检测缺失权限,生成一键申请链接
CIGitHub Actions 自动测试 + MCP 冒烟验证
渠道状态页内置 HTTP 状态页,实时查看飞书在线/账号/健康(http://127.0.0.1:8899
IM 机器人设置页DSH 设置页「插件」内新增 IM 机器人 tab,展示渠道状态(web-plugin/
斜杠命令飞书对话内直接使用 /new /compact /model /status 等命令

⌨️ 斜杠命令

在飞书对话中直接输入命令(不消耗 AI 调用,即时响应):

命令说明
/help显示所有可用命令
/new / /clear开启新对话(清空当前会话上下文)
/compact压缩当前会话(减少上下文)
/model [name]查看 / 切换模型(如 /model deepseek-v4-flash
/status / /state查看当前状态(模型/会话/工具/运行时长)
/tools列出可用飞书工具(40 个)
/features查看功能配置清单
/doctor运行诊断

---

📦 快速开始

前置依赖

依赖说明
DSHDeepSeek Harness 运行时
lark-cli飞书官方 CLI(工具执行后端)
Node.js ≥ 18运行环境

安装

# 1. 克隆
git clone https://github.com/shrekcg/dsh-im-channel.git
cd dsh-im-channel

# 2. 安装依赖
npm install

# 3. 初始化向导 (创建应用/授权/事件订阅 一步步引导)
npm run setup

# 4. 安装为插件 + 常驻服务
npm run install-bridge

# 5. 验证
npm run doctor        # 诊断 (21 项)
npm run features      # 功能清单

> 详细配置见 [docs/SETUP.md](docs/SETUP.md) 与 [docs/INSTALL.md](docs/INSTALL.md)。

---

🔧 配置

配置通过环境变量或 config.json(见 [config.example.json](config.example.json)):

变量默认说明
LARK_APP_ID飞书应用 App ID
LARK_APP_SECRET飞书应用密钥
REQUIRE_MENTIONfalse群聊是否要求 @ 才响应
ALLOW_BOTSfalsebot 互 @:false/true/mentions
GROUP_POLICYopen群策略:open/allowlist/closed
GROUP_ALLOW_FROM群白名单(逗号分隔 open_id)
REACTION_NOTIFICATIONSoff表情反馈:off/own/all
STREAM_THROTTLE_MS60流式节流时间阈值 (ms)
STREAM_THROTTLE_CHARS3流式节流字符阈值
ALLOW_USER_WRITES允许 user 身份写操作(默认仅发消息用 bot)
DSH_BIN / DSH_HOMEDSH 路径

---

🚀 使用

对话

  • 私聊:直接在飞书单聊机器人
  • 群聊:拉机器人进群,直接发消息(或 @,取决于配置)
  • 话题:在群消息上创建话题,获得独立上下文

飞书工具

直接用自然语言告诉 agent:

  • 「帮我查一下今天的日程」
  • 「创建一个文档,内容是……」
  • 「给 XX 发一条消息」
  • 「列一下我的待办任务」

管理命令

npm start                # 启动 bridge
# 状态页: 打开 http://127.0.0.1:8899 (飞书在线状态/账号/健康)
npm run setup            # 初始化向导
npm run doctor           # 诊断 (--fix 自动修复)
npm run features         # 功能配置清单
npm test                 # 运行测试 (65 用例)
npm run install-bridge   # 安装插件 + 常驻服务
npm run uninstall-bridge # 卸载 (可逆, 不影响 DSH 核心)
npm run mcp              # 单独运行 MCP server

---

🏗️ 架构

┌──────────────────────────────────────────────────┐
│                     飞书 / Lark                   │
│   用户私聊 · 群聊 · 话题 · 表情 · 评论 · 卡片交互   │
└───────────────────────┬──────────────────────────┘
                        │ WebSocket 长连接 (SDK)
┌───────────────────────▼──────────────────────────┐
│               bridge (常驻进程)                   │
│  ┌─────────┐ ┌────────────┐ ┌─────────────────┐  │
│  │ channel │ │  inbound   │ │    outbound     │  │
│  │ (SDK)   │ │ policy     │ │ stream (真流式)  │  │
│  │         │ │ media      │ │ mention (@渲染)  │  │
│  │         │ │ reaction   │ │ footer (耗时)   │  │
│  │         │ │ merge-fw   │ │                 │  │
│  └────┬────┘ └─────┬──────┘ └────────┬────────┘  │
│       └────────────┼─────────────────┘           │
└────────────────────┼─────────────────────────────┘
                     │ DSH headless (持久会话)
              ┌──────▼──────┐
              │  agents.resume│
              │  + MCP client │
              └──────┬──────┘
                     │ mcp__feishu__* (40 工具)
              ┌──────▼──────┐
              │ Feishu MCP  │
              │ server      │
              └──────┬──────┘
                     │ lark-cli
              ┌──────▼──────┐
              │  飞书 OpenAPI│
              └─────────────┘
  • 接收@larksuite/channel SDK WebSocket 长连接(无需公网回调地址)
  • 会话:固定 session + DSH agents.resume(跨消息记忆)
  • 工具:40 个 MCP 工具,lark-cli 执行后端

详见 [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md)。

---

📁 项目结构

dsh-im-channel/
├── src/
│   ├── index.js              # 入口 (多账号消息流水线)
│   ├── config.js             # 配置管理
│   ├── channel.js            # 飞书通道 (SDK + 流式)
│   ├── session.js            # 持久会话 + 互斥锁
│   ├── core/
│   │   ├── scope-manager.js  # 权限管理
│   │   ├── adaptive.js       # 流式自适应步长
│   │   └── pacing.js         # 流式节奏控制
│   ├── inbound/
│   │   ├── policy.js         # 群策略/bot/@
│   │   ├── media.js          # 多媒体接收
│   │   ├── reaction.js       # 表情反馈
│   │   ├── merge-forward.js  # 合并转发
│   │   └── comment.js        # 文档评论@
│   ├── outbound/
│   │   └── mention.js        # @渲染
│   ├── tools/
│   │   └── mcp-server.js     # 飞书 MCP server (40 工具)
│   └── commands/
│       ├── doctor.js         # 诊断自修复 (21 项)
│       └── features.js       # 功能配置清单
├── dsh-lark-session/         # DSH 插件 (持久会话 runner)
├── scripts/
│   ├── install.js            # 安装/卸载/状态
│   └── setup.js              # 初始化向导
├── tests/                    # 65 个单元测试
└── docs/                     # 文档

---

📚 文档

文档说明
[SETUP.md](docs/SETUP.md)详细配置指南
[INSTALL.md](docs/INSTALL.md)插件化安装指南
[ARCHITECTURE.md](docs/ARCHITECTURE.md)架构设计
[README.en.md](docs/README.en.md)English README

---

🧪 测试

npm test    # 65 个单元测试

CI(GitHub Actions)自动运行:单元测试 + 语法检查 + MCP server 冒烟验证。

---

📄 License

[MIT](LICENSE)

🙏 致谢