DSH-Folk —— 基于 FolkPatch 设计风格的 DeepSeek Harness 移动端启动器。
51/100
综合分
45
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/30 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查未通过:仓库根目录及浅层子目录均无 dsh 插件清单,无法用 dsh 插件安装命令安装。以下命令仍可尝试,但可能失败。
无法用 dsh 插件命令安装(仓库内无 dsh 插件清单)
git clone https://github.com/IPF-Sinon/DSH-Folk.git按该仓库 README 的原生方式安装;若作者另行发布了 DSH 插件包,请以其文档为准
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · other
装得上吗
作者未把包发布到 npm,只能用源码安装
插件本身没问题,是分发方式不同
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 4 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装仓库根目录及浅层子目录均无 dsh 插件清单,无法用 dsh 插件安装命令安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包DSH-Folk(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明
源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/2 04:34:01
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件
查看扫描证据(共 7 处,展示前 7 条)
- 读取本地文件runtime-builder/check-elf-closure.js:55
b = fs.readFileSync(file); - 读取本地文件runtime-builder/check-elf-closure.js:117
ents = fs.readdirSync(abs, { withFileTypes: true }); - 读取本地文件runtime-builder/check-elf-closure.js:154
if (!root || !fs.existsSync(root)) { - 读取本地文件runtime-builder/check-elf-closure.js:190
ents = fs.readdirSync(path.join(root, d), { withFileTypes: true }); - 读取本地文件runtime-builder/check-trim-safety.js:106
ents = fs.readdirSync(dir, { withFileTypes: true }); - 读取本地文件runtime-builder/check-trim-safety.js:118
pkg = JSON.parse(fs.readFileSync(p, 'utf8')); - 读取本地文件runtime-builder/check-trim-safety.js:132
if (!root || !fs.existsSync(root)) {
扫描于 2026/11/2(1 天前) · 范围 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
界面预览
4 张 · 点击查看大图功能亮点
- 移动端启动器
README
由 DeepSeek 最新模型翻译生成DSH-Folk
在 Android 上跑 DeepSeek Harness 的启动器
DSH-Folk 把 DeepSeek Harness(一个 Node.js 的编码 Agent CLI)装进手机:应用下载一份 Linux 容器运行时(arm64 或 x86_64,按设备架构),用 proot / proroot 在容器里启动 dsh web,然后你在手机上直接打开它的 Web UI。
不需要 root,也不需要 Termux。有 root / Shizuku / 无线 ADB 时会自动利用,用于放宽某些受限操作。
目录
- 预览
- 现在能做什么
- 环境要求
- 安装
- 运行时管理
- 深入了解
- 项目结构
- 致谢 · 许可证 · 友情链接 · 交流
深入的实现说明拆到了 docs/ 下,按主题分文件(见 深入了解)。
展开完整文档(README 剩余 1 节)
DSH-Folk 在 Android 上跑 DeepSeek Harness 的启动器 DSH-Folk 把 DeepSeek Harness(一个 Node.js 的编码 Agent CLI)装进手机:应用下载一份 Linux 容器运行时(arm64 或 x86_64,按设备架构),用 proot / proroot 在容器里启动 dsh web,然后你在手机上直接打开它的 Web UI。 不需要 root,也不需要 Termux。有 root / Shizuku / 无线 ADB 时会自动利用,用于放宽某些受限操作。 目录 - 预览 - 现在能做什么 - 环境要求 - 安装 - 运行时管理 - 深入了解 - 项目结构 - 致谢 · 许可证 · 友情链接 · 交流 深入的实现说明拆到了 docs/ 下,按主题分文件(见 深入了解)。 预览 | 主页 | 终端 | | 插件 | 设置 | 现在能做什么 | 页面 | 说明 | | 主页 | 一键启动 / 停止 / 重启 DSH,显示运行阶段、Web UI 地址、当前运行方式与权限通道,带可复制的启动日志 | | 终端 | 容器内的真 PTY 终端(基于 Termux 的 terminal-view),直接 bash 进容器 | | 插件 | 管理容器里 DSH 的插件,展示 npm 周下载量、GitHub star 与 dsh-market 点赞;内置插件商店(下载完整目录后本地搜索,4000+ 条),显示上游扫描出的能力与安全红线,支持本地 .tgz 安装。装完会用临时端口验证一次插件树能否加载,不通过自动卸载 | | 设置 | 常规 / 外观 / 行为 / 功能 / 安全 / 备份 / 插件 / 多媒体,界面主题体系沿用 FolkPatch(theme.json 完全兼容) | 主题商店的入口在 设置 → 外观 页右上角;主题存档(.fpt)的导出与导入在商店页顶栏。 界面语言在 设置 → 常规 → 语言 里选,与系统语言无关(还有几套「风味」皮:魔法大厅 / 圣光之殿 / 后厨操作台 / 主世界 / 仙府主殿,只能从这里进)。启动日志、通知栏、Toast 与两个桥的报错都跟着这一项走,不是跟着系统语言。 虚拟屏(设置 → 功能 → 权限管理 → 屏幕与外部界面 → 虚拟屏)是另一条路。DSH 可以在自己的一块虚拟显示上启动目标 App,容器里的 agent 直接对它截屏、点击、滑动、按键,也能在那块屏上启动指定包名 —— 全程不碰你自己的屏幕,所以不会把你正在看的东西顶掉。同一项里可以打开预览:实时画面 + 用手直接操作(点按/滑动、返回/桌面/最近任务)。预览和 agent 跑的是完全同一个服务,所以出问题时能一眼分清是画面侧还是输入侧。需要 root / Shizuku / 无线 ADB 之一 —— 通道没就绪时,点「预览」会先弹一个引导,说明还差的是哪一步(没选通道 / root 未验证 / Shizuku 未授权 / 无线 ADB 未配对),并可直达权限通道页。 移植自 Operit 的 shower 子系统(LGPL-3.0,其自身源自 scrcpy),署名见致谢与 displayserver/ 的 package-info.java。 配置备份与 DSH 桌面端的 dsh-config-manager 插件使用同一套导出格式,手机上导出的 zip 能直接在电脑上导入,反之亦然;凭据值默认不导出,可选整包 AES-256-GCM 加密。为什么中间那一段要由软件侧做,见 备份为什么要由软件侧加密。 环境要求 - Android 8.0 (API 26) 或更高 - arm64-v8a 或 x86_64 设备(不支持 32 位) - 首次启动需要联网下载运行时(约 150 MB 压缩包,解压后约 600 MB;可在设置里选镜像或自动测速) - 存储空间建议预留 2 GB 以上 首次启动下载完运行时后会自动预装四个插件:dsh-web-mobile(移动端适配)、dshmarket(WebUI 内的插件市场)、 dsh-config-manager(配置备份功能的依赖)、dsh-file-upload(拖拽上传 / 文档转 Markdown / 图片 OCR / 语音输入)。 安装失败不影响启动,之后可以在插件商店里手动装;预装清单按包名逐个记账,从旧版本升级上来会自动补装新增的那几个。 WebUI 里有几处由 DSH-Folk 自己注入的补丁(不依赖上面这些插件,因此不会被插件升级覆盖):旧内核的 JS API 兼容垫片、系统栏内边距避让,以及手机回车换行 —— 上游把 Enter/Shift+Enter 注册成只读快捷键(发送 / 换行),而软键盘没有 Shift,所以触屏设备上由我们注入一段脚本把裸回车改成换行(发送用发送按钮);开关在 设置 → 功能 → WebUI 兼容。 root / Shizuku / 无线 ADB 都是可选的,并且默认不启用。DSH-Folk 只探测并复用设备上已有的 su(Magisk / KernelSU / APatch)与已授权的 Shizuku / Sui,自身不打任何内核补丁、不安装 su、不内置 Shizuku Server。要用就去 设置 → 安全 → 权限通道 → 首选通道 选一条(或选「自动」按 root > Shizuku > 无线 ADB 挑)。 选了通道后,App 自己(硬件监控、bugreport 的 dmesg/tombstones、重启菜单)与容器里的 AI(经 dsh-native shell 由 App 代跑)都能用它;容器本身不需要 root。严格程度决定「用之前要不要问你」,默认严格(每次特权调用都弹窗)。 完整的权限模型、无线 ADB 的两把锁、AI 能通过桥调到宿主的哪些能力,见 容器里能调宿主的什么。 安装 到 Releases 下载对应架构的 APK,同目录的 .sha256 可用于校验: - DSH-Folk-<版本>-arm64-v8a.apk —— 绝大多数手机、平板 - DSH-Folk-<版本>-x86_64.apk —— Android 模拟器、Android-x86、ChromeOS 两个包功能相同,区别只在打包的原生二进制与下载的容器 rootfs。装错架构会在启动时提示「Unsupported architecture」并退出。不确定的话:手机选 arm64-v8a。 也可以到 Actions 取开发构建:选一次成功的运行,下载 dsh-folk-debug- 或 dsh-folk-release- 工件。 测试版通道:应用测试版在 设置 → 常规 → 接受测试版更新 打开后才会连预发布版一起看(默认关闭);容器运行时的测试版是独立开关(设置 → 功能 → 运行时 → 接受测试版运行时更新),两者互不影响。 测试版 / 正式版怎么发布、为什么这么发(release 变体、versionCode 约定、不用 Actions artifact 等),见构建与发布内幕。 应用自身的更新在 设置 → 常规 → 检查更新 里完成:它会对下载渠道(GitHub 直连 / gh-proxy 镜像)测延迟与吞吐,下载支持断点续传,装之前必须通过 release 附带的 .sha256 校验 —— 校验不过一律不装。 运行时管理 设置 → 功能 → 运行时 那张开关卡片: - 点一下卡片:立即检查更新。查到确有能装的版本才弹确认框(说明目标版本与保留的数据),确认后才开始下载;没有更新、或者那份包要求的 App 版本比当前高(那种包装上连容器都起不来)时只给一句结果,不打扰你。 - 长按卡片:打开版本菜单。顶上两个滑块各两档 —— 完整版 / 精简版、正式 / 测试,改一下就重拉列表;列表只显示所选组合,当前已装那一版固定在最上面:点它 = 重装,点别的版本 = 切换过去(降级也行)。 菜单左下角是导入:安装本地 tar.gz(可信来源),会先显示文件名与体积供确认。 - 重装(就是点最上面那一行):重新下载当前通道的最新运行时,可选保留或清空会话、插件、配置与依赖数据。 - 右侧开关:自动检查更新,默认开。开启后应用启动即自动检查运行时更新,发现新版本才提示;下载仍需手动确认。 它只管自动检查,手动检查是点卡片。它与「应用更新」检测并行,但弹窗排队,避免两个「有更新」的弹窗叠在一起。 日志里 dsh web: http://127.0.0.1:3080/?token=… 那行是打开 WebUI 用的令牌,等同于这个实例的密码(局域网访问默认关闭,只在本机可达)—— 贴日志求助前记得把它删掉。 预装插件时 pnpm 会刷一屏 missing peer … 警告,这是预期的(@deepseek-ai/dsh-、react 这些 peer 由 dsh 自己解析);判断预装成没成看每个插件末尾的「预装完成 <包名>」与 [DSH-Folk-exit] 0,不是看这些警告。 运行时构建、rootfs 工作流、minAppVersion 门槛等内幕见 构建与发布内幕。 深入了解 按主题拆到 docs/ 下: - 容器里能调宿主的什么(dsh-fs / dsh-native) —— 两个回环桥、24 项原生能力、特权命令(shell)、无障碍(a11y)与自助提权流程 - 备份为什么要由软件侧加密 —— 导出/导入格式、DCA1 容器、快照回退软件设置、WebDAV 云备份插件、五档档位 - 开机自启 —— 开机广播 / 无障碍 / 开机脚本三条路径的取舍,以及两个无障碍开关分别是什么 - 日志采集与脱敏 —— bugreport 的文件归属、脱敏、时间窗口裁剪与 session.lock 处理 - 它是怎么跑起来的 —— proot/proroot、rootfs、link2symlink、pnpm、ELF 闭包等运行链细节 - 构建与发布内幕 —— 应用/运行时的发布工作流、测试版通道机制、更新说明为什么是本地资源 - 自动化工作流:踩坑指南 —— 四层跨进程契约、审批 TTL、分支跳过、Compose 画布手势与坐标的七次返工、Kotlin 运行期陷阱(CC BY 4.0) 项目结构 app/src/main/java/me/bmax/apatch/ dsh/ 运行时层:下载安装、proot 启动、权限探测、无线 ADB、PTY、配置备份 ui/screen/HomeDsh.kt 主页 ui/screen/Dsh.kt 终端 / 插件 / 插件商店 ui/screen/settings/ 设置各分页 runtime-builder/ 容器 rootfs 构建脚本(在 CI 上跑)+ 动态库闭包检查 .github/workflows/ build.yml(APK) + runtime.yml(rootfs) docs/ 分主题的深入实现说明 内部包名保留 me.bmax.apatch(applicationId 是 top.funcun.dshfolk):这样 FolkPatch 的整套主题子系统与用户已有的 theme.json 不需要改一行就能继续用。 致谢 DSH-Folk 的 UI 直接复用 FolkPatch,容器与运行时交付思路来自 DSHA / DSHM: - FolkPatch —— 本项目的 UI 基础(GPL-3.0) - APatch —— FolkPatch 的上游 - DSHA —— 无线 ADB 配对方案、容器运行逻辑参考 - DSHM —— 运行时在线交付与镜像测速方案 - DeepSeek Harness —— 被启动的本体 - proot / proroot / Termux —— 容器执行与 PTY 终端 - Shizuku —— 免 root 特权通道 - KernelSU / SukiSU-Ultra —— 界面设计参考 - Genymobile/scrcpy —— 虚拟显示屏的创建手法(伪造 ActivityThread/系统 Context、SurfaceControl/DisplayManager 反射、injectInputEvent 注入),Apache-2.0 - Operit —— 虚拟屏幕服务端的实现参考,displayserver/ 移植自其 tools/shower;悬浮小窗的形态(折叠把手 / 展开 / 贴边 / 控制条)参照其 VirtualDisplayOverlay,LGPL-3.0 displayserver/ 是 Operit(LGPL-3.0)的移植产物,其手法又源自 scrcpy(Apache-2.0)。LGPLv3 与本站的 GPLv3 兼容,因此可以整体以 GPL-3.0 分发;移植时按 GPLv3 要求保留了完整源码(本仓库)与该署名。原始的 com.ai.assistance.shower 包名已改为 me.bmax.apatch.display,并去掉了移植源里与本功能无关的 Compose 界面。 虚拟屏悬浮小窗(DisplayMirror)的形态也参照了 Operit 的 VirtualDisplayOverlay:默认折叠成边缘把手、点开才展开、点一下出控制条、300ms 位移/尺寸动画。实现是按本仓库的会话模型重写的(只挂 agent 那块屏、与预览页交接唯一的视频 sink、只做旁观不做触摸注入),没有照搬其自动化进度条、彩虹边框与全屏触摸转发。 许可证 GNU General Public License v3.0。本项目派生自 GPL-3.0 的 FolkPatch,因此整体沿用 GPL-3.0:分发(含二次修改)必须同样以 GPLv3 开源并提供完整源码。 友情链接 LINUX DO 开源社区 | linux.do 交流 - QQ 群:1109060326 - Issues:https://github.com/IPF-Sinon/DSH-Folk/issues
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
IPF-Sinon/DSH-Folk
DSH-Folk —— 基于 FolkPatch 设计风格的 DeepSeek Harness 移动端启动器。
相关插件 · 其他
模型破甲清洗YuJunZhiXue/dsh-purge
⚔️ DeepSeek Harness 网络安全红队工具dsh-purge
★ 16,148已汉化DeepSeek 客户端
73
女娲蒸馏alchaincyf/nuwa-skill
输入名人名字,提炼其思维模型与决策方式供你调用
★ 37,308已汉化DSH
72
逆向分析桥接Fanqi89/dsh-rea
REA(Reverse Engineer Anything)MCP 桥接,用来把 REA 逆向工具接入 DSH 插件
★ 51已汉化DSH
72
语音女友beiyege-01/dsh-voice-ai-girlfriend
语音 AI 女友Voice AI girlfriend for DeepSeek Harness:Whisper…
★ 888已汉化DSH
71.6
红队越狱测试套件Minglink/dsh-infinite-gen-5
DeepSeek v4.1 flash 逆向工具无限五代 求 Star 收藏 ⭐欢迎大家提交项目的改进
★ 3,759已汉化DSH
71.4
协同办公空间dream-num/univer-workspace
一个让人类与 AI Agent 共同创作、协作和审阅的开源 Office 工作空间。
★ 2,266已汉化DSH
70.7