deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
你的 DeepSeek Harness 桌面助手
一键安装 · 智能引导 · 常驻托盘 —— 让 AI 助手开箱即用
鲸仔(Whalito)是一款为普通用户打造的 DeepSeek Harness 桌面助手。它把原本需要在命令行里才能完成的「安装 Node.js → 安装 Harness → 启动服务」整套流程,简化成几个按钮:打开应用,它会自动检测环境、补齐缺失依赖、启动服务,并在内置窗口中直接打开 Harness。
不需要懂 Node,不需要记命令,开箱即用。

鲸仔本身开箱即用,无需手动配置。运行前只需满足以下系统要求:
| 项目 | 要求 |
|---|---|
| 操作系统 | Windows 10(版本 1809 及以上)/ Windows 11 · macOS 12+(Apple Silicon / Intel) |
| 架构 | Windows:x64(64 位);macOS:universal(Apple Silicon 与 Intel 通用) |
| WebView2 Runtime | Windows:首次安装时由安装器自动安装(Windows 11 已内置);macOS 无需 |
以下依赖由鲸仔自动检测并引导安装,你无需手动配置:
| 依赖 | 要求 | 说明 |
|---|---|---|
| Node.js | ≥ 22.19.0 | 缺失或版本过低时,鲸仔会引导一键安装 / 升级 |
| npm | 随 Node.js 附带 | 用于安装 Harness |
| 网络连接 | 可访问 npm 源 | 首次安装需联网下载依赖 |
Whalito_0.4.4_x64-setup.exeWhalito_0.4.4_universal.dmgmacOS 环境检测与安装说明:
~/.nvm)→ fnm/volta → Homebrew(/opt/homebrew、/usr/local)→ 系统自带(通常过旧,会提示升级)→ PATH~/Library/Application Support/com.deepseek.dsh-launcher/node/,全程无需管理员权限;检测到 nvm 时也可用 nvm 安装~/Library/LaunchAgents/com.deepseek.dsh-launcher.plist)实现,同样无需管理员权限~/Library/Application Support/com.deepseek.dsh-launcher、上述 plist 与 ~/.dsh(注意后者包含你的 Harness 数据)/usr/bin/node 过旧时正确提示版本要求并引导安装node-addon-landlock-run-darwin-*、koffi-darwin-* 等 optionalDependencies)可随 npm 正常安装(首验项)| 能力 | 说明 |
|---|---|
| 环境检测 | 自动识别 Node.js / npm / Harness 是否就绪 |
| 一键安装 Node.js | Windows:winget / nvm / 便携 zip;macOS:官方 tar 包(免管理员)/ nvm / 自定义目录 |
| 安装 / 更新 Harness | 支持切换 npm 镜像源,国内更快 |
| 服务器管理 | 一键启动 / 停止 / 重启,异常自动拉起 |
| 鲸仔设置分区 | DSH 设置面板内直接管理鲸仔设置(端口 / 镜像 / 版本偏好 / 自启 / 桌宠 / 版本检查与一键更新等),取代悬浮按钮 |
| 托盘常驻 | 最小化到托盘,支持开机自启 |
| 实时日志 | 运行状态与输出实时可见 |
鲸仔基于 Tauri 2 + Vue 3 + TypeScript 构建,支持 Windows 与 macOS。
src/ # Vue 3 + TS 前端控制面板
whalitoBridge.ts # 与内嵌 DSH 页面"鲸仔"设置分区的 postMessage 桥
src-tauri/
src/
lib.rs # 入口:托盘、窗口、命令注册
state.rs # 共享状态、配置、进程 / 日志 / 健康检查
commands.rs # 全部 Tauri 命令(检测 / 安装 / 启停 / 设置)
settings_plugin.rs # 鲸仔设置分区插件同步(幂等写入 web profile)
whalito-dsh-settings/ # 内嵌的 DSH 客户端插件包(package.json / index.js / client.js)
Cargo.toml
tauri.conf.json
pnpm install
pnpm tauri dev # 前端 dev server + Rust debug
pnpm tauri:build # 生产包:Whalito_0.4.4_x64-setup.exe(DSH 端口 3080,数据目录 ~/.dsh)
pnpm tauri:build:test # 测试包:Whalito-Test_0.4.4_x64-setup.exe(DSH 端口 30080,数据目录 ~/.dsh-test)
测试包与生产包三隔离(包名/标识符、默认端口、DSH 数据目录均不同),可同时安装、同时运行、互不干扰。测试开关是编译期的 WHALITO_TEST_BUILD=1(见 src-tauri/src/state.rs 的 TEST_BUILD),生产构建不设置该变量,测试代码被编译器折叠、零残留。
安装器输出目录:src-tauri/target/release/bundle/nsis/
安装包当前未签名,Windows SmartScreen 会提示「未知发布者」,属预期;正式分发建议配置代码签名证书。
macOS 产物(.app / .dmg)无法在 Windows/Linux 上交叉编译,由 GitHub Actions 的 macOS runner 构建(见 .github/workflows/release.yml):
# 本地 macOS 机器上等价命令:
rustup target add x86_64-apple-darwin
pnpm tauri build --target universal-apple-darwin --config src-tauri/tauri.macos.conf.json
v* tag 或手动触发 Release workflow → CI 同时构建 Windows NSIS 与 macOS universal dmg,并上传到 GitHub Release(资产名如 Whalito_0.4.4_universal.dmg).dmg 资产(Windows 匹配 _x64-setup.exe),一键更新会自动挂载 dmg 覆盖安装并重启桌宠外观由样式契约文件驱动,文件变更 2 秒内热更新(无需重启):
| 版本 | 契约文件路径 |
|---|---|
| 生产 | ~/.dsh/pet-style.json |
| 测试 | ~/.dsh-test/pet-style.json |
{
"schemaVersion": 1,
"size": 96,
"position": { "x": 1280, "y": 720 },
"avatar": null,
"accent": "#f87171",
"bubble": { "bg": "#171a21", "fg": "#e8eaf0", "sub": "#9aa3b2", "fontSize": 12 },
"animations": { "bob": true, "float": true, "attention": true }
}
size:鲸仔直径(px,48–160);position:窗口物理坐标(null = 默认右下角,拖拽后自动写回);avatar:头像图片路径或 data URI(null = 内置 logo,超 256KB 忽略);accent:徽标强调色;bubble:气泡背景/前景/副文本色与字号(10–18);animations:三项动画开关;桌宠窗口可按住鲸仔拖拽(轻点打开主界面),位置自动持久化;桌宠状态异常时可查看 %TEMP%\whalito-pet.log 诊断日志。
鲸仔对用户透明 —— 每个按钮背后执行的命令都清晰可查:
| 动作 | 实际执行 |
|---|---|
| 检测 Node | Windows:where.exe node / node --version / 兜底 C:\Program Files\nodejs\node.exe;macOS:按优先级探测 自定义目录 → nvm(~/.nvm)→ fnm/volta → Homebrew → /usr/bin/node → PATH,并逐个 node --version 验证 |
| 装 Node | Windows:winget install/upgrade OpenJS.NodeJS.LTS;nvm:nvm install 22.x + nvm use;便携:下载 node zip 解压到用户目录。macOS:下载 node-v22.x-darwin-{arm64,x64}.tar.gz → /usr/bin/tar 解压到 ~/Library/Application Support/com.deepseek.dsh-launcher/node/(免管理员);nvm:bash/zsh -lc 'source nvm.sh && nvm install 22 && nvm alias default 22' 并回写解析出的 node 绝对路径 |
| 装 / 更新 Harness | 首次安装 node <npm-cli.js> install -g @deepseek-ai/dsh;更新按「DSH 版本偏好」安装 @deepseek-ai/dsh@latest(稳定版)或 @deepseek-ai/dsh@next(预发布版)(应用专用前缀,隔离免管理员) |
| 检查 Harness 更新 | node <npm-cli.js> view @deepseek-ai/dsh@<latest|next> version(标签按「DSH 版本偏好」,走所选 npm 镜像源) |
| 校验 | node <dsh/bin.js> --version + --dump-default-config |
| 启动 | node <dsh/bin.js> web --port <port>(macOS 额外注入用户 shell PATH) |
| 停止 | Windows:taskkill /PID <pid> /T /F;macOS/Linux:kill <pid> |
| 开机自启 | Windows:注册表 Run 键;macOS:~/Library/LaunchAgents/com.deepseek.dsh-launcher.plist |
| 健康检查 | GET <解析出的 URL>(800ms 超时) |
本项目基于 MIT License 开源。Copyright (c) 2026 Evan Hang。详见 LICENSE。
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。