deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:HanzhiOvO/deepseek-harness-shell
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
🧩 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 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。$DSH_HOME/sessions,支持 zstd 早停读取、搜索、排序、收藏、复制与 Finder/资源管理器定位。| 快捷键 | 功能 |
|---|---|
⌘/Ctrl + K |
打开命令面板 |
Esc |
关闭命令面板 |
在 Releases 下载对应平台产物,当前稳定版为 v1.2.0:
nsis 安装包或 zip;dmg 或 .app;deb 或 AppImage。要求:
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 权限保存。PluginSources/。#path: 子包,执行 workspace 构建后再写入 PluginSources/,避免源码包缺少 lib/index.js 导致 dsh 无法启动。~/.dsh(或你配置的 DSH_HOME),本应用只读同步会话,不迁移、不复制。DSH_HOME、DEEPSEEK_API_KEY、DSH_TELEMETRY_DISABLED 与 PATH。.jsonl.zstd 会话只能显示目录名和时间。欢迎通过 Issue / Pull Request 参与,但请先阅读本文件顶部的社区声明:本仓库是一个独立社区项目,请勿将其内容误解为官方信息。
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 历史中本项目代码按 MIT 协议发布。上游 DeepSeek Harness 的代码、图标与商标归其各自权利人所有。
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。