dshcloud
DEEPSEEK HARNESS · SELF-HOSTED开源 · MIT

dshcloud

自己的云。
每个人的工作空间。

把 DeepSeek Harness 带给团队。独立实例、持久化工作区与统一访问控制,运行在你自己的基础设施上。

早期开发版本,适合评估与开发。

从一个实例,到一个平台
独立容器持久化工作区所有者授权资源配额
01 / CAPABILITIES

让 agent 专注工作, 让平台处理边界。

dsh 负责执行,dshcloud 负责把它组织成一个可管理的多用户平台。

01

一个实例,一份独立空间

每个实例拥有独立容器、bridge 网络和数据文件系统。用户可在实例数配额内创建多个实例。

Container / Network / Storage
02

升级,不必从头开始

工作区、配置和用户软件包保存在 /data。容器重建不重置工作区,镜像切换前创建数据快照。

Persistent by design
03

资源有界,使用有序

CPU、内存、进程数和数据盘容量均可限制。管理员管理资源配额、实例版本与账号状态。

CPU / Memory / PIDs / Disk
04

登录只是第一步

实例子域经平台认证后,还要验证访问者是否为所有者。页面、API 与 WebSocket 握手走同一入口。

Authentication + Ownership
02 / TRUST BOUNDARIES

可执行代码。 不可忽略边界。

Agent 会运行 shell、安装依赖、写入文件。实例容器因此被视为不可信代码执行环境,而不是普通的应用进程。

  1. 01浏览器
  2. 02平台认证
  3. 03所有者校验
  4. 04实例入口

入口先行

实例不发布宿主端口;平台 cookie 在可信入口完成认证后被过滤,不转发给实例。

运维与内容分开

管理员可查看状态和容器日志,但平台不提供用户 /data 的浏览接口。日志仍可能包含敏感内容。

明确隔离的限度

容器共享宿主内核,不等于虚拟机隔离。拥有宿主或 Docker 权限的运营者可访问底层存储。

为真实边界负责,而不是承诺绝对安全。

03 / GET STARTED

从你的基础设施开始。

以下是本地开发管理台的准备流程,不是一键生产安装。

准备环境
  • Node.js ≥ 22
  • pnpm 10.10.0
  • Docker Desktop(含 Compose v2)
  • 端口 80 / 443 / 3000 / 5173 / 55432 空闲
01

安装并启动

在仓库根目录运行。它会预检依赖 / 端口 / Docker,生成控制面配置,起 Postgres 和入口,跑迁移、建管理员,再启动控制面和管理台。

pnpm install
pnpm dev
02

打开控制台

入口用的是默认自签证书,浏览器会提示不安全,点「继续访问」,然后拿下面这组凭据登录。

https://console.lvh.me
admin@lvh.me
dsh-cloud-dev
03

停下来

Ctrl-C 只停控制面和管理台,入口和 Postgres 留着,下次秒起。要把它们一起停:

pnpm dev:down
打开实例还需要什么?

实例镜像、可用的宿主存储助手,以及 DNS、TLS 和 Traefik 入口。仅启动管理台不能直接打开实例。域名和 cookie 作用域必须与实例子域匹配。

./docker/instance-image/build.sh

当前不是生产可用版本。部署前须验证目标宿主隔离、备份与恢复、DNS/TLS 和运行环境。

FAQ

几个值得先问的问题。

它和 DeepSeek Harness 是什么关系?

DeepSeek Harness 是上游 agent harness。dshcloud 在其外围提供多租户账号、实例编排、资源配额和访问控制,不是 DeepSeek 官方云服务。

平台会提供共享模型密钥吗?

平台不向实例注入共享模型密钥。模型端点和凭据由实例内的 dsh 配置,不应把平台或数据库凭据放入实例。

删除后,同名重建会恢复数据吗?

不会。保留删除会保留数据及所有权记录;同名重建使用独立数据标识。旧数据恢复需要运营人员核验归属。

升级快照可以替代备份吗?

不能。每个实例只保留一份升级前快照,回滚会丢弃快照之后的数据变化。独立备份需要另行规划。

现在包含计费和多节点吗?

不包含。当前重点是单机 Docker 上的实例生命周期、访问控制和持久化。计费与多节点运行时不是现有功能。

把工作空间,留在自己的云上。

GitHub 源码