dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
把 DSH 工作区与飞书群一一对应,并在 DSH 会话和飞书群之间实时双向同步消息。
离开电脑后,直接在飞书群里继续推进 DSH 工作区任务。无需公网回调地址,也不会读取历史消息。
插件只做三件事:
sequenceDiagram
participant DSH as DSH 会话
participant Bridge as Workspace Bridge
participant Feishu as 飞书私有群
DSH->>Bridge: 助手完成一次回复
Bridge->>Feishu: 按需建群并发送回复
Feishu->>Bridge: 用户发送群消息
Bridge->>DSH: 按顺序加入会话队列
Bridge->>Feishu: 添加 OK 表情确认接收
queue 模式排队,不会打断当前任务。lark_md 消息发送;长消息会分段发送,不会静默截断。| 项目 | 已验证范围 |
|---|---|
| DSH | 0.1.7-alpha.1 实机双向收发与生命周期验证 |
| Node.js | 20、22、24 持续集成测试 |
| macOS | 实机运行;App Secret 使用系统钥匙串 |
| Linux | Ubuntu CI 全量测试;App Secret 使用 0600 本机凭证文件 |
| 飞书 | 企业自建应用、机器人、长连接事件订阅 |
DSH 当前仍处于开发者预览阶段。上游接口出现兼容性变化时,请提交 Issue 并附上 DSH 版本和诊断页错误信息。
dsh plugin --profile web add dsh-plugin-feishu-workspace
也可以直接从 GitHub 主分支安装开发版本:
dsh plugin --profile web add github:bandianliancha/feishu-workspace-bridge
安装后重启 DSH Web:
dsh web --no-open
打开 DSH 设置中的“飞书机器人”,填写:
App IDApp SecretOpen ID,格式为 ou_...点击“保存并验证”。插件会在保存前检查机器人、事件订阅和全部必需权限。验证失败时不会覆盖已有配置。
已经保存过 App Secret 后,可以留空并重新执行权限验证。
在飞书开放平台完成以下配置。
进入“添加应用能力”,添加机器人能力。
在“事件与回调”中选择“使用长连接接收事件”,并订阅:
im.message.receive_v1
本地运行不需要公网回调地址。
| 权限 | Scope | 用途 |
|---|---|---|
| 创建群聊 | im:chat:create | 首次同步时创建工作区群 |
| 获取与更新群组信息 | im:chat | 邀请成员、改群名、改为私有群和解散群 |
| 以应用身份发消息 | im:message:send_as_bot | 将 DSH 回复同步到群 |
| 接收群聊消息 | im:message.group_msg | 将群消息同步到 DSH |
| 添加消息表情回复 | im:message.reactions:write_only | 接收成功后添加 OK 表情 |
| 管理应用自身信息 | application:application:self_manage | 验证已发布事件订阅 |
插件不使用企业自定义群标签权限,因此无需申请群标签审核。
0600 的本机凭证文件 ~/.dsh/feishu-workspace-bridge.secrets.json。~/.dsh/feishu-workspace-bridge.sqlite。FEISHU_WORKSPACE_BRIDGE_DB 指定其他数据库路径。群不会在创建空工作区时立即生成。只有该工作区第一次产生需要同步的助手消息时才会建群,避免创建大量空群。
已有工作区不需要手工迁移。插件启动后会检查已经绑定的群,补同步群名和私有群配置。
DSH 设置中的“飞书机器人”页面提供运行诊断,显示:
诊断数据不包含 App Secret、访问令牌或消息正文。点击“重试失败消息”可以立即重试持久化队列中的失败消息。
检查:
im.message.receive_v1。ws client ready。按照错误信息中的 scope 在飞书开发者后台开通权限,并发布新版本,然后再次点击“保存并验证”。
检查 im:message.reactions:write_only 是否已经随最新应用版本发布。
DSH 只在启动时加载服务端插件。修改插件后需要重启 dsh web。
npm install
npm run check
测试覆盖权限门禁、按需建群、私有群配置、成员邀请、双向消息、Markdown 分段、消息确认、失败重试、重启恢复、幂等发送、工作区删除联动、凭证迁移和去重清理。
提交改动前请阅读 CONTRIBUTING.md,安全问题请按照 SECURITY.md 私下报告。
MIT © bandianliancha