HanzhiOvO / deepseek-harness-shell

已收录

一个 DeepSeek Harness 桌面壳

main其他 查看源代码

安装

npx -y @deepseek-ai/dsh plugin --profile web add github:HanzhiOvO/deepseek-harness-shell

此安装命令根据 GitHub 仓库地址生成,是未经验证的安装起点。

README

维护者编写的文档快照。

在 GitHub 查看 ↗
提交版本 ab77045同步于 2026年8月17日

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 .app230 MB约 12 MB
安装包 DMG103 MB约 4 MB
运行时Chromium + Node系统 WebView + Rust
空闲占用高(多进程)低(共享系统 WebView)

功能

  • 环境检测与一键配置:自动探测 dshnodenpmpnpmgitbrew,无 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:debAppImage

从源码运行

要求:

  • 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_HOMEDEEPSEEK_API_KEYDSH_TELEMETRY_DISABLEDPATH
  • 插件是本地代码,以当前用户权限运行;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 的代码、图标与商标归其各自权利人所有。

项目文件与信号

以下项目是目录快照中检测到的公开仓库信号。

测试已检测

仓库信息

开发语言
TypeScript
许可证
MIT
最新发布
v1.2.0
最后更新
2026年8月17日 07:44

谨慎安装

请检查源代码、权限、生命周期脚本、依赖与网络访问;不受信任的插件应先在隔离环境中测试。