删除会话、撤回消息、重新回答,粘贴识别供应商
30.1/100
综合分
2
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/7 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查未通过:仓库 package.json 标记 private,未发布到 npm,需从源码安装。以下命令仍可尝试,但可能失败。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add gniygniynus/dsh-desktop该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:待复验
是什么
dsh 原生插件 · security
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 38 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装仓库 package.json 标记 private,未发布到 npm,需从源码安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-desktop @ 0.2.0
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖要求 ^0.1.5-rc.1 · 最新 0.2.1-rc.2 兼容
✓入口文件main/exports/bin 已声明
源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/20 04:29:55
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 48 处,展示前 42 条)
- 执行外部命令来自配置/变量electron/entry.js:17
const child = spawnSync( - 读取本地文件electron/ensure-installed.js:17
if (!existsSync(srcIndex)) return false; - 读取本地文件electron/ensure-installed.js:20
try { current = readFileSync(destIndex, "utf8"); } catch {} - 读取本地文件electron/ensure-installed.js:21
const next = readFileSync(srcIndex, "utf8"); - 读取本地文件electron/ensure-installed.js:22
if (current === next && existsSync(join(dest, "package.json"))) return false; - 写入本地文件electron/ensure-installed.js:24
mkdirSync(dirname(dest), { recursive: true }); - 删除本地文件递归electron/ensure-installed.js:25
rmSync(dest, { recursive: true, force: true }); - 写入本地文件electron/ensure-installed.js:26
mkdirSync(dest, { recursive: true }); - 读取本地文件electron/ensure-installed.js:38
if (existsSync(homePatch)) { - 读取本地文件electron/ensure-installed.js:39
const content = readFileSync(homePatch, "utf8"); - 写入本地文件electron/ensure-installed.js:42
writeFileSync(homePatch, entry + "\n", "utf8"); - 写入本地文件electron/ensure-installed.js:45
writeFileSync(homePatch, content.trimEnd() + "\n" + entry + "\n", "utf8"); - 写入本地文件electron/ensure-installed.js:49
writeFileSync(homePatch, entry + "\n", "utf8"); - 删除本地文件electron/ensure-installed.js:75
try { rmSync(dshNmLink, { force: true }); } catch {} - 执行外部命令固定命令electron/ensure-installed.js:109
execFileSync("powershell", ["-NoProfile", "-Command", ps], { timeout: 5000 }); - 写入本地文件electron/ensure-installed.js:134
writeFileSync(p, src.replace(anchor, '\tif (false) try { ' + MARK), "utf8"); - 读取本地文件electron/harness-lifecycle.js:14
if (!existsSync(dshLib)) throw new Error("[harness] 找不到 @deepseek-ai/dsh(未安装依赖?): " + dshLib); - 读取本地文件electron/harness-lifecycle.js:15
for (const f of readdirSync(dshLib)) { - 读取本地文件electron/main.js:21
if (statSync(LOG_FILE).size > LOG_MAX_BYTES) { - 删除本地文件electron/main.js:22
rmSync(LOG_FILE + ".1", { force: true }); - 写入本地文件electron/main.js:23
renameSync(LOG_FILE, LOG_FILE + ".1"); - 写入本地文件electron/main.js:36
try { appendFileSync(LOG_FILE, String(chunk), "utf8"); } catch {} - 发起网络请求electron/main.js:173
const req = https.get( - 写入本地文件electron/rolefix.cjs:12
try { fs.mkdirSync(LOGDIR, { recursive: true }); } catch (e) {} - 写入本地文件electron/rolefix.cjs:37
fs.appendFileSync(REQLOG, lines.join("\n") + "\n"); - 写入本地文件electron/rolefix.cjs:38
if (parsed.tools && parsed.tools.length) { try { fs.writeFileSync(path.join(LOGDIR, "lastbody.json"), bodyStr); } catch (e) {} } - 读取本地文件patches/apply-directory-picker.js:28
for (const p of candidates) if (existsSync(p)) return p; - 读取本地文件patches/apply-directory-picker.js:34
const src = readFileSync(target, "utf8"); - 写入本地文件patches/apply-directory-picker.js:48
writeFileSync(target, src.replace(from, to), "utf8"); - 读取本地文件patches/apply-provider-editor.js:33
for (const p of candidates) if (existsSync(p)) return p; - 读取本地文件patches/apply-provider-editor.js:39
let src = readFileSync(target, "utf8"); - 写入本地文件patches/apply-provider-editor.js:47
if (changed) writeFileSync(target, src, "utf8"); - 读取本地文件patches/apply-session-rewind.js:29
for (const p of candidates) if (existsSync(p)) return p; - 读取本地文件patches/apply-session-rewind.js:34
let src = readFileSync(target, "utf8"); - 写入本地文件patches/apply-session-rewind.js:49
if (changed) writeFileSync(target, MARK + "\n" + src, "utf8"); - 读取本地文件patches/apply.js:17
for (const p of candidates) if (existsSync(p)) return p; - 读取本地文件patches/apply.js:46
const src = readFileSync(target, "utf8"); - 读取本地文件patches/apply.js:53
const src = readFileSync(target, "utf8"); - 写入本地文件patches/apply.js:59
writeFileSync(target, MARK + "\n" + next, "utf8"); - 读取本地文件plugins/dsh-session-rewind/lib/index.js:58
if (!existsSync(dir)) return; - 写入本地文件plugins/dsh-session-rewind/lib/index.js:60
mkdirSync(trashRoot, { recursive: true }); - 写入本地文件plugins/dsh-session-rewind/lib/index.js:61
renameSync(dir, join(trashRoot, `del-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`));
扫描于 2026/11/1(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis-plugin-group@deepseek-ai/dsh@deepseek-ai/dsh-anonymous-user-id@deepseek-ai/dsh-atomic-write@deepseek-ai/dsh-attachment@deepseek-ai/dsh-authorization@deepseek-ai/dsh-bash-local@deepseek-ai/dsh-client-ui-settings-models@deepseek-ai/dsh-code-runtime@deepseek-ai/dsh-compaction@deepseek-ai/dsh-fs@deepseek-ai/dsh-hook-protocol给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 删除会话
- 撤回消息
- 重新回答
README
由 DeepSeek 最新模型翻译生成dsh-desktop
DeepSeek Harness 桌面增强:删除会话、撤回消息、重新回答、粘贴识别加供应商、启动自动检测更新。
本项目基于官方 DeepSeek Harness(@deepseek-ai/dsh,MIT License)二次开发,当前适配版本 0.1.5-rc.1,是非官方的第三方桌面壳增强,与 DeepSeek 无隶属、赞助或背书关系。
下载安装
👉 点击前往 Releases 下载最新版 .exe
下载 dsh-desktop Setup x.x.x.exe,双击安装,首次启动会自动完成初始化(无需额外操作)。
功能
| 功能 | 位置 | 行为 |
| 删除会话 | 会话列表 ⋯ → 删除会话 | 永久删除 + 列表刷新 |
| 撤回消息 | 用户消息下「撤回」按钮 | fork 到该消息前 + 归档母会话 + 自动切换 |
| 重新回答 | AI 回复下「重新回答」按钮 | fork + 重跑 + 归档母会话 + 自动切换 |
| 粘贴识别 | 设置 → 模型 → 添加自定义提供方 →「粘贴识别」 | 解析 NewAPI 通道连接串,自动填字段 + 拉模型列表 |
| 自动更新检测 | 启动后 5 秒 | 检查 GitHub Releases,有新版弹窗提示并提供下载链接 |
升级 / 卸载说明
从旧版升级到新版
展开完整文档(README 剩余 1 节)
dsh-desktop DeepSeek Harness 桌面增强:删除会话、撤回消息、重新回答、粘贴识别加供应商、启动自动检测更新。 本项目基于官方 DeepSeek Harness(@deepseek-ai/dsh,MIT License)二次开发,当前适配版本 0.1.5-rc.1,是非官方的第三方桌面壳增强,与 DeepSeek 无隶属、赞助或背书关系。 下载安装 👉 点击前往 Releases 下载最新版 .exe 下载 dsh-desktop Setup x.x.x.exe,双击安装,首次启动会自动完成初始化(无需额外操作)。 功能 | 功能 | 位置 | 行为 | | 删除会话 | 会话列表 ⋯ → 删除会话 | 永久删除 + 列表刷新 | | 撤回消息 | 用户消息下「撤回」按钮 | fork 到该消息前 + 归档母会话 + 自动切换 | | 重新回答 | AI 回复下「重新回答」按钮 | fork + 重跑 + 归档母会话 + 自动切换 | | 粘贴识别 | 设置 → 模型 → 添加自定义提供方 →「粘贴识别」 | 解析 NewAPI 通道连接串,自动填字段 + 拉模型列表 | | 自动更新检测 | 启动后 5 秒 | 检查 GitHub Releases,有新版弹窗提示并提供下载链接 | 升级 / 卸载说明 从旧版升级到新版 1. 不需要卸载旧版,直接下载新版安装包(.exe)覆盖安装即可 2. 或在旧版运行时等待启动提示:「发现新版本」弹窗出现后点击「前往下载」,下载新版安装包后双击覆盖安装 3. 安装完成后重新启动即生效,配置、会话数据均保留 卸载 方法一:通过控制面板 1. 打开「设置」→「应用」→「已安装的应用」 2. 搜索 dsh-desktop,点击「卸载」 方法二:通过安装目录 1. 找到安装目录(默认 C:\Program Files\dsh-desktop 或安装时自选路径) 2. 运行其中的 Uninstall dsh-desktop.exe 卸载后清理(可选) 卸载程序只移除应用本体,以下数据目录需手动删除(含全部会话记录,请确认后再删): %USERPROFILE%\.dsh\ 开发 & 构建 cd dsh-desktop npm install node scripts\install.mjs # 打 client 补丁 + 装 host 插件 npx electron . # 开发运行 npm run dist # 打包 → dist\dsh-desktop Setup x.x.x.exe 架构 - plugins/dsh-session-rewind/ — host 插件(typert RPC:delete / rewind / regenerate) - patches/apply-session-rewind.js — client 补丁(幂等,适配 4 个模块) - electron/main.js — Electron 主进程 + 自动更新检测 - scripts/prepack.mjs — 打包前补丁(electron-builder 前自动调用) 声明 - 基于官方 DeepSeek Harness(@deepseek-ai/dsh,MIT License,Copyright (c) 2026 DeepSeek)。client 补丁作用于编译产物,host 插件是独立插件包,均未修改 harness 核心代码。 - 非官方:本项目与 DeepSeek(深度求索)无隶属、赞助或背书关系。 - 名称与图标如涉及 DeepSeek 商标,请自行确认符合其品牌使用规范。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
gniygniynus/dsh-desktop
删除会话、撤回消息、重新回答,粘贴识别供应商
相关插件 · 安全 / 权限
智能体逆向工程morluto/rea
用智能体逆向工程任何东西,从应用行为到原生二进制。
★ 415,267已汉化DSH
73.3
智能体集群框架ruvnet/ruflo
面向 Claude Code 与 Codex 的智能体元基座meta-harness。
★ 80,414已汉化MCP
71.9
WorkBuddy 模型接入corrinehu/dsh-workbuddy-connect
2026 年 10 月 20 日起,WorkBuddy…
★ 1,604已汉化DSH
71.7
破甲一键通z91772524-ai/pojia-next
十五个 AI…
★ 967已汉化DSH
71.6
AI 代理虚拟终端strukto-ai/mirage
Mirage 是给 AI 智能体用的虚拟终端:一层 shell,统管数据、命令行和运行时。Unix…
★ 3,756已汉化DSH
70.8
Agent 操作层agentic-os-org/ANOLISA
ANOLISA(Agentic Nexus Operating Layer & Interface System Architecture)|智能体操作系统,带运行时、安全、可观测性,以及 Tokenless 响应压缩,降低 token 用量与成本。
★ 649已汉化DSH
70.7