DeepSeek Harness Hub
← 返回列表

darker2016/WebDSH

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

把 DeepSeek Harnessdsh改造成多用户 Web 服务器:认证前门 + 每用户独立进程与隔离 +…

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/15 · 已提供中文文档

把 DeepSeek Harness(dsh)改造成多用户 Web 服务器:认证前门 + 每用户独立进程与隔离 + 工作空间分享 + Git 仓库分支开发。覆盖层方案,不 fork 官方包。

综合分
28.7
GitHub 分
28.7
用户评分
★ Stars
3
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add darker2016/WebDSH
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/19(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

WebDSH —— 把 DeepSeek Harness 改造成公司内部多用户 Web 服务器

目标:让 dsh(DeepSeek Harness)以 Web 服务器形态运行在公司内网/公网服务器上,
用户用浏览器(含手机)远程访问;同一台服务器服务多个用户,各用户数据隔离;
工作空间可在用户之间共享。改造以覆盖层(overlay)形态进行,不 fork 官方包,
可跟随 @deepseek-ai/dsh 升级。

🤖 面向 AI 代理/协作者的开工入口见 AGENTS.md(文档地图、当前状态、
已核实事实、常用命令、部署目标、工作约定)。

产品愿景

一支团队、一套服务器上的代码、各自的开发分支。
多用户可以共享服务器上同一套代码仓库进行开发:仓库 → 分支 → 对话 三层组织;
共享分支团队协作,个人分支(命名自由、仅本人可见)各自开发、互不干扰;
用户登录后自动匹配其代码平台的凭据,提交与推送按人归因。

功能特性

| # | 特性 | 说明 |
|---|---|---|
| F1 | 服务器端运行 | dsh web 天然是 Web 服务器(HTTP + WebSocket + React 前端),改造后常驻服务器 |
| F2 | 手机远程访问 | 浏览器(含手机)经 HTTPS 远程访问;登录后全功能可用 |
| F3 | 同一服务器多用户 | 每用户独立进程 + 独立 $DSH_HOME,会话/设置/凭据/文件互不可见 |
| F4 | 工作空间分享 | 普通目录工作空间按 ACL 分享(读/写/撤销),见 docs/05 |
| F5 | 代码仓库工作区与分支开发(新增) | 工作区可对应 Git 代码仓库;UI 自动呈现 仓库 → 分支 → 对话 层级;用户自选展示哪些分支;分支下挂各自的对话;共享分支团队协作 + 个人开发分支;用户凭据绑定代码平台账号,见 docs/09 |

文档导航

| 文档 | 内容 |
|---|---|
| docs/01-现状分析.md | 现有架构盘点:dsh web 今天是什么、能力与差距(含代码位置) |
| docs/02-目标架构.md | 目标架构总览:子域路由 + 每用户独立 dsh 进程 + 认证前门 |
| docs/03-认证与安全设计.md | 认证、会话 token、信任模型、特权方法门禁 |
| docs/04-多用户数据面与隔离.md | 每用户 DSH_HOME、进程模型、OS 级隔离选项与取舍 |
| docs/05-工作空间分享设计.md | 分享 ACL、双注册表同步、并发控制 |
| docs/06-覆盖层实现方案.md | 不 fork 的实现:新包清单、patch 插入点、RPC 门禁表 |
| docs/07-分阶段实施计划.md | Phase 0–4 任务分解与验收标准 |
| docs/08-部署与运维.md | Caddy/TLS、systemd、备份、审计、配额、监控、升级 |
| docs/09-代码仓库工作区与分支开发.md | 仓库化工作区:分支模型、凭据绑定、分支 UI、权限与并发 |
| docs/10-实施日志与Phase0验证.md | 实施日志:Phase 0 技术验证结论(含 R1 设计修订)、移动端实测清单 |

决策记录

第一轮(2026-08-15,与用户确认)

| 决策项 | 结论 |
|---|---|
| 部署场景 | 公司/组织内部(多人、统一管理)→ 需要用户账号、审计、配额 |
| 隔离强度 | 每用户独立进程(方案 A),数据面按用户隔离;OS 级隔离作为阶段 2+ 的强化项 |
| 改造形态 | 覆盖层:新插件 + profile patch,不 fork @deepseek-ai/dsh |

第二轮(2026-08-15,新增 F5 仓库工作区)

| 决策项 | 结论 |
|---|---|
| 仓库存储模型 | 服务器端每仓库一个 bare 主库 + 按分支的 git worktree(git worktree add),不同分支可并行开发;worktree 目录即官方 workspace(cwd 绑定),会话自动落在分支下 |
| 分支模型 | 共享分支(团队可见)+ 个人分支(名称由用户设定,gate 记录 owner,仅本人/被授权者可见,可一键提升为共享、不改名);受保护分支(main/develop)只读,变更走 Codeup MR 评审 |
| 凭据绑定 | 用户登录后按代码平台账号绑定凭据(gate 加密保管);添加工作区时选仓库 + 凭据;提交/推送按人归因(worktree 注入 user.name/email + credential.helper) |
| 分支 UI | 新增客户端插件 @webdsh/ui-repos(走官方 client 插件 roster insert)呈现 仓库→分支→对话 层级与分支显隐开关——官方包仍零改动,但"前端零改动"原则对该特性让位于"官方包零改动 + 新增客户端插件" |
| 与分享的关系 | 仓库成员(repo_members)是仓库级 ACL;分支 worktree 目录复用 F4 的 workspace 分享机制,两层叠加 |

第三轮(2026-08-15,F5 细节确认,用户答复)

| 决策项 | 结论 |
|---|---|
| 代码平台 | 阿里云 Codeup;HTTPS + 个人访问令牌优先,SSH key 备选 |
| 受保护分支 | 走 MR 评审:dsh 在受保护分支上只读(只读 worktree + 只读沙箱),合入一律经 Codeup MR(含 admin);拒绝逻辑由 Codeup 分支保护承担 |
| 共享分支并发 | 不做单写者强约束,靠团队约定(pull --rebase 等写入规范) |
| 个人分支命名 | 由用户设定;"个人"是分支属性(gate branches 表记录 owner),不靠 / 前缀推断 |

一句话结论
dsh web 今天已经是一个真正的 Web 服务器(HTTP + WebSocket + React 前端 + 多会话),
缺的三块是:认证(完全没有,--host 0.0.0.0 被硬编码拦截)、多用户数据面
($DSH_HOME 单根,会话/工作空间/设置/凭据全部混在一起)、工作空间分享
(workspace 记录没有 owner/ACL)。三块都能在不 fork 的前提下以覆盖层实现;
在此基础上再叠加 F5 仓库化工作区:仓库 → 分支 → 对话 三层组织,
让团队共享一套服务器代码、各自开分支开发。详见各文档。

目录结构(本仓库)

WebDSH/
├── README.md            # 本文件
└── docs/                # 方案文档集
├── 01-现状分析.md
├── 02-目标架构.md
├── 03-认证与安全设计.md
├── 04-多用户数据面与隔离.md
├── 05-工作空间分享设计.md
├── 06-覆盖层实现方案.md
├── 07-分阶段实施计划.md
├── 08-部署与运维.md
└── 09-代码仓库工作区与分支开发.md

实施阶段开始后,本仓库将新增 gate/(认证前门服务)、plugin/(dsh 覆盖层插件,
含 ui-repos 客户端插件)两个源码目录,目录结构届时更新。

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

💬 加入 DPharness 群聊

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

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