在 Discord 频道与私聊中远程驱动 DSH 会话
34.5/100
综合分
2
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查有告警:npm 同名包「dsh-discord」归属 dushaobindoudou/dsh-discord,装到的可能不是本插件。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add suuuuuu-1/dsh-discord该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · platform
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 66 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意npm 同名包「dsh-discord」归属 dushaobindoudou/dsh-discord,装到的可能不是本插件
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-discord @ 0.0.1
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/1 04:57:38
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 30 处,展示前 30 条)
- 执行外部命令固定命令src/cli/doctor.ts:5
const result = spawnSync('dsh', ['--profile', 'discord'], { - 读取本地文件src/cli/setup.ts:25
const projectRoot = await realpath(resolve(enteredProject.trim() || process.cwd())) - 执行外部命令固定命令src/cli/setup.ts:52
const result = spawnSync('dsh', ['--help'], { stdio: 'ignore', shell: process.platform === 'win32' }) - 执行外部命令固定命令src/cli/setup.ts:57
const result = spawnSync('dsh', args, { stdio: 'inherit', env, shell: process.platform === 'win32' }) - 读取本地文件src/cli/setup.ts:64
if (!existsSync(dirname(filename))) mkdirSync(dirname(filename), { recursive: true }) - 写入本地文件src/cli/setup.ts:64
if (!existsSync(dirname(filename))) mkdirSync(dirname(filename), { recursive: true }) - 写入本地文件src/cli/setup.ts:79
writeFileSync(filename, content, { encoding: 'utf8', mode: 0o600 }) - 请求外部主机discord.comsrc/cli/setup.ts:83
const response = await fetch('https://discord.com/api/v10/oauth2/applications/@me', { - 发起网络请求src/cli/setup.ts:83
const response = await fetch('https://discord.com/api/v10/oauth2/applications/@me', { - 执行外部命令来自配置/变量src/cli/start.ts:23
const child = spawn(launch.command, [...launch.prefixArgs, '--profile', 'discord'], { - 执行外部命令固定命令src/cli/start.ts:44
const result = spawnSync('taskkill.exe', ['/PID', String(runtime.pid), '/T', '/F'], { - 写入本地文件src/cli/start.ts:72
mkdirSync(logs, { recursive: true }) - 执行外部命令来自配置/变量src/cli/start.ts:81
child = spawn(launch.command, [...launch.prefixArgs, '--profile', 'discord'], { - 写入本地文件src/cli/start.ts:97
writeFileSync(runtimeFilename(), JSON.stringify(runtime, undefined, 2) + '\n', { encoding: 'utf8', mode: 0o600 }) - 执行外部命令固定命令src/cli/start.ts:104
const located = spawnSync('where.exe', ['dsh.cmd'], { encoding: 'utf8', windowsHide: true }) - 读取本地文件src/cli/start.ts:108
if (existsSync(bin)) return { command: process.execPath, prefixArgs: [bin], shell: false } - 读取本地文件src/cli/start.ts:116
if (!existsSync(filename)) return undefined - 读取本地文件src/cli/start.ts:118
const value: unknown = JSON.parse(readFileSync(filename, 'utf8')) - 删除本地文件src/cli/start.ts:134
rmSync(runtimeFilename(), { force: true }) - 写入本地文件src/cli/start.ts:139
mkdirSync(directory, { recursive: true }) - 发起网络请求src/discord/client.ts:118
const channel = await client.channels.fetch(channelId) - 发起网络请求src/discord/client.ts:126
const channel = await client.channels.fetch(message.channelId) - 发起网络请求src/discord/client.ts:141
const channels = await guild.channels.fetch() - 发起网络请求src/discord/client.ts:250
const response = await fetch(url) - 读取本地文件src/index.ts:110
const info = await stat(policy.projectRoot).catch(() => undefined) - 发起网络请求src/index.ts:146
const disposeApprovalListener = ctx.on('approval/request', (request, next) => approvals.request(request) ?? next()) - 读取本地文件src/state/store.ts:42
text = await readFile(this.filename, 'utf8') - 写入本地文件src/state/store.ts:113
await mkdir(dirname(this.filename), { recursive: true }) - 写入本地文件src/state/store.ts:115
await writeFile(temporary, snapshot, { encoding: 'utf8', mode: 0o600, flag: 'wx' }) - 写入本地文件src/state/store.ts:116
await rename(temporary, this.filename)
扫描于 2026/11/3(0 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库
涉及外部主机:discord.com
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-agent@deepseek-ai/dsh-agent-default-model@deepseek-ai/dsh-attachment@deepseek-ai/dsh-credentials@deepseek-ai/dsh-llm@deepseek-ai/dsh-session@deepseek-ai/dsh-user-approval@deepseek-ai/dsh-user-questions给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
界面预览
1 张 · 点击查看大图功能亮点
- 私聊远程驱动会话
- 双向Discord桥接
DeepSeek Harness 的双向 Discord 桥接与远程控制器
README
由 DeepSeek 最新模型翻译生成dsh-discord
DSH Marketplace 实测可装
dsh-discord — Discord 原生的 DeepSeek Harness 远程控制器
DeepSeek Harness 的双向 Discord 桥接与远程控制插件。
已收录于独立社区项目 DSH Marketplace(项目源码)。
插件以独立 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。未触发的消息会静默忽略。
展开完整文档(README 剩余 1 节)
dsh-discord DSH Marketplace 实测可装 dsh-discord — Discord 原生的 DeepSeek Harness 远程控制器 DeepSeek Harness 的双向 Discord 桥接与远程控制插件。 已收录于独立社区项目 DSH Marketplace(项目源码)。 插件以独立 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 dsh CLI - 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。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
suuuuuu-1/dsh-discord
在 Discord 频道与私聊中远程驱动 DSH 会话
相关插件 · 平台集成
智能体工程课walkinglabs/learn-harness-engineering
一门项目制课程,教你搭建环境、管理状态、做验证、加控制机制,让 AI 编程智能体稳定干活。
★ 21,155已汉化DSH
71.7
视频翻译配音liuzhao1225/YouDub-webui
开源视频本地化工作台:导入视频,识别、翻译并逐句克隆原声,生成字幕和配音成片。
★ 5,778已汉化Cordis
71.4
失败经验库Ikalus1988/MisakaNet
📚 零依赖、由 git 支撑的微课程库,让 AI 智能体异步分享并检索经过验证的调试经验。| https://misakanet.org
★ 550已汉化DSH
71.2
桌面智能体工作区freestylefly/wesight
WeSight 是开源桌面控制台,面向本地 AI 智能体。它帮你安装或复用 Claude…
★ 933已汉化MCP
71
IM 机器人接入xmanrui/dsh-im
让 DeepSeek Harness 触手可及 Connecting DeepSeek Harness
★ 3,110已汉化DeepSeek 客户端
70.9
中国平台研究引擎Jesseovo/last30days-skill-cn
给 AI Agent 的中文互联网研究 Skill:检索 8 大平台最近 30…
★ 2,031已汉化DSH
70.7