DeepSeek Harness 的 Discord 原生远程控制器:通过私信、需提及机器人的服务器频道及 Thread 操作持久化的编程 Agent Session,并支持斜杠命令、进度更新、工具审批、结构化问题、图片和文本附件。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:suuuuuu-1/dsh-discord
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本。请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README

DeepSeek Harness 的双向 Discord 桥接与远程控制插件。
插件以独立 discord profile 运行,支持单 Owner、单 Project,以及 Discord DM、服务器文字频道和 Thread。每个 Discord 会话独立映射一个可恢复的 DSH Session;普通文本使用 followup,运行中自动排队,只有 /dsh steer 进入当前任务最近的步骤。
消息触发规则:Owner 在 DM 中可直接对话;Guild 普通文字频道中的自然语言必须明确 @Bot;陌生 Thread 的第一条任务也必须 @Bot,一旦 Thread 已绑定 DSH Session,后续对话无需重复 mention。/dsh Slash Command 始终不要求 mention。未触发的消息会静默忽略。
功能
- DM、Guild 文字频道和 Thread 普通消息
- 每个频道/Thread 独立创建、恢复和持久化 Session
/dsh help、/dsh status、/dsh new、/dsh stop、/dsh steer- 合并限频的进度消息、工具安全摘要和最终结果
- 长结果作为 Markdown 文件发送,禁止 Agent 输出触发 Discord 提及
- 一次性工具审批按钮和结构化问题(选择器、Modal)
- 图片附件通过
ctx.attachments持久化;UTF-8 文本与代码附件直接进入用户消息 - Discord 事件持久去重、Gateway 自动重连、v1 状态自动迁移
- 前台运行及受管后台运行(PID 与独立日志)
- Token 只通过 DSH Credentials 保存和解析
插件不修改 DSH 核心,也不会安装进 web profile。
要求
- Node.js
^22.19.0或>=24 - DeepSeek Harness
dshCLI - Discord Bot 应用及 Token
- Discord Developer Portal → Bot → Privileged Gateway Intents 中开启 Message Content Intent
Bot 安装到服务器后,应在需要使用的频道拥有 View Channel、Send Messages、Send Messages in Threads、Read Message History、Embed Links 和 Attach Files。setup 生成的邀请链接会请求这组权限,doctor 也会检查同一组权限。插件不维护额外的 Guild/Channel 白名单;Discord 自身的服务器、频道和角色权限决定 Bot 能看到哪里。为了避免其他成员控制本机,入站操作仍只接受配置的 Owner ID。
安装与运行
# npm 正式发布前,先从 GitHub 安装 CLI。
npm install --global github:suuuuuu-1/dsh-discord
dsh-discord setup --package-spec github:suuuuuu-1/dsh-discord
dsh-discord doctor
dsh-discord start
后台运行:
dsh-discord start --daemon
dsh-discord status
dsh-discord stop
全局安装的 CLI 只负责启动和管理插件。插件本体仅在专用 discord profile 中启用,并固定到 setup 时选择的单个项目目录;它不会自动出现在每个工作目录,也不会安装进 web profile。
setup 会验证 Token、生成邀请链接、选择项目目录、将包安装到专用 profile,并通过 ctx.credentials 保存 Token。不要把 Token 放进聊天、普通配置、日志或命令行参数。
配置文件默认位于:
~/.dsh/profiles/discord/cordis.patch.yml
凭据位于 DSH 管理的:
~/.dsh/.credentials.yaml
配置只引用 DSH_DISCORD_BOT_TOKEN,不保存明文值。
附件
当前 DSH 官方附件 seam 支持 PNG、JPEG、WebP 和 GIF。dsh-discord 还支持最大 512 KiB/个、合计 1 MiB 的 UTF-8 文本与常见代码文件。PDF、压缩包、音视频及其他二进制附件会明确拒绝,不会写入项目目录。
开发验证
没有真实 Token 时使用 FakeDiscordTransport:
npm ci --ignore-scripts
npm run typecheck
npm test
npm run build
npm run smoke
详细架构见 DESIGN.md,安全边界见 SECURITY.md。
链接
同类插件
alvinunreal/openpets#dsh★ 1072
将 DeepSeek Harness 的生命周期状态、错误与审批请求,桥接到本地运行的 OpenPets 桌面伙伴。
shaobeichen/dsh-pocket★ 92
手机远程访问 DSH Web 界面:扫码即用局域网或公网(cloudflared 隧道)访问,实时同屏、移动端适配布局,带设置页管理。
omdsh-dev/dsh-notification★ 59
回合完成桌面通知,按结果分控 + 关键词过滤。
omdsh-dev/dsh-open-in-vscode★ 49
从 Web GUI 一键在 VS Code 中打开工作区目录。
xmanrui/dsh-im★ 44
通过二维码或机器人凭据将 IM 机器人接入 DeepSeek Harness(支持飞书、微信、钉钉、企业微信、QQ、Slack、Telegram、Discord 和 WhatsApp 共 9 种渠道)。
whyihaveyou/dsh-suite#plugin-notify★ 39
回合完成、错误或待审批时推送 IM webhook(飞书/企微/钉钉/Slack/Discord/自定义)与本地通知。