← Back to home@H2O-YAOZE

dsh-mobile-workbench

Self-hosted mobile workbench built on DeepSeek Harness: projects, artifacts, code translation and usage.

Stars
1
Language
TypeScript
Created
Oct 13, 2026
Updated
Oct 13, 2026
GitHub repo

Introduction

DSH Mobile Workbench · DSH 移动云端工作台

基于 DeepSeek Harness 的独立扩展项目:云端运行 Agent,手机随时访问、管理项目,也可以通过对话提出需求,让 Agent 修改和扩展工作台自身的网页与插件。包含项目与文件来源管理、中文代码翻译和用量视图。

这不是 DeepSeek 官方产品,也不包含模型权重。当前为首个开源实验版(0.1.0-alpha.1)。需要自行提供服务器、HTTPS 域名和模型账户。

English · 安装说明 · 发布检查

操作演示

观看手机端操作视频(2 分 36 秒)

个人部署实录:项目浏览、网站使用、文件入口、对话和用量视图。展示中的个人网站与数据不包含在开源代码中。

为什么做

使用近两个月后,我希望把分散的 AI 项目和文件集中管理,并在不打开个人电脑时,通过手机继续修改云端项目。项目工作台把文件、产生文件的对话和后续修改关联起来;代码翻译便于阅读项目结构和改动。

模型、Agent,以及可以继续修改自身的工作台

我对未来 AI 解决方案的理解是:模型和 Agent 会成为两层基础。模型提供语言、推理、代码、图像等能力,Agent 把模型与工具、上下文、权限和执行流程连接起来。不同的模型有不同的长处,不同的 Agent 也有不同的组织和执行方式;把它们组合起来,才能适配不同的任务场景。

这也是我选择 DeepSeek Harness 的重要原因。它的“一切皆插件”,让我想到:既然 Agent 已经可以帮我修改项目,那在开放相应源码和权限之后,能不能也让它继续修改自己的工作台?

在手机上,我可以直接提出需求:给上传图片和上传文件分别做一个入口、增加一个 PDF 转 Markdown 的功能,或者调整深色/浅色界面和操作流程。Agent 可以修改对应的网页、插件和服务代码,再构建、验证并应用更新;必要时重启相关服务。这里“改自己”修改的是 Agent 工作台的软件功能、工具和界面。

APK 主要承载云端 Web 界面,因此多数网页和插件更新可以直接在云端生效,不需要每次重新安装 APK;原生桥接、系统权限等变化仍需新版本 APK。

所以我希望这个 Personal Agent 能一边积累自己的项目和上下文,一边根据实际需求继续扩展。今天需要处理文档,就补文档能力;明天需要新的模型或工具,就继续接入。模型与 Agent 的组合方式可以变化,而自己的项目和使用环境能够持续保留下来。这是本项目的产品方向;当前已经开放的是这套云端工作台、插件扩展和手机访问实现。

包含什么

  • 移动界面、配对网关和通知接口:packages/mobile-ui。
  • 项目工作台、文件来源关联、按需中文翻译、邮箱附件目录、用量视图和手机操作协议:packages/workbench。
  • 文档读取插件及读取预算限制:packages/document-reader。
  • Android WebView 外壳、文件选择、原生通知及需要用户授权的手机操作:android。

没有聊天记录、个人项目、邮箱目录或附件、生产配置、密钥、模型账户信息。示例目录为空。邮箱集成需要你自行授权自己的邮箱;代码不会向作者邮箱发送内容。

网络安全防御工程

项目部署到公网以后,我开始注意到持续出现的陌生扫描和探测请求。按我的日常观察,有时一天能看到几十个扫描来源;这不是经过统一去重的统计,也不能仅凭请求判断对方是否使用了 AI Agent。把项目长期放在云端,除了方便调用,也要保护项目文件、对话和账户信息。

因此,我在自己的部署中配套做了网络安全防御工程:收紧公网端口和访问入口、修复未授权文件访问、检查凭据与依赖风险,并保存服务器之外的加密备份。在授权范围内,可以让 Agent 协助检查自己的项目、分析异常和修复问题;实际访问拦截由服务器防火墙和认证规则执行,模型判断不能替代这些规则。需要处理的发现应形成可追踪的记录和提醒,修复后还要验证。

开源包与个人部署的范围不同。 本仓库包含配对与设备认证、项目文件访问边界、私密页面不落入 PWA 离线缓存、受授权约束的手机操作等工作台防护。主机防火墙、扫描监测与告警、异地备份和恢复流程属于配套部署工程,目前没有随本仓库打包成一键安装的防御系统。扫描请求不等于成功入侵;本项目不提供自动反击,也不承诺阻止所有攻击。

架构与限制

手机 → HTTPS / 配对网关 → Harness / 插件 → 已注册项目。模型通过 API 调用,服务器不加载大模型权重。项目文件在文件系统,索引保存关联关系;不把所有源码塞进聊天数据库。

Web UI / 插件更新通常不必重装 APK;原生权限、桥接和系统通知能力更新仍需新 APK。服务器可持续运行不等于任务永不停止,任务占用仍须限制。电脑用量入口是上传的快照,不保证所有工具的实时计量。翻译需要模型 Token,首次按需生成并缓存;打开目录本身不发模型请求。

安全能力表述限于认证、授权、隔离和资源保护。本仓库不提供对第三方系统自动反击的能力,也不能保证网站永不被攻击。生产服务器的完整防御工程不是本次导出范围。

开发验证

npm ci --ignore-scripts
npm test
npm run verify:ui
npm run build:ui

依赖构建和从零部署的实际验证结果见 发布检查。安装步骤见 配置说明,从既有官方 web profile 加载本仓库扩展。尚未提供经过完整验收的一键部署。

Android 要求 JDK 17、Android SDK 34 和 Gradle 8.9(当前不附 wrapper):

cd android
gradle assembleDebug -PdshBaseUrl=https://your-domain.example

默认域名为 example.invalid;发布版请自行签名。不同 applicationId 的公开示例不能覆盖安装你的私人 APK。

安全与开源范围

参见 SECURITY、上游与许可、配置说明。部署前必须核对认证入口、仅绑定内网的服务端口、项目注册范围和独立备份。不要把 Agent 以不受约束的 root 权限提供给任意访客。