---
title: "用 dsh-im 4.15.0 把 DeepSeek Harness 接入消息平台"
seo_title: "dsh-im 4.15.0 教程：DSH 接入飞书、微信与 Telegram"
description: "按 DeepSeek Harness（DSH）0.1.2-rc.1 与 dsh-im 4.15.0 说明飞书扫码接入、微信与 Telegram 差异、访问模式、工作区、长任务补发及退出清理。"
canonical: https://52dsh.com/tutorials/xmanrui-dsh-im-install-config/
authors: ["52DSH 编辑部"]
audience: []
outcomes: []
prerequisites: ["Node.js 与 pnpm","独立 web Profile","可丢弃测试工作区"]
difficulty: advanced
estimated_action_time: null
next_steps: null
published_at: 2026-08-22
updated_at: 2026-09-12
verified_on: 2026-09-08
maintenance_status: community
verification_level: source_reviewed
risk_level: high
dsh_version: 0.1.2-rc.1
plugin_id: xmanrui-dsh-im
tutorial_kind: plugin_configuration
related_plugin_url: https://52dsh.com/plugins/xmanrui-dsh-im/
---

# 用 dsh-im 4.15.0 把 DeepSeek Harness 接入消息平台

按 DeepSeek Harness（DSH）0.1.2-rc.1 与 dsh-im 4.15.0 说明飞书扫码接入、微信与 Telegram 差异、访问模式、工作区、长任务补发及退出清理。

dsh-im 4.15.0 把九种消息渠道接入 DSH，新增默认关闭的飞书分步直推、渠道标题标识，并修复文件回传与旧投递目标加载。

如果你的目标是把飞书、微信、Telegram 等消息平台安全接入 DSH 并限制远程权限，本教程会说明如何在 DeepSeek Harness（DSH）中准备、安装、配置、验证和回退 dsh-im。本文锁定作者仓库提交 `e4b501377901`；已复核固定提交的原始资料，未进行运行实测。

> 对应插件：[查看 dsh-im 的功能、权限与兼容性说明](/plugins/xmanrui-dsh-im/)。先确认它适合你的工作流，再执行安装。

## 新版候选复核（2026-09-12）

**4.20.0 暂缓替换安装目标。** 4.20.0 增加会话专属工作区；跨项目路由与重启恢复尚未验收。

### 群线程和私聊如何选择工作区

候选 4.20.0 新增 `/conv`：为当前对话设置显式工作区，清除后跟随 bot 默认；`/workspace` 仍管理 bot 默认。不要把修改 bot 默认理解为只影响当前群线程。

固定源码将 `conversationWorkspaces` 持久化，并保存切换代际；显式 Session 绑定、异步选模和旧菜单都需要围绕有效工作区核对。试验时应使用两个合成项目，验证切换后新消息不会进入旧项目，并检查写入失败和重启后的实际归属。本站没有执行这些渠道试验。

精确 npm 包 integrity 通过，本轮抽取的 334 个文本文件与固定 tag 一致（不代表独立重建编译产物）。包的兼容表仍未列 0.1.5-rc.1，这不是已证实不兼容；真实宿主和飞书、Telegram、微信等渠道仍待验收。微信错误分类与诊断改进来自候选发行说明，不把旧安装版本说成已经具备。

保留 DSH 0.1.2-rc.1 + IM 4.15.0 原安装组合和允许用户/工作区限制，不将生产 Bot 用于排障试验。

候选固定源码：[证据 1](https://github.com/xmanrui/dsh-im/blob/124413cd173afc87ff30c23ca4c596c25c995070/package.json)、[证据 2](https://github.com/xmanrui/dsh-im/blob/124413cd173afc87ff30c23ca4c596c25c995070/src/channels/shared/bot-workspace-store.mjs)、[证据 3](https://github.com/xmanrui/dsh-im/blob/124413cd173afc87ff30c23ca4c596c25c995070/src/channels/shared/workspace-command.mjs)、[证据 4](https://github.com/xmanrui/dsh-im/blob/124413cd173afc87ff30c23ca4c596c25c995070/test/conversation-workspace-races.test.mjs)。以下安装步骤继续对应 4.15.0。

## 先选渠道，再准备账号

DSH IM 把手机消息转交给运行在电脑上的 DSH。电脑、DSH Host 和对应渠道连接需要持续运行；关掉 Host 后，手机上的 Bot 不能替它执行任务。本教程完整展开飞书扫码路径；微信与 Telegram 提供接入差异，均以 DSH `0.1.2-rc.1` + IM `4.15.0` 为依据，以下“预期结果”不是本站实测。

| 渠道 | 账号与凭据 | 消息交互 | 开始前确认 |
|---|---|---|---|
| 飞书 | 能完成应用创建/授权的飞书账号；扫码创建或已有应用的 App ID + App Secret | 长连接、流式卡片、问题与审批 | 租户允许创建或安装应用；审核所申请权限；本页按扫码流程 |
| 微信 | 微信扫码绑定的腾讯 iLink Bot 会话 | 长轮询、正在输入提示、最终文本分段 | 以当前账号扫码引导是否可完成为准，不承诺所有账号可接入；这不是企业微信 |
| Telegram | 从 BotFather 获取 Bot Token | Bot API 长轮询；私聊草稿预览，平台不支持时回退文字 | 本机能访问 Bot API；兼容模式默认接受私聊，首次应切到安全模式并配置数字 User ID |

企业微信是另一条渠道，使用企业微信智能机器人的 Bot ID + Secret 与 WebSocket，不能把它填进微信 iLink 或飞书字段。飞书、Lark 同类插件也不等于本插件，安装前核对包名 `@xmanrui/dsh-im`。

先完成一个私聊任务，再决定是否开放群聊、上下文增强、文件回传或双向同步。工作区绑定帮助选择任务目录，但不代替 DSH 的工具与文件权限控制。

## 先确认是否适合你

- **分类**：通知远程
- **风险等级**：high
- **核验证据**：source_reviewed
- **兼容性边界**：4.15.0 要求 Node.js >=22.19，清单列出 DSH 0.1.2-rc.1、0.1.3-alpha.1 等 Web 组合，未列 alpha.2；本站固定 rc.1 静态审阅，未运行真实渠道或模型任务。
- **主要权限关注**：需要平台凭据和远程会话访问权；逐 Bot 核对私聊/群聊白名单、特权绑定账号、命令权限与工作区。Telegram 兼容模式默认允许私聊。附件发送可读取 Harness 可读文件，插件不额外提供工作区路径隔离；管理 RPC 默认 loopback。 分步直推会发送工具参数摘录与错误片段，截断不等于脱敏；飞书群内其他 Bot 的明确 @ 可进入访问策略检查。

如果你准备在重要工作区使用，先阅读插件详情页的权限和数据流说明；“源码已审阅”或“资料已整理”都不等于安全认证。

## 安装前准备

**本页 DSH 命令版本：** `0.1.2-rc.1`。4.15.0 要求 Node.js >=22.19，清单列出 DSH 0.1.2-rc.1、0.1.3-alpha.1 等 Web 组合，未列 alpha.2；本站固定 rc.1 静态审阅，未运行真实渠道或模型任务。

- **测试 Bot**：只使用单个平台的测试 Bot、测试联系人和可撤销凭据。
- **隔离工作区**：准备不含生产代码与秘密的独立工作区。

1. 安装 Node.js 22.19、Node.js 24 或项目当前声明支持的更高版本，并确认 `pnpm` 可用。
2. 使用独立的 `web` Profile 和可丢弃测试工作区，不直接连接生产目录。
3. 备份当前 Profile 配置，并记录安装前的 `--dump-config` 输出。
4. 核对固定来源中的外部服务、账号、运行时和平台限制。
5. 需要凭据时只准备测试凭据；本页识别到的候选变量包括 `DSH_IM_INTERACTION_CARDS`。

## 安装 dsh-im

52DSH 使用目录中记录的精确安装目标，避免直接跟随可能变化的默认分支：

```bash
npx --yes @deepseek-ai/dsh@0.1.2-rc.1 plugin --profile web add @xmanrui/dsh-im@4.15.0
```

GitHub 源码插件如果被 pnpm 拦截构建脚本，先检查终端提示的具体包和脚本。只在 `web` Profile 中放行确实需要的构建项，不要全局放行未知依赖。



## 插件专属配置

### 配置目标

- `profiles/web`：加载 dsh-im 4.15.0；管理 RPC 保持默认 loopback。
- `DSH Web → 设置 → IM机器人`：选择飞书渠道，添加 Bot，再逐 Bot 设置工作区与访问模式。

### 环境变量

- `DSH_IM_INTERACTION_CARDS`（可选）：设为 0 可关闭飞书交互卡片并使用纯文本流程。

### 固定版本安装与配置检查

证据：[固定来源](https://github.com/xmanrui/dsh-im/blob/e4b5013779015fb70979963d186441cbc572820c/package.json)。将路径、账号和凭据占位符替换为测试值。

```bash
npx --yes @deepseek-ai/dsh@0.1.2-rc.1 plugin --profile web add @xmanrui/dsh-im@4.15.0
npx --yes @deepseek-ai/dsh@0.1.2-rc.1 --profile web --dump-config
```

### 安装后设置

1. 安装后重启 DSH Web，进入“设置 → IM机器人”；先只接入一个飞书测试 Bot。
2. 完成下方飞书路径后再启用其他渠道；上下文增强和双向同步先保持关闭。
3. 模型和 Agent preset 改动只作用于新 Session；用 /new 后发送普通消息创建新会话，再检查实际模型。


### 飞书最小接入路径

1. **准备平台账号与测试目录。** 选择你能管理应用的飞书租户，准备不含密钥的可丢弃目录。没有应用创建/安装权限时，先由租户管理员按组织流程处理，不跳过平台审批。
2. **进入准确入口。** 重启本页版本的 DSH Web，打开“设置 → IM机器人 → 飞书”，点击“扫码接入机器人”。使用飞书扫码，核对租户、应用与权限再确认；保持设置页打开，等待新机器人的长连接就绪。
3. **已有应用走另一条绑定入口。** “使用 App ID 和 App Secret 绑定飞书机器人”接收飞书开放平台中的这两个字段；不要填写 Telegram Token 或群自定义机器人的 Webhook。本页完整示例采用扫码自动创建；手动应用的消息事件与权限应按插件内置引导核对，不照搬一个公网回调 URL。
4. **核对平台权限。** 新建扫码流程会申请消息和卡片能力。读取用户消息内的图片/文件需要 `im:message:readonly`（平台显示“获取单聊、群组消息”），上传文件需要 `im:resource`，原生命令面板涉及 `application:app_slash_command:read` / `write`，交互卡片涉及 `card.action.trigger` 回调。已有应用缺项时使用 Bot 的“补全权限”或私聊 `/repair`，看清增量申请项并完成平台要求的审批；不为文本试用额外开启群内全部消息接收。
5. **限定访问。** 在 Bot 的访问设置中分别检查“私聊”“群聊”，选择白名单模式；本例只允许测试私聊，群聊不新增用户。用户字段是该应用对应的“飞书 Open ID”，不能用显示名代替。绑定的 owner 账号另有特权识别，即使普通白名单为空也不代表它已被禁用。需要 `/new`、`/stop` 等命令时，仅给相应测试用户命令权限。
6. **绑定工作区。** 在该 Bot 卡片选择测试目录；新 Bot 默认工作区来自 Host 启动目录，必须主动核对。保持上下文增强与 Session 双向同步关闭，用 `/new` 后发送普通消息创建新 Session，避免沿用原会话目录。
7. **检查连接与消息链。** 等待 Bot 长连接显示就绪，再从允许账号发下方最小任务。在 DSH 中查看对应 Session、目录和任务状态，最后对照飞书回复。只出现“在线”说明连接已建立，不能证明任务或回传完成。

本机 Host 默认直接复用 DSH 内部服务，不要求开放公网端口或另配远程 Harness 地址。管理 RPC 保持 `loopback`；`trusted-host` 只复用 Host/Origin 防护，不提供用户认证。

依据：[飞书设置入口与权限补全](https://github.com/xmanrui/dsh-im/blob/e4b5013779015fb70979963d186441cbc572820c/plugin-src/client/channels/feishu/index.js)、[访问模式字段](https://github.com/xmanrui/dsh-im/blob/e4b5013779015fb70979963d186441cbc572820c/plugin-src/client/access-policy-settings.js)及[特权账号与初始化策略](https://github.com/xmanrui/dsh-im/blob/e4b5013779015fb70979963d186441cbc572820c/plugin-src/host/channels/shared/access-policy-production.mjs)。

### 微信与 Telegram 的配置差异

| 项目 | 微信 iLink | Telegram |
|---|---|---|
| 入口与必需字段 | “IM机器人”的微信渠道，按二维码绑定；不填 App ID/Secret | Telegram 渠道填 BotFather 的 Bot Token |
| 首次访问约束 | 核对实际绑定账号及逐 Bot 访问设置；不沿用企业微信账号概念 | 主动启用安全模式（私聊白名单），数字 User ID 每行一个；空名单拒绝全部入站 |
| 群聊与命令 | 不把其他平台群聊/Topic 行为推导给 iLink | 安全模式忽略群聊；兼容模式群聊需提及或回复 Bot |
| 长任务与重连 | 4.15.0 另存按凭据关联的 context token，仍需平台允许回传 | 先确认 Bot API 网络可达，不用反复重新生成 Token 代替排障 |

飞书网络若依赖代理，源码长连接读取 `HTTPS_PROXY`（兼容小写与 `HTTP_PROXY` 回退），不读取 `ALL_PROXY` / `NO_PROXY`；修改后重启 Host。Telegram 代理条件与 Node 版本另见固定 README，不把两渠道代理规则混用。

### 飞书分步直推与新增权限

在“设置 → IM机器人 → 飞书”的对应 Bot 卡片开启“分步直推”；默认关闭，按 Bot 保存并即时应用，不需要重连。首次只在测试私聊开启，用无敏感的目录概括任务查看工具过程与最终回复。关闭后恢复原有流式卡片路径。

过程消息可能包含工具参数前 400 字符和错误片段。**截断不是脱敏**，不要把含凭据、客户路径或私密内容的任务用于测试。每轮最多 200 条计数过程消息，并有 250ms 最小发送间隔；达到上限仍会尝试最终回答，不代表平台必定接收。

4.15.0 的扫码新建和“补全权限”/`/repair` 增量申请 `im:message.group_at_msg.include_bot:readonly`，用于接收群内其他机器人明确 @ 当前机器人的消息。仍需通过群聊访问策略和命令权限；未明确 @、自发消息与机器人私聊继续忽略。首次保持群聊关闭或严格白名单，不要为了看到过程开放全部群消息。

## 配置验证与成功结果

先导出配置，再启动同一版本的 DSH Web：

```bash
npx --yes @deepseek-ai/dsh@0.1.2-rc.1 --profile web --dump-config
npx --yes @deepseek-ai/dsh@0.1.2-rc.1 web
```

1. **使用授权测试账号发送下方只读目录请求，依次对照平台消息、DSH Session 和最终回复。**

   期望结果：三个位置对应同一次请求，目录与 Bot 绑定一致；仅显示已连接不算任务完成。

2. **在受控测试中用未列入白名单、也不是绑定特权账号的账号发送普通消息。**

   期望结果：请求不进入 DSH Session；若进入，立即停用 Bot 并重新检查私聊与群聊策略。

3. **若确需双向同步，仅对当前 Host 的测试私聊开启，从 Web 发一条不含敏感信息的文字，再关闭。**

   期望结果：只有指定私聊收到同步文本；关闭后停止新增同步，不把群聊、Topic/Thread 或远程 harness 当作覆盖范围。

## 第一次使用

- 在可丢弃目录放入一个自己创建的 notes.txt；从允许账号发送：“只读取当前工作区第一层的文件名称与类型，用三行概括。不要递归、修改、下载、执行脚本或发送附件。”
- 记录输入时间、Bot、工作区、DSH Session、最终回复；如果出现写入或审批请求，拒绝并停止，保留错误原文后排查。

## 长任务、停止与双向同步

| 情况 | 4.15.0 的行为 | 你需要做什么 |
|---|---|---|
| 前台回复等待超时 | 为原路由、Session、Turn、prompt 保存补发记录，后台继续检查原任务，不重新提交请求 | 先在 DSH 看原 Session，不重复发送相同任务 |
| 原任务完成 | 尝试把终态文字送回原目标；不补发附件、问题或审批交互 | 对照 Session 完整产物，必要时单独处理附件 |
| 使用 `/stop` | 对待补发任务核对原始身份后尝试取消；Host 不支持该安全取消路径时提示人工处理 | 检查 Session 已结束；“发过 stop”不等于已停止 |
| 换绑或清理会话 | 投递前重新核对绑定，旧任务结果不会因此转发到新绑定 | 在旧 Session 核对任务是否仍运行，换绑本身不是取消任务 |
| 正常重启 Host | 保存补发记录，重启后继续检查 | 不把重启当作清空队列 |
| 网络失败或崩溃 | 有界重试；不确定是否已送达时不自动反复重发，仍有崩溃后重复投递窗口 | 对照原回复与 Session，不能依赖“恰好一次”保证 |

每条会话路由最多保留 4 条待补发记录，更多记录可能挤掉最旧项；不应把 Bot 当作可靠任务队列。补发机制依据[固定版本设计与边界](https://github.com/xmanrui/dsh-im/blob/e4b5013779015fb70979963d186441cbc572820c/docs/deferred-delivery.md)。

**双向同步是另一个功能。** 默认关闭；开启后会把 Web 侧用户文本和完成的助手文本发送到所选 IM 私聊。它限当前 Host 的私聊文本，不覆盖群聊、Topic/Thread、显式远程 Harness，也不等同于 IM 发起任务的正常回复。关闭同步后 Bot 仍可能接收新任务或完成旧任务。

### 渠道标识和文件回传怎样验证

本机 IM 会话标题可出现“飞书 · 标题”等渠道前缀，兼容的 Web 列表用渠道图标展示；不识别的页面结构保留文字。标题由 Host 追加 `session/title` 事件，保持原有标题来源，不等同于调用手动重命名锁定标题。显式远程 `harnessBaseUrl` 连接需在目标 Host 安装插件。卸载会撤销浏览器图标样式，**不会自动删除已保存的标题前缀事件**。

用自己创建的无敏感小文件测试 `dsh_im_return_file`，同时核对当前 Session、当前 Turn 和平台附件。新版优先从 `snapshotEvents()` 找当前回合，并保留旧 events 路径；该修复不扩大文件系统隔离能力，也不保证所有 alpha.2 组合可用。

## 数据、权限与凭据

**数据流：**平台文本、引用与附件 → 本机渠道 Host → 访问策略、工作区与 DSH Session → 工具及模型 Provider → 文本、审批卡片和文件返回平台。超时补发会持久化路由、Session、Turn、原始 prompt 标识；微信另存按凭据关联的 context token 缓存。 分步直推将工具参数和助手过程文本发送到飞书；渠道标识通过追加 session/title 事件持久化，浏览器图标只是展示层。

**权限关注：**需要平台凭据和远程会话访问权；逐 Bot 核对私聊/群聊白名单、特权绑定账号、命令权限与工作区。Telegram 兼容模式默认允许私聊。附件发送可读取 Harness 可读文件，插件不额外提供工作区路径隔离；管理 RPC 默认 loopback。 分步直推会发送工具参数摘录与错误片段，截断不等于脱敏；飞书群内其他 Bot 的明确 @ 可进入访问策略检查。

**数据存储：**平台保存消息；DSH 保存 Session 和凭据，插件按渠道、Bot 保存配置、工作区绑定及补发状态。默认渠道根目录在 DSH Home 的 integrations 下，例如 dsh-feishu、dsh-weixin，显式 dataDir 可改变位置。微信 context token 缓存与凭据 hash 关联，不能把状态文件当作完全无敏感信息。入站附件另有 TTL，默认 168 小时，0 为回合结束、-1 为永久；不保证清理未知旧目录或外发文件。 渠道标题前缀可进入 Session 日志，过程消息保存在飞书；插件卸载不自动撤回这些内容。

真实 Token、API Key、Cookie 和账号 ID 不应写进 Git 仓库、网页截图或公开 Issue。测试结束后撤销临时凭据。

## 卸载、回退与清理

停止 DSH 后，从同一个 Profile 移除包：

```bash
npx --yes @deepseek-ai/dsh@0.1.2-rc.1 plugin --profile web remove @xmanrui/dsh-im
```

1. 关闭 Session 双向同步只停止 Web → IM 的新增同步，Bot 仍可接收入站消息；要停止远程任务须停用/断开该 Bot，必要时停止 DSH Host。
2. 先在原会话处理 /stop 与待补发记录，核对任务确已结束，再断开 Bot。普通 Host 重启会保留补发记录；不要把重启当作取消。
3. 停止 DSH 后按上方命令从同一 web Profile 移除包，重启核对 Bundle 与插件设置入口；再按实际 dataDir 定位附件、状态与缓存，备份后选择性清理。
4. 到平台撤销或轮换 App Secret、Bot Token、扫码会话；核对本机凭据引用及其他 Bot 是否共用，单独处理平台留存。卸载依赖不会完成这些撤销。
5. 回退时恢复升级前 Profile、锁文件、插件版本及匹配状态副本。程序和数据的处理见 [更新与卸载指南](/tutorials/dsh-update-uninstall/)。
6. 分步直推关闭不撤回平台已发送的过程消息；回退到 4.13.0 前恢复匹配 Profile 与状态备份，并单独处理新增飞书授权。

## 按症状排查

| 症状 | 按顺序检查 | 预期现象与停止条件 |
|---|---|---|
| 完全收不到消息 | Bot 是否连接 → 发件账号/私聊群聊模式 → 平台安装与消息权限 | 允许消息进入对应 Session；身份不明时停用 Bot，不直接改开放模式 |
| 已连接但不回复 | Session 是否收到 → Provider/模型错误 → 平台回传权限与网络 | 同一请求有终态与回复；出现鉴权错误先修对应凭据 |
| 执行目录不对 | Bot 工作区 → 原 Session 绑定 → `/new` 后新请求 | 新任务使用测试目录；目录异常立即停止任务 |
| 等待审批 | 在 DSH 核对具体工具、路径与请求 → 飞书卡片权限/回调 → 命令权限 | 仅处理自己发起的请求；不认识的操作拒绝，不关闭全部审批 |
| 长任务一直没结果 | 原 Session 状态 → 是否进入补发 → Host 在线与当前绑定 → 平台发送错误 | 先核对原任务，不重复提交；需要结束时 `/stop` 后复查 |
| 更新后设置入口消失 | 固定版本组合 → 同一 Profile 的 Bundle → 重启 Host | 仍失败就恢复升级前完整备份，不通过增加权限修复 |

排查时保留脱敏错误原文、Bot 与 Session 对应关系。凭据、二维码和包含个人消息的状态文件不进入公开工单。

### 有过程消息却没有最终回答

先查看同一 Session 的任务终态，再查飞书发送失败与权限。长回答按富文本 JSON 字节分段，失败从失败分段恢复，另有文字降级路径；不要把看到工具消息当成最终投递成功。群聊已有话题内的回复按真实话题结构投递，“群话题回复”开关只决定普通群消息是否新建话题。

## 常见问题

### 飞书白名单为空，为什么绑定账号仍可操作？

绑定的 owner Open ID 属于特权账号，源码在普通访问策略之外识别它；空白名单不是停用 Bot。要完全停止访问，应断开 Bot 并按需撤销凭据。

### 机器人可以回答文本，为什么附件仍需谨慎？

文件回传对已连接 Bot 默认可用；插件不额外限制 Harness 可读的文件路径。允许用户与工作区绑定不等于文件系统沙箱，应同时核对 DSH 的工具权限与可读目录。

### 分步消息出现了，最终结果却没收到

核对 Session 终态和飞书投递错误；过程成功不等于最终成功，不重复提交原任务。

### 卸载后渠道文字前缀还在

图标样式与持久化标题事件不同；卸载不撤销已追加的 session/title，不手工删除会话日志。

### 安装成功但页面或命令没有出现

先运行 `--dump-config` 确认 Bundle 已进入 `web` Profile，再重启 DSH Web 并硬刷新浏览器。不要通过反复扩大权限来解决加载问题。

### 插件运行后没有得到预期结果

把问题缩小到本页的最小验证任务，检查作者文档要求的变量、外部服务和平台限制。保存终端错误原文，并核对当前安装目标是否仍对应本页固定提交。

作者固定资料中未识别到独立故障章节。遇到插件特有错误时，应先停止 DSH、保留日志并回退插件。

## 固定来源证据

以下资料是本文配置结论的依据：

- [README.md](https://github.com/xmanrui/dsh-im/blob/e4b5013779015fb70979963d186441cbc572820c/README.md)

继续查看：[返回 dsh-im 插件详情页](/plugins/xmanrui-dsh-im/)，重新核对兼容性、权限、同类插件和来源状态。

## 原始来源

- https://github.com/xmanrui/dsh-im
- https://github.com/xmanrui/dsh-im/blob/124413cd173afc87ff30c23ca4c596c25c995070/package.json
- https://github.com/xmanrui/dsh-im/blob/124413cd173afc87ff30c23ca4c596c25c995070/src/channels/shared/bot-workspace-store.mjs
- https://github.com/xmanrui/dsh-im/blob/124413cd173afc87ff30c23ca4c596c25c995070/src/channels/shared/workspace-command.mjs
- https://github.com/xmanrui/dsh-im/blob/124413cd173afc87ff30c23ca4c596c25c995070/test/conversation-workspace-races.test.mjs
- https://github.com/xmanrui/dsh-im/blob/e4b5013779015fb70979963d186441cbc572820c/README.md
- https://github.com/xmanrui/dsh-im/blob/e4b5013779015fb70979963d186441cbc572820c/plugin-src/client/channels/feishu/index.js
- https://github.com/xmanrui/dsh-im/blob/e4b5013779015fb70979963d186441cbc572820c/plugin-src/client/access-policy-settings.js
- https://github.com/xmanrui/dsh-im/blob/e4b5013779015fb70979963d186441cbc572820c/plugin-src/host/channels/shared/access-policy-production.mjs
- https://github.com/xmanrui/dsh-im/blob/e4b5013779015fb70979963d186441cbc572820c/docs/deferred-delivery.md
- https://github.com/xmanrui/dsh-im/blob/e4b5013779015fb70979963d186441cbc572820c/src/channels/weixin/state-store.mjs
- https://github.com/xmanrui/dsh-im/blob/e4b5013779015fb70979963d186441cbc572820c/plugin-src/host/session-title-prefix.mjs
- https://github.com/xmanrui/dsh-im/blob/e4b5013779015fb70979963d186441cbc572820c/plugin-src/host/index.mjs
- https://github.com/xmanrui/dsh-im/blob/e4b5013779015fb70979963d186441cbc572820c/plugin-src/client/session-channel-logos.js
- https://github.com/xmanrui/dsh-im/blob/e4b5013779015fb70979963d186441cbc572820c/plugin-src/host/channels/feishu/rpc.mjs
- https://github.com/xmanrui/dsh-im/blob/e4b5013779015fb70979963d186441cbc572820c/src/channels/feishu/plugin-config-store.mjs
- https://github.com/xmanrui/dsh-im/blob/e4b5013779015fb70979963d186441cbc572820c/src/channels/feishu/repair-manager.mjs
- https://github.com/xmanrui/dsh-im/blob/e4b5013779015fb70979963d186441cbc572820c/src/channels/feishu/plugin-controller.mjs
- https://github.com/xmanrui/dsh-im/blob/e4b5013779015fb70979963d186441cbc572820c/src/channels/shared/harness-client.mjs
- https://github.com/xmanrui/dsh-im/blob/e4b5013779015fb70979963d186441cbc572820c/src/channels/shared/bot-workspace-store.mjs
- https://github.com/xmanrui/dsh-im/blob/e4b5013779015fb70979963d186441cbc572820c/src/channels/shared/semantic/artifact.mjs
- https://github.com/xmanrui/dsh-im/blob/e4b5013779015fb70979963d186441cbc572820c/package.json
