DeepSeek Harness Hub
← 返回列表

鸿蒙端运行环境sol5766/dshm

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
需源码安装

在鸿蒙沙箱内启动本地服务并加载网页界面

暂不能直接安装(需源码编译或环境不满足):缺少 main/exports/bin 入口声明。 · 最近上游提交 2026/9/14 · 已提供中文文档

deepseek 集成 HarmonyOS PC 客户端

综合分
35.4
GitHub 分
35.4
用户评分
★ Stars
8
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add sol5766/dshm
缺少 main/exports/bin 入口声明,改用 GitHub 源安装
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查需源码安装

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

npm 包dshm-tools(未发布到 npm,仅可源码安装)
Node 引擎未声明 engines.node
dsh CLI 依赖未声明 dsh 版本约束
入口文件缺少入口声明

缺少 main/exports/bin 入口声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/18 02:57:26

用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

DSHM

DSHM 是面向 HarmonyOS Next 的 DSH(DeepSeek Harness)运行环境实现。应用在系统沙箱中加载 DSH 运行时、busybox 与 pnpm 环境,启动本地 DSH Web 服务后,通过 ArkWeb 加载 http://127.0.0.1:3080。

当前状态

- EntryAbility 加载 pages/dshm/DshmWebPage,完成 DSH 环境解压 → busybox 就绪 → native 子进程启动 DSH web server → ArkWeb 加载 WebUI 的端到端闭环
- 两种运行模式(Harness → 运行模式,写在 /runtime-mode.txt):
- auto(默认):设备上存在 Harmonybrew 版 dsh 时优先用宿主 dsh(系统 node,启动约 9s)
- host:强制宿主 dsh(~/.harmonybrew/bin/dsh)
- embedded:用 HAP 内置 libnode + rawfile/dsh 环境,--jitless(启动约 11.4s)
- ⚠️ 两种模式的 $DSH_HOME 不同(host = /storage/Users/currentUser、embedded = /home),会话库互不可见 —— 排查"会话没了"先看 runtime-mode-active.txt
- 内置 busybox 兜底 applet:ash/bash/hush、bzip2/xz、hexdump、less、nc、unzip、vi(其余由系统 toybox 补齐)
- 内置 pnpm,插件安装通过同进程 Worker 桥接执行
- 工作区目录授权 + 持久授权,可同步到应用沙盒 workspace
- App 内无在线升级:菜单只有本地功能(主页 / 关于版本 / 运行模式 / 检查 App 更新 / 重置运行环境 / 重启服务,编辑菜单含刷新与 zsh 终端);升级 dsh 版本 = 重建环境 + 装新 HAP,见 docs/dsh-version-upgrade.md
- 环境已瘦身:rawfile/dsh 由 253.5MB / 26,762 文件降到 110.7MB / 12,485 文件,HAP 由 385MB 降到 238MB、安装耗时 60s → 9.8s;由 scripts/prune-dsh-env.mjs 完成并带包入口自检
- 支持设备形态:phone、tablet、2in1、car、tv、wearable

运行时约束(真机实测)

- --jitless 必须(仅 embedded 模式):沙箱 W^X 禁止创建可执行内存,内置 node 以 --jitless --expose-internals 启动,由 _fetch-shim.cjs 提供 Web 全局与 WebAssembly 垫片
- ArkTS http 探测 loopback 不可靠:UI 就绪判定改为读 node 日志标记(dsh web:),不依赖 ArkTS http 探测 3080
- libnode 需 native 加固:DT_NEEDED 链接固定加载顺序 + io_uring bl syscall 打补丁回退 epoll,由准备脚本完成后进入 entry/libs/arm64-v8a/
- HAP 不压缩存储:rawfile 每减 1MB,HAP 就少 1MB —— 体积优化主要靠裁剪环境文件(判据必须是"平台构建产物"形状,不能按路径里出现 win32 就删,详见升级手册 §4.1)

目录

DSHM/
├── entry/                 # 主应用层、EntryAbility、ArkWeb 页面与运行时桥接
├── tools/                 # 图标生成等开发工具
└── AGENTS.md              # 工作区协作规范

entry/src/main/resources/rawfile/dsh/、busybox/ 与 native 运行时文件随 HAP 分发,设备端由引导流程解压。

开发环境

1. 使用 DevEco Studio 打开仓库根。
2. 在 DevEco Studio 签名设置中配置开发签名(调试机登录后自动签名)。
3. 使用 Hvigor 构建 entry 模块并安装到设备。

许可证

MIT,见 LICENSE。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群