dsh-lancher
by qichengxiaoqi
dsh++ is a lightweight Windows launcher for DeepSeek Harness, combining service control, API settings, plugin management, system configuration, automatic discovery, and GitHub updates for a simpler DSH experience. dsh++ 是面向 DeepSeek Harness 的轻量级 Windows 启动器,集成服务管理、API、插件、系统配置、自动探测与 GitHub 更新。
安装
dsh plugin --profile web add github:qichengxiaoqi/dsh-lancherGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
README
目录
English | 简体中文
dsh++ 是面向 DeepSeek Harness(DSH) 的轻量级启动器与管理控制台。项目保留现有的 .NET 9 WinForms Windows 版本,并新增复用同一 DshPlusPlus.Core 的跨平台 Avalonia 版本。
本仓库只包含启动器,不包含 DeepSeek Harness 源码、用户会话、插件目录、凭据或 API Key。
本项目使用 Vibe Coding(vibecoding)实现,旨在帮助大家节省 Token,不重复造轮子,并提供一个便捷的启动器入口,让 DSH 更容易使用。如果你愿意且有余力,欢迎帮助优化这个项目,非常感谢!
功能
- DSH 管理:启动、停止和重启服务,检查 Git 状态,拉取安全更新,打开 Web UI,查看实时日志。
- 安装维护:查看并验证 DSH、Profile、插件和工具路径,支持自动检测与手动覆盖。
- DeepSeek API:安全保存本地 API Key,检测连接,查看模型列表和当前余额;API Key 始终以掩码显示。
- 系统级设置:扫描 DSH 作用域内的
AGENTS.md、CLAUDE.md、settings.yaml和 patch 文件,默认只读。 - 插件设置:读取 Profile 清单、插件
package.json、本地file:依赖和运行时插件状态,支持启用或禁用插件并生成备份。 - 技能导入:扫描本机 Codex 与 Claude Code 的技能目录,比较 DSH 目标内容,并手动勾选导入
SKILL.md目录技能或平铺技能文件;发生冲突时先生成时间戳备份。 - 启动器设置:自定义主题、强调色、字体缩放、导航栏、刷新间隔、启动页,以及关闭窗口时进入托盘后台还是直接退出。
界面支持 Obsidian 深色主题、浅色主题、高对比度主题、DPI 感知的弹性布局、只显示图标的收缩导航栏以及 Windows 托盘通知。
快速开始
直接使用 GitHub Release
从 GitHub Releases 下载 dsh++.exe 后直接运行。首次启动会自动探测本机 DSH 环境;如果环境不完整,可以打开“安装维护”查看缺失项目。
从源码运行
在仓库根目录执行:
dotnet restore .\DshPlusPlus.sln
dotnet run --project .\src\DshPlusPlus\DshPlusPlus.csproj
运行核心回归测试并构建 self-contained Windows 可执行文件:
dotnet run --project .\tests\DshPlusPlus.Core.Tests\DshPlusPlus.Core.Tests.csproj
dotnet build .\DshPlusPlus.sln -c Release
dotnet publish .\src\DshPlusPlus\DshPlusPlus.csproj `
-c Release `
-r win-x64 `
--self-contained true `
-p:PublishSingleFile=true `
-p:IncludeNativeLibrariesForSelfExtract=true `
-o .\publish
发布文件为 publish\dsh++.exe。publish/ 已加入 Git 忽略规则,不会进入提交记录。
跨平台 Avalonia 版本
Avalonia 界面是独立项目,不引用 WinForms:
dotnet run --project .\src\DshPlusPlus.Avalonia\DshPlusPlus.Avalonia.csproj
dotnet publish .\src\DshPlusPlus.Avalonia\DshPlusPlus.Avalonia.csproj `
-c Release -r win-x64 --self-contained true `
-p:PublishSingleFile=true -p:IncludeNativeLibrariesForSelfExtract=true
macOS 的 DMG 和 Linux 的 tar.gz 由 GitHub Actions 对应系统 runner 打包;Windows 本机不需要、也不应承担多平台打包工作。
运行环境与所需工具
直接运行 Release
- WinForms:Windows 10/11,x64 或 ARM64。
- Avalonia:Windows x64、macOS Intel/Apple Silicon、Linux x64/ARM64。
- 从 GitHub Releases 下载的 self-contained 文件不要求另外安装 .NET。
- 使用 DSH 管理功能需要本机已有 DeepSeek Harness 源码、Profile 和插件目录。
- 使用服务管理、依赖安装和构建相关功能,需要 PowerShell 5.1 或 PowerShell 7、Git 和 pnpm,并确保它们可以从
PATH找到。 - 使用启动器自动更新,需要能够通过 HTTPS 访问 GitHub API 和 Release 资产。
从源码构建
需要 .NET 9 SDK 和 Git,并使用目标 RID 对应的 SDK 支持。DSH 源码与 pnpm 不包含在本仓库中,需要另行安装;DMG 由 GitHub Actions 的 macOS runner 使用 hdiutil 创建,Linux 压缩包使用 runner 的 tar 创建。项目不依赖固定盘符或固定用户信息。
自动路径探测
启动器不会把开发者电脑的盘符、用户名或 Codex 运行时路径写入默认配置。路径探测顺序如下:
- 环境变量指定的路径。
- 启动器附近的
Deepseek-dsh、DeepSeek-dsh或deepseek-harness目录,并且目录必须同时含有.git和package.json。 - 当前用户的
%USERPROFILE%\.dsh、Profile 位置以及有限范围内的插件目录。 - Profile 中声明的本地
file:依赖。 PATH中可用的 PowerShell、Git 和 pnpm。
可选环境变量:
| 变量 | 作用 |
|---|---|
DSH_ROOT / DEEPSEEK_DSH_ROOT |
DSH 源码根目录 |
DSH_HOME / DEEPSEEK_DSH_HOME |
DSH Home 目录 |
DSH_PROFILE_DIR / DSH_PROFILE |
Profile 目录 |
DSH_PROFILE_NAME |
Profile 名称,默认 web |
DSH_SERVICE_SCRIPT |
服务 PowerShell 脚本 |
DSH_PLUGIN_ROOT |
插件根目录 |
DSH_POWERSHELL |
PowerShell 可执行文件 |
DSH_GIT |
Git 可执行文件 |
DSH_PNPM |
pnpm 可执行文件 |
PNPM_STORE_DIR / NPM_CONFIG_STORE_DIR |
可选 pnpm store;为空时使用 pnpm 自身默认值 |
启动器配置保存于 %LOCALAPPDATA%\dsh++\settings.json。默认启用 AutoDetectPaths。在“安装维护”中点击“验证并保存”会创建手动覆盖;点击“自动检测并应用”即可恢复跨机器自动探测。
默认 Web UI 地址是 http://127.0.0.1:3080,这是 DSH 的运行时默认地址,不依赖某台电脑的文件路径。
技能导入
打开“插件设置”,点击“扫描技能”,勾选需要导入的条目,再点击“导入选中项”。启动器会自动探测:
%USERPROFILE%\\.codex\\skills,或CODEX_HOME指定的 Codex 目录;%USERPROFILE%\\.claude\\skills,或CLAUDE_CONFIG_DIR指定的 Claude Code 目录;%USERPROFILE%\\.dsh\\skills作为 DSH 默认目标目录。
只扫描直接位于技能根目录下的平铺 *.md 文件,以及包含 SKILL.md 的一级目录包。无效 frontmatter、嵌套技能目录和目录链接会被忽略或标记为不支持。同内容会跳过;目标内容不同则先创建带时间戳的备份,再执行替换。原始 Codex 与 Claude Code 目录不会被修改。
启动器自动更新
启动器默认执行低频更新检查:主窗口显示后延迟检查一次,之后默认每 24 小时检查一次。检查目标是本仓库的稳定 GitHub Release:
https://github.com/qichengxiaoqi/dsh-lancher
发现新版本后,启动器只通过托盘通知和“启动器设置”页面提示,不会自动重启或修改 DSH。用户确认后才会下载 dsh++.exe,检查文件大小和 SHA-256,并使用一次性的隐藏更新进程替换当前 exe 后重启。
更新过程不会启动 DSH,也不会修改源码、.dsh、sessions 或插件目录。可以在“启动器设置”中关闭自动检查、调整 6–168 小时的检查间隔,或手动检查和下载更新。网络错误不会触发高频重试,也不会留下常驻更新进程。
安全与性能
- 只处理 DSH 本地凭据文件中的
DEEPSEEK_API_KEY;凭据不会提交到 Git,界面和日志使用掩码或脱敏文本。 - 启动器不会上传凭据,也不会默认发送可能产生费用的对话请求。
- 系统指令和插件扫描只在用户打开对应页面并触发刷新时执行,启动时不会进行全盘扫描。
- 后台刷新间隔设有下限,托盘运行时不会维持高频轮询。
- 启动器更新默认每天最多检查一次,下载前需要用户确认,并且只接受 GitHub HTTPS Release 资产。
- 更新操作会保护脏工作区,不执行针对用户目录的
push、reset或删除命令。 - 启动器不会修改、迁移或删除 DSH 源码、
.dsh、sessions、插件目录和现有脚本。
GitHub Release
仓库包含 .github/workflows/release.yml。推送 v* 标签后,GitHub Actions 会运行回归测试,分别在 Windows/macOS/Linux runner 上构建和打包两套 UI,生成 SHA256SUMS.txt,然后创建 Release:
git init
git add .
git commit -m "Initial launcher release"
git branch -M main
git remote add origin https://github.com/qichengxiaoqi/dsh-lancher.git
git push -u origin main
git tag v0.2.1
git push origin v0.2.1
发布资产包括:
| 资产 | UI / 平台 |
|---|---|
dsh++.exe |
保留的 WinForms Windows x64 版本,兼容现有自更新 |
dsh++-win-arm64.exe |
WinForms Windows ARM64 版本 |
dsh++-avalonia-win-x64.exe |
Avalonia Windows x64 版本 |
dsh++-mac-x64.dmg |
Avalonia macOS Intel 版本 |
dsh++-mac-arm64.dmg |
Avalonia macOS Apple Silicon 版本 |
dsh++-linux-x64.tar.gz |
Avalonia Linux x64 版本 |
dsh++-linux-arm64.tar.gz |
Avalonia Linux ARM64 版本 |
SHA256SUMS.txt |
全部资产的 SHA-256 校验值 |
不要手动提交 publish/、bin/、obj/、本地设置或凭据文件。Release 发布文件由工作流重新生成。
项目结构
src/
DshPlusPlus.Core/ 配置、自动探测、API、Git、服务和插件核心服务
DshPlusPlus/ 保留的 .NET 9 WinForms Windows 界面
DshPlusPlus.Avalonia/ .NET 9 跨平台 Avalonia 界面
tests/
DshPlusPlus.Core.Tests/ 无第三方测试框架的可执行回归测试
docs/
configuration.md 自动探测和配置说明
releases/ GitHub Release 公开说明
.github/workflows/
release.yml v* 标签 Release 工作流
许可证
本项目采用 MIT License,详见 LICENSE。
原始 README: https://github.com/qichengxiaoqi/dsh-lancher/blob/main/README.zh-CN.md ↗
同类插件
查看全部 →
k8e
k8e.sh — 开源 Agentic AI 沙箱矩阵

hol-guard
开源AI代理防病毒:运行时拦截风险工具、秘密访问、提示注入、恶意软件包、MCP服务器、插件和技能。

anolisa
ANOLISA(Agentic Nexus Operating Layer & Interface System Architecture):具备运行时、安全性、可观测性和 Tokenless 响应压缩能力的 Agentic OS,可降低 Token 使用量与成本。

mobius
首个自我演进的开源 Agent OS:连接你的团队、AI agent、设备与算力

deepseek-harness-desktop
DeepSeek Harness Tauri 桌面版 | Only 5mb installer, zero environment setup. Windows / macOS / Linux.

open-managed-agents
开源Claude管理代理API实现和自托管Claude标签式代理运行时。即插即用;在Cloudflare Workers/Durable Objects或Node.js上运行。Apache 2.0。