🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

桌面客户端 JackAIStudio/JackDSH

DeepSeek Harness
JackAIStudio26 天前有提交已提供中文文档扫描:含敏感能力

JackDSH — 开箱即用的 DeepSeek Harness 桌面客户端内置手机扫码遥控、创作者工作台与自研插件生态

33.6/100
综合分
5
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/8 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

自动兼容检查未通过:要求 dsh 0.1.7-rc.2,而最新版为 0.2.1-rc.2。以下命令仍可尝试,但可能失败。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add JackAIStudio/JackDSH
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · desktop
装得上吗
实装验证未通过(dependency_conflict),装前请到仓库确认最近更新与 issue
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 26 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
⚠︎ 实装验证未通过(dependency_conflict · 2026/9/27) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装

要求 dsh 0.1.7-rc.2,而最新版为 0.2.1-rc.2

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包jackdsh(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✗dsh CLI 依赖要求 0.1.7-rc.2 · 最新 0.2.1-rc.2 不兼容
✓入口文件main/exports/bin 已声明

源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/28 17:44:44

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件读取剪贴板或密钥环境变量写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 74 处,展示前 31 条)
  • 读取本地文件
    src/main/index.js:33
    if (existsSync(configFile)) {
  • 读取本地文件
    src/main/index.js:35
    const parsed = JSON.parse(readFileSync(configFile, 'utf8'))
  • 读取本地文件
    src/main/index.js:37
    if (configuredPath && !existsSync(configuredPath)) {
  • 写入本地文件
    src/main/index.js:51
    mkdirSync(defaultPath, { recursive: true })
  • 写入本地文件
    src/main/index.js:63
    mkdirSync(defaultPath, { recursive: true })
  • 读取本地文件
    src/main/index.js:139
    if (existsSync(p)) {
  • 读取剪贴板
    src/main/index.js:354
    const clipText = clipboard.readText().trim()
  • 写入剪贴板
    src/main/index.js:404
    clipboard.writeText(tokenStr)
  • 发起网络请求
    src/main/index.js:427
    const res = await fetch(httpUrl)
  • 写入剪贴板
    src/main/index.js:557
    click: () => clipboard.writeText(params.srcURL),
  • 读取本地文件
    src/main/index.js:650
    if (logPath && existsSync(logPath)) {
  • 读取本地文件
    src/main/index.js:652
    } else if (dshHome && existsSync(dshHome)) {
  • 读取本地文件
    src/main/server-manager.js:76
    const raw = readFileSync(join(appDataPath, 'dsh-home.json'), 'utf8')
  • 写入本地文件
    src/main/server-manager.js:116
    mkdirSync(portableDays, { recursive: true })
  • 读取本地文件
    src/main/server-manager.js:124
    if (existsSync(docDir)) {
  • 写入本地文件
    src/main/server-manager.js:127
    mkdirSync(todayDir, { recursive: true })
  • 写入本地文件
    src/main/server-manager.js:136
    mkdirSync(fallbackDir, { recursive: true })
  • 读取本地文件
    src/main/server-manager.js:148
    if (existsSync(this.relayConfigFile)) {
  • 读取本地文件
    src/main/server-manager.js:149
    const raw = readFileSync(this.relayConfigFile, 'utf8')
  • 写入本地文件
    src/main/server-manager.js:179
    writeFileSync(this.relayConfigFile, JSON.stringify(clean, null, 2) + '\n')
  • 读取本地文件
    src/main/server-manager.js:187
    if (existsSync(profileDir)) {
  • 写入本地文件
    src/main/server-manager.js:245
    mkdirSync(this.dshHome, { recursive: true })
  • 写入本地文件
    src/main/server-manager.js:247
    mkdirSync(this.defaultWorkspace, { recursive: true })
  • 读取本地文件
    src/main/server-manager.js:250
    if (!existsSync(settingsFile)) {
  • 删除本地文件
    src/main/server-manager.js:404
    try { unlinkSync(deadLink) } catch {}
  • 删除本地文件
    src/main/server-manager.js:462
    if (stat.isSymbolicLink()) unlinkSync(dest)
  • 删除本地文件
    src/main/server-manager.js:673
    unlinkSync(link)
  • 执行外部命令来自配置/变量
    src/main/server-manager.js:786
    this.childProcess = spawn(nodeBinary, [
  • 发起网络请求
    src/main/server-manager.js:860
    const res = await fetch(url, { method: 'HEAD' }).catch(() => null)
  • 执行外部命令固定命令
    src/main/server-manager.js:986
    raw = execFileSync('ps', ['-ax', '-o', 'pid=,ppid=,command='], { encoding: 'utf8', timeout: 3000 })
  • 执行外部命令固定命令
    src/main/server-manager.js:1032
    const raw = execFileSync('ps', ['e', '-p', String(pid), '-o', 'command='], {
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/dsh@deepseek-ai/dsh-web-app@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 手机扫码遥控
  • 创作者工作台
  • 自研插件生态

README

由 DeepSeek 最新模型翻译生成
🚀 JackDSH 一个基于 DeepSeek Harness 官方框架打包的桌面客户端。 免去手动安装 Node.js、配置运行环境与敲终端命令行的繁琐过程,下载安装包即可开箱运行,并内置了局域网手机遥控等自研实用插件。 📥 客户端下载 (Releases) 直接前往 GitHub 的 Releases 页面 下载适合你系统的安装包: | 平台 | 安装包格式 | 适用说明 | 下载直达 | | 🍏 macOS | .dmg 镜像安装包 | 专为 Apple Silicon (M1/M2/M3/M4 芯片) 深度适配,双击拖拽安装 | 前往 Releases 下载 | | 🪟 Windows | .zip 绿色便携版 | 解压即用,不写注册表、不装服务,可放在 U 盘随身携带 | 前往 Releases 下载 | 💡 初次打开说明: macOS 安装包已使用 Developer ID 签名并完成 Apple 公证(notarized),双击即可正常打开,不会出现“无法验证开发者”的拦截。 若在个别环境(如从第三方镜像下载、或系统版本较旧)仍被 Gatekeeper 拦下,可到 系统设置 → 隐私与安全性 点击 “仍要打开” 放行一次。
展开完整文档(README 剩余 1 节)
🚀 JackDSH

一个基于 DeepSeek Harness 官方框架打包的桌面客户端。
免去手动安装 Node.js、配置运行环境与敲终端命令行的繁琐过程,下载安装包即可开箱运行,并内置了局域网手机遥控等自研实用插件。

📥 客户端下载 (Releases)

直接前往 GitHub 的 Releases 页面 下载适合你系统的安装包:

| 平台 | 安装包格式 | 适用说明 | 下载直达 |
| 🍏 macOS | .dmg 镜像安装包 | 专为 Apple Silicon (M1/M2/M3/M4 芯片) 深度适配,双击拖拽安装 | 前往 Releases 下载 |
| 🪟 Windows | .zip 绿色便携版 | 解压即用,不写注册表、不装服务,可放在 U 盘随身携带 | 前往 Releases 下载 |

💡 初次打开说明: macOS 安装包已使用 Developer ID 签名并完成 Apple 公证(notarized),双击即可正常打开,不会出现“无法验证开发者”的拦截。
若在个别环境(如从第三方镜像下载、或系统版本较旧)仍被 Gatekeeper 拦下,可到 系统设置 → 隐私与安全性 点击 “仍要打开” 放行一次。

✨ 核心功能与特性

1. 开箱即用,免配环境
- 内部已封装好运行所需的依赖与运行环境,无需自行安装 Node.js 或执行 npm 命令,双击即可启动。
2. 局域网手机扫码控制(自研插件)
- 电脑端启动后提供配对二维码。在同一局域网(同一 Wi-Fi)环境下,手机扫码即可建立连接,方便在移动设备上查看任务执行进度、输入消息。(注:受限于网络拓扑,若路由器开启了 AP 隔离,局域网连接可能受阻)。
3. 内置实用插件集成
- 预装了多模型便捷登录(Gemini / Grok OAuth)、DeepSeek 官方 API 余额监控、工作区路径显式标注等实用功能,减少初期折腾成本。
4. 数据本地隔离
- 运行时配置与数据存放于用户本地应用专属目录,不污染系统的其他全局全局开发环境。

🧩 模块与开源来源说明

本项目本质上是一个面向终端用户的打包整合发行版,严格遵循开源规范,明确区分底层核心与自研插件:

1. 底层框架核心
- 底座内核:DeepSeek Harness 官方项目(通过官方公开的 npm 包 @deepseek-ai/dsh 引入,本仓库不持有其底层框架源码)。

2. 自研与集成插件矩阵(全部独立开源)发行版内置的插件清单均在各开源仓库公开维护,并在构建时自动拉取公开代码:

- 📱 局域网手机控制:dsh-mobile-plus
- ⚡️ Grok (xAI) 授权登录:dsh-grok-oauth
- 🔑 Gemini 授权登录:dsh-gemini-oauth
- 💰 DeepSeek 余额监控:dsh-deepseek-balance
- 📅 今日工作区拦截:dsh-today
- 📊 插件生态大盘与随身迁移:dsh-plugin-dashboard
- 📋 Zero-UI 原生路径粘贴与拖拽:dsh-paste-path
- 🚀 跨平台开机自启动:dsh-autostart
- 🔄 服务快速重启:dsh-web-restart
- 📁 工作区路径中心:dsh-workspace-path
- 🔍 增强检索扩展:dsh-robust-search
- 🔔 任务完成提示音:dsh-reminder
- 🔴 应用未读红点角标:dsh-app-badge
- 🧭 会话深层导航:dsh-session-navigator
- 🔎 模型跟随联网搜索:dsh-web-search-follow
- 🤝 WorkBuddy 双轨并发直连:dsh-workbuddy-dual
- 🛡️ 会话分支守卫:dsh-fork-guard
- 🖼️ 产物图片自适应视口:dsh-image-fit
- ⭐ 轮次收藏与对话内检索:dsh-turn-bookmarks

社区精选插件(npm 公开发行包,构建时按锁定版本预装):

- 🗄️ 归档会话管理:@mlgbnb/dsh-archive-manager
- 🌐 BrowserSkill 原生浏览器:@wxg-prc-cpg/browser-skill-dsh-plugin

🏗️ 自动化构建机制

- 构建源完全透明:GitHub Actions(.github/workflows/release.yml)依照 plugins.manifest.yaml 中的公开清单拉取插件并自动打包。
- 本地开发:若本机存在对应插件源码,scripts/prepare-bundle.js 会优先复用本地开发目录;正式发版则一律以公开仓库的特定分支为准。

📄 开源许可

本项目采用 MIT 许可证 开源。各引用插件及依赖库遵循其各自的开源许可协议。欢迎在 GitHub Issues 提交问题反馈与改进建议。
预览分享卡片长什么样 ↓JackAIStudio/JackDSH
分享 · DeepSeek Harness Hub
JackAIStudio/JackDSH

JackDSH — 开箱即用的 DeepSeek Harness 桌面客户端内置手机扫码遥控、创作者工作台与自研插件生态

回到顶部