免装 Node.js,双击即开 dsh 网页界面
29.9/100
综合分
7
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/7 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add MM071022/dsh-portable该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · other
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 80 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
⚠︎ 实装验证未通过(unknown · 2026/11/4) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件
查看扫描证据(共 6 处,展示前 6 条)
- 读取本地文件build/repair-session-log.mjs:110
const original = readFileSync(path); - 写入本地文件build/repair-session-log.mjs:208
renameSync(path, backup); - 写入本地文件build/repair-session-log.mjs:210
writeFileSync(path, repaired); - 写入本地文件build/repair-session-log.mjs:213
try { renameSync(backup, path); } catch {} - 读取本地文件build/strict-validate.mjs:46
if (existsSync(candidate)) { - 读取本地文件build/strict-validate.mjs:57
const buf = readFileSync(path);
扫描于 2026/11/4(0 天前) · 范围 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 免装Node.js
- 双击启动网页界面
- 会话日志自愈
README
由 DeepSeek 最新模型翻译生成dsh-portable
DeepSeek Harness(dsh)的便携版:dsh.exe(Windows)或 dsh 脚本(Linux、macOS)内嵌完整的 dsh 运行环境与 Node.js,双击(Windows)或一条命令(Linux/macOS)即可在浏览器打开 Web UI(默认 http://127.0.0.1:3080),无需预先安装 Node.js。
特性
- 单文件/自包含分发:Windows 为单个 dsh.exe;Linux/macOS 为自带 node + dsh 包的 tarball,无需预先安装任何运行时。
- 首次运行自动解压(Windows):解压到 %LOCALAPPDATA%\dsh-exe\<version>,之后直接启动。
- 幂等启动:目标端口已由 dsh Web UI 使用时只打开浏览器并退出,重复启动不会产生重复服务器;其他服务占用端口时仍交由 dsh 报告冲突。
- 单实例保护:同一数据目录只允许一个 dsh 服务器;再启动第二个实例会被拒绝,避免两个服务器并发写坏同一份会话历史。
- 会话日志自愈:读取端自动处理被并发/过期写入者重写的日志段,"历史加载失败"不再出现。
- 启动检查更新:启动时联网查询 GitHub Release,发现新版本在控制台提示下载链接(离线/超时自动跳过,不影响启动)。
展开完整文档(README 剩余 1 节)
dsh-portable
DeepSeek Harness(dsh)的便携版:dsh.exe(Windows)或 dsh 脚本(Linux、macOS)内嵌完整的 dsh 运行环境与 Node.js,双击(Windows)或一条命令(Linux/macOS)即可在浏览器打开 Web UI(默认 http://127.0.0.1:3080),无需预先安装 Node.js。
特性
- 单文件/自包含分发:Windows 为单个 dsh.exe;Linux/macOS 为自带 node + dsh 包的 tarball,无需预先安装任何运行时。
- 首次运行自动解压(Windows):解压到 %LOCALAPPDATA%\dsh-exe\<version>,之后直接启动。
- 幂等启动:目标端口已由 dsh Web UI 使用时只打开浏览器并退出,重复启动不会产生重复服务器;其他服务占用端口时仍交由 dsh 报告冲突。
- 单实例保护:同一数据目录只允许一个 dsh 服务器;再启动第二个实例会被拒绝,避免两个服务器并发写坏同一份会话历史。
- 会话日志自愈:读取端自动处理被并发/过期写入者重写的日志段,"历史加载失败"不再出现。
- 启动检查更新:启动时联网查询 GitHub Release,发现新版本在控制台提示下载链接(离线/超时自动跳过,不影响启动)。
快速开始
Windows
1. 从 Releases 下载 dsh.exe(约 110 MB,内嵌完整运行时)。
2. 双击运行,或命令行执行 dsh.exe web。
3. 浏览器自动打开 http://127.0.0.1:3080。
Linux / macOS
1. 从 Releases 下载对应平台的 dsh-portable-<version>-<os>-<arch>.tar.gz(linux-x64、linux-arm64、darwin-arm64)。
2. 解压并运行:
tar -xzf dsh-portable-0.1.0-rc.8-linux-x64.tar.gz
./dsh # 或 ./dsh web,等价于 dsh web
3. 浏览器自动打开 http://127.0.0.1:3080。可把解压目录里的 dsh 软链到 ~/.local/bin/dsh(macOS 为 /usr/local/bin/dsh)以便全局使用。
说明:macOS 仅提供 Apple Silicon(darwin-arm64,覆盖 2020 年后的所有 Mac);Intel Mac 因 GitHub 已弃用 Intel macOS 构建机(macos-13)暂不提供。
命令行用法与 dsh 一致,例如:
dsh.exe web # Windows:启动 Web UI(默认端口 3080) ./dsh web --port 8080 # Linux/macOS:指定端口 dsh.exe --version # 其他 CLI 用法透传
更新
1. 关闭正在运行的 dsh(关掉启动它的控制台窗口,或任务管理器结束 dsh / node 进程)。
2. 从 Releases 下载新的 dsh.exe,覆盖旧的 dsh.exe。
3. 重新运行即可。
- 图标 / 启动器逻辑(互斥锁、端口、更新检查)改动 → 换 exe 立即生效。
- 内嵌 dsh 运行时改动 → 只有 launcher.cs 的 Version 升版后才会重新解压到新目录;数据始终在 %USERPROFILE%\.dsh,更新不丢会话。
- 自 v0.1.0-rc.7 起,启动时会自动提示新版本。
数据与文件位置
| 内容 | 位置 |
| 解压后的运行时 | %LOCALAPPDATA%\dsh-exe\<version>\ |
| 会话、配置、凭据 | %USERPROFILE%\.dsh\ |
可用环境变量 DSH_EXE_HOME 覆盖运行时解压根目录(便携模式)。
从源码构建
需要:Windows(自带 .NET Framework 编译器 csc.exe)、dsh 包、node.exe。
1. 准备输入 dsh.zip — dsh 包(含 node_modules 与 config 的完整目录压缩,根目录为 dsh\) node.zip — 仅含 node.exe 的压缩包
2. 构建(产物为 dsh.exe,默认嵌入 build/app.ico 蓝鲸图标) .\build\build.ps1 -DshZip .\dsh.zip -NodeZip .\node.zip -Out .\dsh.exe
build.ps1 用系统自带的 .NET Framework csc.exe 编译 launcher.cs,并把两个 zip 作为托管资源嵌入,生成控制台子系统(subsystem 3)的 AnyCPU exe。
历史加载失败修复说明(自 v0.1.0-rc.6 起)
背景:同时运行两个 dsh 服务器(例如在会话里把打包好的 exe 当作后台任务启动测试,而主服务器仍在运行)会对同一份会话日志并发追加。旧进程持有过期 seq,会重写一段已提交的 seq 区间,日志被读取端判定为损坏(corrupt session log: seq gap in committed region),表现为打开旧会话时提示"历史加载失败:{message}({code})"。
修复分三层:
1. 数据修复工具 build/repair-session-log.mjs:扫描日志中的 seq 回退段,丢弃被覆盖的旧事件、保留权威的后续段并重建连续日志(自动备份原文件)。
node build/repair-session-log.mjs <session.jsonl.zstd>
2. 读取端自愈:dsh-session-persistence-jsonl 的日志扫描器遇到 seq 回退时自动采用新段,不再整份拒绝日志(后续段视为权威续写)。
3. 单实例互斥锁:launcher.cs 在 Web 模式下按数据根目录加命名互斥锁,同一数据目录只允许一个服务器实例(端口检查只防同端口重复,互斥锁补齐了跨端口场景)。
仓库结构
dsh-portable/
├── README.md
├── LICENSE
├── .github/workflows/
│ └── release-unix.yml # GitHub Actions:在各平台构建 Linux/macOS tarball ├── build/ │ ├── launcher.cs # C# 启动器源码(Windows,自解压 + 端口检查 + 单实例互斥锁 + 更新检查) │ ├── build.ps1 # Windows 构建脚本(csc 编译并嵌入 zip + 图标) │ ├── launcher.sh # POSIX 启动器(Linux/macOS:单实例锁 + 更新检查 + 浏览器打开) │ ├── build-unix.sh # Linux/macOS 打包脚本(组装 dsh + node + launcher 的 tarball) │ ├── app.ico # 应用图标(DeepSeek 蓝鲸,多尺寸) │ ├── app-icon.svg # 蓝鲸图标 SVG 源文件 │ ├── make-ico.ps1 # 由 256px PNG 生成多尺寸 .ico │ ├── repair-session-log.mjs # 会话日志修复工具 │ └── strict-validate.mjs # 日志严格校验工具(用真实解码器验证 seq 连续性)
发布产物(dsh.exe、dsh.zip、node.zip)体积大且可再生成,通过 GitHub Release 附件分发,不进仓库。
许可证
- launcher.cs:MIT(见 LICENSE)
- 内嵌的 @deepseek-ai/dsh 运行时:MIT(见 deepseek-ai/deepseek-harness)
- 内嵌的 Node.js:MIT(见 nodejs/node)预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
MM071022/dsh-portable
免装 Node.js,双击即开 dsh 网页界面
相关插件 · 其他
模型破甲清洗HunYiSage/dsh-purge
⚔️ DeepSeek Harness 网络安全红队工具dsh-purge
★ 16,993已汉化DeepSeek 客户端
73
女娲蒸馏alchaincyf/nuwa-skill
输入名人名字,提炼其思维模型与决策方式供你调用
★ 37,308已汉化DSH
72
逆向分析桥接Fanqi89/dsh-rea
REA(Reverse Engineer Anything)MCP 桥接,用来把 REA 逆向工具接入 DSH 插件
★ 51已汉化DSH
72
语音女友beiyege-01/dsh-voice-ai-girlfriend
语音 AI 女友Voice AI girlfriend for DeepSeek Harness:Whisper…
★ 888已汉化DSH
71.6
红队越狱测试套件Minglink/dsh-infinite-gen-5
DeepSeek v4.1 flash 逆向工具无限五代 求 Star 收藏 ⭐欢迎大家提交项目的改进
★ 3,759已汉化DSH
71.4
协同办公空间dream-num/univer-workspace
一个让人类与 AI Agent 共同创作、协作和审阅的开源 Office 工作空间。
★ 2,269已汉化DSH
70.8
这是你的仓库?认领条目