DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

HanzhiOvO /

deepseek-harness-shell

Topic repository only

一个 DeepSeek Harness 桌面壳

★ 1 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@ab770457

DeepSeek Harness Shell

🧩 dsh 社区桌面壳 · 轻量 · 跨平台 · 当前版本 1.2.0

一个把 DeepSeek Harness(@deepseek-ai/dsh)包装成现代桌面应用的社区项目,支持 Windows / macOS / Linux。


⚠️ 社区项目声明

本项目是社区开发者的个人作品,与 DeepSeek 公司及 DeepSeek Harness 官方团队无关。

  • 本项目不代表 DeepSeek 官方立场,也不是官方作品;
  • 项目没有获得官方的背书、认证或任何形式的支持;
  • 所有与 DeepSeek 相关的名称、商标、图标权利归其权利人所有,本项目仅用于技术学习和社区交流;
  • 上游官方项目地址:https://github.com/deepseek-ai/deepseek-harness,使用前请阅读并遵守上游项目的许可协议与使用条款。

本应用不修改上游 dsh 内核,只在其外部提供桌面体验。


Windows / Linux 测试说明

当前 Windows 和 Linux 安装包已经通过 GitHub Actions 构建,但我目前还没有在真实的 Windows 或 Linux 设备上完成实际运行验证。如果你在使用过程中发现启动、安装、Web UI、插件或其他问题,麻烦提交 Issue,并尽量附上系统版本、安装包类型、复现步骤和相关日志,我会尽力快速修复。

如果你有功能建议、界面改进意见或使用体验反馈,也欢迎提出。


为什么是 Tauri

本项目目前使用 Tauri 2 + React + TypeScript + Tailwind CSS:前端 UI 用 Web 技术构建,后端用 Rust,运行时复用系统 WebView。

指标 Electron 实现 当前 Tauri 实现
macOS .app 230 MB 约 12 MB
安装包 DMG 103 MB 约 4 MB
运行时 Chromium + Node 系统 WebView + Rust
空闲占用 高(多进程) 低(共享系统 WebView)

功能

  • 环境检测与一键配置:自动探测 dsh、node、npm、pnpm、git、brew,无 dsh 时可用 npm 用户级前缀自动安装,无 Node 时引导安装,pnpm 优先 Corepack。
  • 对话工作区:主窗口 iframe 内嵌 dsh Web UI;点击历史会话会打开带自动定位脚本的独立窗口。
  • 历史会话:只读同步 $DSH_HOME/sessions,支持 zstd 早停读取、搜索、排序、收藏、复制与 Finder/资源管理器定位。
  • 插件中心:已安装插件、GitHub 话题插件市场和 dsh 皮肤中心统一管理,支持 GitHub / ZIP / 本地文件夹 / npm 安装、更新、移除、打开主页与源码。
  • 运行日志:环境 / Web / 插件 / 会话四路日志,实时留存,可筛选、搜索、导出和按来源清空。
  • 设置:外观模式、自动启动/停止、端口、profile、DSH_HOME、API Key、升级 dsh、重置。
  • 全局体验:⌘K 命令面板、深色/浅色主题、Toast 通知、单实例锁、托盘驻留与异常启动重试。

快捷键

快捷键 功能
⌘/Ctrl + K 打开命令面板
Esc 关闭命令面板

安装与使用

从发布包安装

在 Releases 下载对应平台产物,当前稳定版为 v1.2.0:

  • Windows:nsis 安装包或 zip;
  • macOS:dmg 或 .app;
  • Linux:deb 或 AppImage。

从源码运行

要求:

  • Node.js 22.19+(推荐 24+)
  • Rust 1.85+(brew install rust 或 rustup)
npm install
npm run dev          # 开发模式
npm run build:tauri  # 构建当前平台应用

打包:

npm run pack:mac     # macOS:app + dmg
npm run pack:win     # Windows:nsis
npm run pack:linux   # Linux:deb + AppImage

DSH_SHELL_USER_DATA 环境变量可把应用设置重定向到任意目录,便于便携使用和测试。

测试

npm run typecheck    # 前端类型检查
npm test             # 解析器单元测试

# Rust 检查
cargo fmt --manifest-path src-tauri/Cargo.toml -- --check
cargo test --manifest-path src-tauri/Cargo.toml
cargo clippy --manifest-path src-tauri/Cargo.toml --all-targets --all-features -- -D warnings

# Rust 服务链冒烟:检测 → 插件清单 → 会话 → 启动 dsh web → HTTP 200 → 停止
DSH_SHELL_USER_DATA=$(mktemp -d) DSH_SHELL_SMOKE=1 cargo run --manifest-path src-tauri/Cargo.toml

架构

src/renderer/             React + Tailwind 界面(侧边栏/命令面板/各页面)
src/shared/               类型与解析器
src-tauri/src/
  commands.rs             Tauri 命令
  services.rs             环境/Web/插件/会话/设置服务
  models.rs               序列化模型
  lib.rs                  应用装配与冒烟模式

主进程负责管理 dsh web 子进程、调用 dsh plugin、同步本地会话元数据、持久化应用设置以及托盘生命周期。上游 dsh 内核与官方 Web UI 不被修改。

数据归属与安全

  • 应用设置:应用数据目录 settings.json;可用 DSH_SHELL_USER_DATA 重定向,Unix 下以 0600 权限保存。
  • ZIP 插件源码:同一应用数据目录的 PluginSources/。
  • GitHub monorepo 插件:安装时会自动识别 #path: 子包,执行 workspace 构建后再写入 PluginSources/,避免源码包缺少 lib/index.js 导致 dsh 无法启动。
  • Harness 数据仍在上游默认位置 ~/.dsh(或你配置的 DSH_HOME),本应用只读同步会话,不迁移、不复制。
  • 渲染层没有 Node 能力;子进程只接收 DSH_HOME、DEEPSEEK_API_KEY、DSH_TELEMETRY_DISABLED 与 PATH。
  • 插件是本地代码,以当前用户权限运行;profile 名称会限制为安全路径片段,请只安装可信来源。

已知限制

  • 上游 dsh 处于 developer preview,CLI / 插件格式可能变化,需要同步更新解析器。
  • 主窗口内的 Web UI 通过 iframe 展示,受跨源限制不能自动点击会话;点击侧边栏会话会打开独立窗口并注入定位脚本。
  • 没有 zstd CLI 的机器上,.jsonl.zstd 会话只能显示目录名和时间。
  • 本社区项目不提供官方客服、账号或模型服务支持。

参与贡献

欢迎通过 Issue / Pull Request 参与,但请先阅读本文件顶部的社区声明:本仓库是一个独立社区项目,请勿将其内容误解为官方信息。

版本历史

  • 当前:1.2.0(Tauri 跨平台版)
  • 1.2.0:新增 GitHub dsh 话题插件市场与 dsh 皮肤中心;合并插件管理入口;支持 monorepo 子包识别、构建和可修复的皮肤重装流程;精简侧栏和主界面首屏信息。
  • 1.1.1:修复 Linux 大小写敏感环境下测试目录无法发现的问题,并调整 CI 顺序,确保先构建前端再运行 Tauri Clippy。
  • 1.1.1:修复 Linux 大小写敏感环境下测试目录无法发现的问题,并调整 CI 顺序,确保先构建前端再运行 Tauri Clippy。
  • 1.1.0:修复 Web/插件进程生命周期、设置与 profile 同步、日志留存、数据目录和插件回滚;增加托盘驻留、自动安装 dsh、启动失败重试、响应式界面、可访问性改进和放大的统一应用图标。
  • 1.0.1:修复启动白屏、dsh 升级卡死、图标边距和社区项目声明,增加单实例锁。
  • 历史:swift-1.1.0 SwiftUI 原型、Electron 原型保留在 git 历史中

License

本项目代码按 MIT 协议发布。上游 DeepSeek Harness 的代码、图标与商标归其各自权利人所有。

—/ 5

No ratings yet

Manifest verification required

Commit ab770457641c

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout