The project's README from github.com/Ebony-Vinyl/EAC-Desktop. As one markdown file: README.md.
EAC = Embracing All Creation(揽尽万象)
🚀 全新产品:Deepseek Harness EAC IDE —— 内置 EAC 的独立 IDE(VS Code 底座 · 鲸鱼品牌 · 开箱即用),前往下载 →
把官方 deepseek-ai/deepseek-harness(@deepseek-ai/dsh,一切皆插件的 agent harness)
封装为开箱即用的 Windows 桌面客户端,并在其上拥抱社区万象:皮肤、插件、工具、记忆——你所能想到的,一键皆可装。
📦 v5.4 起:唯一的桌面发行版,安装时选「完整版 / 精简版」
同一个安装包、同一套 5.x 内核:完整版带全部内置插件;精简版只默认停用外围插件(桌宠 / 手机桥 / 多智能体等),设置里可随时一键启用,无需重装。 原 Lite(Electron 精简版)退役、AIO 整合版收编为精简版形态、EAC-IDE 进入维护模式——数据统一
~/.dsh。迁移说明见 docs/SINGLE-EDITION-MIGRATION.md。
🚀 官方配套启动器:DSH EAC Launcher
多实例隔离 · 本地实例导入 · 版本一键升级/回退 · 插件安全体系(崩溃守卫 crash-guard · 插件快照回滚 · 隔离区 · 健康体检)
为本项目的多实例与插件玩法而生:每个实例独立程序目录与
DSH_HOME,从上游 Release 一键安装任意版本,装插件崩了也能一键回滚。
| 维度 | 官方 DeepSeek Harness 默认体验 | DSH-Desktop-EAC 增强 |
|---|---|---|
| 安装与启动 | 需自行准备 Node.js,并通过 CLI 启动 | 内置 Node.js、npm CLI 和 dsh,提供安装版与便携版,双击即用 |
| 桌面体验 | 主要在终端或浏览器中使用 | 原生桌面窗口、系统托盘、快捷方式维护、进程清理和任务通知 |
| CLI 共存 | CLI 与 Web 通常使用同一插件环境 | 桌面端使用独立 web-desktop profile,与 CLI 共享会话和 API Key,插件互不干扰 |
| 插件可靠性 | 主要通过包管理器安装并手动排查问题 | 安装和启动前自动快照,异常时支持体检、修复、重试、回滚和事故报告 |
| 界面定制 | 默认使用官方界面 | 内置 10 款皮肤,支持字体、字号、颜色和移动端布局调整 |
| 项目工具 | 依赖外部编辑器和终端 | 内置文件树、行级 diff、一键还原、持久终端及 HTML/本地端口预览 |
| 上下文与人设 | 手动执行 /compact、编辑人设文件 |
自动压缩、人设卡管理和 soul.md 热重载 |
| 模型与 MCP | 主要通过配置文件或 CLI 管理 | 可视化配置视觉模型和 MCP,并支持从 Claude Code、Codex 导入配置 |
| 插件生态 | 通过 CLI 或包管理器安装插件 | 内置插件市场,可搜索并一键安装、卸载和管理插件 |
| 会话效率 | 以常规会话流程为主 | 支持临时对话、对话节点导航和第三方模型思考强度调整 |
| 消息接入 | 默认不包含 EAC 消息桥接 | 支持一键接入微信 ClawBot / OpenClaw |
| 更新维护 | 通过包管理器或手动方式更新 | dsh agent 与桌面客户端分别自动检查更新,失败时保留或回退原版本 |
EAC 不修改官方 dsh 内核,完整保留插件架构和官方能力;默认共享
DSH_HOME中的会话与 API Key,同时隔离桌面端插件环境。
当前发布线为 5.x(Tauri/Rust 壳)。5.2 起桌面版统一为 Tauri 壳;更早的 v4.4.1 Electron 版已退役(仅 Release 存档)。安装包直接从 Release 下载。
| 文件 | 说明 | 大小 |
|---|---|---|
| 安装版 Setup(v5.3.6) | Tauri 壳安装版(NSIS),安装到系统并创建快捷方式;SHA256 校验文件随 Release 提供 | ~191 MB |
| 便携版(v5.3.6) | 免安装压缩包,解压到任意目录即可运行;数据跟随程序目录,可直接迁移 | ~228 MB |
更多版本见 Releases 页面。
DSHEAC AIO 是独立于 5.x 主线的 All-in-One 精致个人终端:一个安装包备齐 dsh 内核、插件市场与完整桌面体验,开箱即用;与正式版相互隔离(独立 app data 与
dsh-home,默认不读取 5.x / v4Lite / 旧 EAC 或 CLI 数据),可并存安装。当前版本 AIO v1.2.0(源码分支aio-v1,随 aio-v1.2.0 Release 一同发布)。
| 文件 | 说明 | 大小 |
|---|---|---|
| AIO 安装版(v1.2.0) | NSIS 安装版,安装到系统并创建快捷方式;EXE 为 DSHEAC AIO.exe,与正式版更新器互相隔离 |
~313 MB |
| AIO 便携版(v1.2.0) | 免安装解压即用,数据写入 EXE 同级 .dsh-aio-data,可直接迁移 |
~147 MB |
| 校验清单 SHA256SUMS-AIO-v1.2.0.txt | AIO 资产 SHA-256 校验 | — |
0.1.3-alpha.2,插件接口随内核迁移修复,应用图标更换为 WhaleGirl,并移除已确认停用的插件与皮肤。💡 升级说明(老用户必读):
- 直接下载上方最新安装包覆盖安装即可;
- 插件、皮肤、会话与配置全部保留——数据在
%APPDATA%\DSH-Desktop-EAC\与~/.dsh,升级过程不触碰。
macOS 桌面版与 Windows/Linux 同源同版本,随 v5.1.0 Release 一同发布。
| 文件 | 说明 | 大小 |
|---|---|---|
| 安装镜像 .dmg | 双击挂载后拖入 Applications | ~136 MB |
| 应用包 .app.zip | 解压后直接运行 | ~157 MB |
| 校验和 SHA256SUMS-macos.txt | macOS 资产 SHA256 | — |
~/Library/Application Support/deepseek-harness-eac/;dsh 数据仍在 ~/.dsh(与 CLI 共享,会话互通)。Linux 桌面端由 CI(Ubuntu 22.04)持续构建与验证;自 v5.3.6 起 AppImage 与 .deb 已并入统一版本线(当前 v5.3.6),.rpm/.pacman 仍由独立版本线提供(最近维护版 v4.4.0)。
| 文件 | 说明 |
|---|---|
| .deb(Debian/Ubuntu,v5.3.6) | 安装后可从应用菜单启动 |
| AppImage(v5.3.6) | 免安装:chmod +x 后直接运行 |
| .rpm(Fedora/openSUSE) | — |
| .pacman(Arch) | — |
libwebkit2gtk-4.1-dev 等构建依赖见仓库 CI);AppImage 自带运行时,构建基线 Ubuntu 22.04。~/.config/deepseek-harness-eac(XDG);dsh 数据仍在 ~/.dsh(与 CLI 共享)。wl-copy/xclip/xsel,通知依赖 notify-send;缺失时对应能力自动降级为「外部依赖」,不伪装成功。桌面端配置在
%APPDATA%\DSH-Desktop-EAC\(设置/更新缓存),dsh 数据 在~/.dsh(DSH_HOME,会话与 API Key 与 CLI 共享)。安装版与便携版一致。 想强制指定 DSH 配置目录?启动前设置环境变量DSH_HOME即可(与 dsh CLI 行为一致)。
@deepseek-ai/dsh 新版本,同意后安装到数据目录 overlay,原子切换,新版启动失败可一键回退内置版本。@deepseek-ai/dsh 及官方插件,无需额外安装运行时。DSH_HOME 中的会话与 API Key,桌面端使用独立 web-desktop profile,插件互不干扰。/compact,阈值可调,失败静默重试。soul.md 热重载。picturereader 分析本地或在线图片,并将结果直接带回对话。dsh-unified-market 聚合多个插件源,支持搜索、一键安装和卸载。dsh-plugin-shield 配合内置 plugin-guard 引擎提供快照、体检、修复、重试、回滚和事故报告。
|
|
| QQ 交流群 3 群号:1083832019 |
微信交流群 |
遇到 Bug,或有希望我们增加的功能,请前往 https://eac.dtyg123.dpdns.org/。
cd dsh-desktop
npm install -g [email protected] # 内核构建依赖(版本由上游 packageManager 钉定)
node scripts/fetch-kernel.js # 首次必须:自上游源码构建内核 tarball(vendor/ 不入库;网络受限环境需自行配置代理)
npm install # 内核 tarball 就位后依赖才能安装
npm run fetch-runtime # 内置 node.exe + npm CLI
node ../tauri-shell/stage-resources.mjs # 装配打包资源(sidecar + dsh-desktop 运行树)
cd ../tauri-shell
npx -y @tauri-apps/cli@2 build # release 构建 + NSIS 安装包
node make-portable.mjs # 便携 zip(可选)→ target/release/portable/
# 开发态(热迭代):cargo run(Rust 工具链需 RUSTUP_HOME/CARGO_HOME)
Rust 工具链:rustup + MSVC;NSIS 打包由 Tauri 自动下载(
%LOCALAPPDATA%\tauri\NSIS)。 偶发makensismmap error(杀软放大触发)——重跑即可。
cd dsh-desktop
npm install -g [email protected]
node scripts/fetch-kernel.js # 网络受限环境需自行配置代理
npm install
npm run fetch-runtime
# 打包(Tauri 三段链,产出入 tauri-shell/target/release/)
node ../tauri-shell/stage-resources.mjs # 装配 staged-resources
cd ../tauri-shell
npx -y @tauri-apps/cli@2 build # → bundle/nsis/*-setup.exe(含 sidecar 运行树)
node make-portable.mjs # → portable/*-portable.zip + SHA256SUMS.txt
运行测试:
cd dsh-desktop
npm test # node --test test/*.test.ts(pretest 含 tsc 全量类型检查)
node ../gui-smoke.js # Tauri 壳 GUI 冒烟(18 项,需先 cargo build)
node ../update-smoke.js # 自更新链路冒烟(mock 发布源 + 目录树交换)
┌──────────────────────────────────────────────────────────┐
│ L1 Rust 壳 (tauri-shell/src/main.rs) │
│ · 单实例锁 / 主窗+浮窗 / 托盘 / 退出策略 │
│ · 壳层 WS 方法本地拦截(win.* / menu 壳动作 / 日志) │
│ · 壳页 HTTP 路由(/loading /exit /died /update /about /wizard)│
│ · spawn sidecar(stdio JSON-RPC)+ WS 中继 127.0.0.1:19873│
└──────────────┬───────────────────────────────────────────┘
│ stdio JSON-RPC(L1 ↔ L2)
▼
┌──────────────────────────────────────────────────────────┐
│ L2 Node sidecar (tauri-shell/sidecar/server.ts) │
│ · 挂载 lib/desktop/* 全部模块 + boot-server 服务编排 │
│ · 桥方法面(chrome.init / balance / plugins / rescue / │
│ client-update / onboard.* / menu.action …) │
└──────────────┬───────────────────────────────────────────┘
│ spawn vendor/node + dsh web --port 0
▼
L3 dsh 内核(@deepseek-ai/dsh,零改动)
输出 "dsh web: http://127.0.0.1:<port>"
│ webUrl 经通知回传 L1
▼
主窗导航真实 Web UI(仅本机回环访问)
dsh-desktop/ # Node/TS 后端 + 数据面(Tauri 壳的后端运行时)
├── updater.js # 官方 dsh agent 更新引擎
├── client-updater.js # 客户端本体自更新引擎
├── balance.js # DeepSeek 余额查询
├── session-watcher.js # 会话完成监听
├── plugin-guard.js # 插件保护中心引擎(快照/回滚/体检/修复/守护启动/事故报告)
├── profile-module-heal.js # profile 模块遮蔽自愈(真实目录 + pnpm 链接)
├── assets/