在 DeepSeek Harness Web GUI 中原生集成 Git Worktree、文件差异对比、GitHub…
33.6/100
综合分
5
GitHub 星标
25
npm 周下载
—/5
用户评分
数据截至 2026/10/25 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/ds-hu/dsh-better-workspaces.git状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
生态插件
可安装,未声明 dsh 能力
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 7 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包@ds-hu/dsh-better-workspaces @ 0.3.0
✓Node 引擎要求 >=20.19.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/28 20:43:41
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件
查看扫描证据(共 112 处,展示前 50 条)
- 读取本地文件lib/api.js:242
const [file, anchoredRoot] = await Promise.all([realpath(anchoredLexical), realpath(resolutionRoot)]); - 读取本地文件lib/api.js:256
const rebound = await realpath(lexical); - 读取本地文件lib/api.js:258
const [openedStat, reboundStat] = await Promise.all([handle.stat(), stat(rebound)]); - 读取本地文件lib/api.js:296
const rebound = await realpath(lexicalParent); - 读取本地文件lib/api.js:298
const [canonicalInfo, reboundInfo] = await Promise.all([stat(canonicalParent), stat(rebound)]); - 读取本地文件lib/api.js:347
if ((await realpath(anchor)) !== canonicalParent) throw new ApiError(409, 'file path changed during save'); - 删除本地文件lib/api.js:392
await rm(path, { force: true }); - 执行外部命令固定命令lib/api.js:405
const child = spawn( - 写入本地文件lib/api.js:1721
await rename(tempPath, file); - 读取本地文件lib/cleanup.js:81
canonicalCwd = await realpath(cwd); - 读取本地文件lib/cleanup.js:102
const [info, canonical] = await Promise.all([lstat(path), realpath(path)]); - 读取本地文件lib/cleanup.js:102
const [info, canonical] = await Promise.all([lstat(path), realpath(path)]); - 读取本地文件lib/cleanup.js:119
hashes = await readdir(root); - 读取本地文件lib/cleanup.js:131
entries = await readdir(group.root); - 读取本地文件lib/cleanup.js:178
const scoped = await realpath(opts.cwd).catch(() => null); - 读取本地文件lib/worktree.js:122
const [info, canonical] = await Promise.all([lstat(path), realpath(path)]); - 读取本地文件lib/worktree.js:122
const [info, canonical] = await Promise.all([lstat(path), realpath(path)]); - 读取本地文件lib/worktree.js:141
const canonicalMain = await realpath(mainRoot); - 写入本地文件lib/worktree.js:153
const createdGlobal = await mkdir(globalRoot, { recursive: true }); - 读取本地文件lib/worktree.js:166
canonical = await realpath(globalRoot); - 写入本地文件lib/worktree.js:180
await mkdir(root); - 写入本地文件lib/worktree.js:210
else await rename(temp, file); - 删除本地文件lib/worktree.js:217
if (exclusive || !published) await rm(temp, { force: true }).catch(() => {}); - 删除本地文件lib/worktree.js:223
await rm(file, { force: true }); - 读取本地文件lib/worktree.js:228
const identity = await stat(mainRoot); - 读取本地文件lib/worktree.js:233
try { await lstat(file); exists = true; } catch (error) { if (error?.code !== 'ENOENT') throw error; } - 删除本地文件lib/worktree.js:880
await rm(file, { force: true }); - 写入本地文件lib/worktree.js:1187
const createdMetadataDir = await mkdir(metadataDir, { recursive: true }); - 写入本地文件lib/worktree.js:1201
await rename(tmp, file); - 删除本地文件lib/worktree.js:1205
await rm(tmp, { force: true }).catch(() => {}); - 读取本地文件lib/discovery.js:69
const canonical = await realpath(path); - 读取本地文件lib/discovery.js:70
const info = await stat(canonical); - 读取本地文件lib/authorize.js:45
direct = samePath(canonical, path) && !(await lstat(path)).isSymbolicLink(); - 读取本地文件lib/authorize.js:70
stat(cwd), - 读取本地文件lib/authorize.js:71
sourceMainRoot ? stat(sourceMainRoot) : Promise.resolve(null), - 读取本地文件lib/authorize.js:72
source.isGit && source.gitDir ? stat(source.gitDir) : Promise.resolve(null), - 读取本地文件lib/authorize.js:73
source.isGit && source.gitCommonDir ? stat(source.gitCommonDir) : Promise.resolve(null), - 读取本地文件lib/authorize.js:108
stat(cwd), stat(managed.mainRepoRoot), stat(managed.gitDir), stat(managed.gitCommonDir), - 读取本地文件lib/stable.js:105
const info = await stat(path); - 读取本地文件lib/stable.js:120
await stat(path); - 执行外部命令来自配置/变量lib/git.js:149
execFile( - 读取本地文件lib/git.js:218
const info = await stat(cwd); - 执行外部命令来自配置/变量lib/git.js:233
execFile( - 读取本地文件lib/git.js:290
probe = (await stat(path)).isDirectory() ? path : dirname(path); - 读取本地文件lib/git.js:718
const s = await stat(file); - 读取本地文件lib/git.js:739
const stream = createReadStream(file, { highWaterMark: 64 * 1024 }); - 读取本地文件lib/git.js:835
return await realpath(p); - 执行外部命令固定命令lib/forge.js:25
execFile( - 读取本地文件lib/actions.js:417
const identity = await stat(ownerPath); - 执行外部命令来自配置/变量lib/git-child.js:47
child = spawn(executable, args, {
扫描于 2026/11/1(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
界面预览
6 张 · 点击查看大图给 DeepSeek Harness(dsh)Web GUI 加 Git 工作区增强:worktree 暂存、侧边栏 Git 标记、文件与 diff 会话视图、paseo 风格 PR 操作
README
由 DeepSeek 最新模型翻译生成dsh-better-workspaces
English · 简体中文 · 日本語 · Français · 한국어
在 DeepSeek Harness Web GUI 中原生集成 Git Worktree、文件差异对比、GitHub PR 与 Issue 联动。每个任务独享独立分支与隔离目录,从首条提示词到提交推送,全流程无需离开当前页面或切换终端。
插件目录中的名称: 工作区增强 · Better Workspaces。
功能特性
1. 输入框就地选择工作模式
输入框上方提供 Local 与 New worktree 快速切换。日常小修改直接在 Local 当前目录进行;独立功能或多任务并行时切换为 New worktree,自动创建专属目录与分支,彻底避免不同会话相互干扰。
输入框上方的 Local 与 New worktree 切换
2. 快速创建隔离工作区
输入分支名或点骰子随机生成,基线支持本地分支、远端分支或已有的 Pull Request。点击 Create 即可自动就绪独立的 worktree 工作区并开启关联会话。
包含分支名、基线与创建按钮的 worktree 表单
3. 会话列表直观掌握 Git 状态
侧边栏会话标题下方实时呈现当前分支与改动行数(+11 −3)。
展开完整文档(README 剩余 1 节)
dsh-better-workspaces English · 简体中文 · 日本語 · Français · 한국어 在 DeepSeek Harness Web GUI 中原生集成 Git Worktree、文件差异对比、GitHub PR 与 Issue 联动。每个任务独享独立分支与隔离目录,从首条提示词到提交推送,全流程无需离开当前页面或切换终端。 插件目录中的名称: 工作区增强 · Better Workspaces。 功能特性 1. 输入框就地选择工作模式 输入框上方提供 Local 与 New worktree 快速切换。日常小修改直接在 Local 当前目录进行;独立功能或多任务并行时切换为 New worktree,自动创建专属目录与分支,彻底避免不同会话相互干扰。 输入框上方的 Local 与 New worktree 切换 2. 快速创建隔离工作区 输入分支名或点骰子随机生成,基线支持本地分支、远端分支或已有的 Pull Request。点击 Create 即可自动就绪独立的 worktree 工作区并开启关联会话。 包含分支名、基线与创建按钮的 worktree 表单 3. 会话列表直观掌握 Git 状态 侧边栏会话标题下方实时呈现当前分支与改动行数(+11 −3)。已关联的 PR 和 CI 检查状态同步展示在同一行,无需在终端频繁输入 git status。 会话行显示分支与改动量 4. 侧边栏全功能差异评审(Diff) 点击右上角 ± 胶囊按钮展开差异面板。支持在未提交修改、当前会话改动、任务全量改动与对比基线之间无缝切换;可逐行审阅 hunk 差异、就地编辑源码,并随时查看提交历史。 差异页包含范围切换、文件列表、逐行差异和操作按钮 5. 页面内直达提交与分支操作 在差异面板中直接完成 Commit、Pull、Push、创建 PR、合并、从基线同步更新或丢弃更改。对于暂不可用的操作,面板会明确说明缺少的前置条件,避免误操作。 Commit 按钮与包含 Pull、Push、PR、合并、更新、丢弃的 More 菜单 6. 一键将 GitHub PR / Issue 引入提示词 点击输入框旁的 GitHub 按钮,直接浏览并筛选当前仓库的开放 PR 和 Issue,点选后即可将其作为结构化引用加入输入框。 列出开放 Pull Request 和 Issue 的 GitHub 选择器 7. 紧凑的引用标签与完整上下文展开 输入框内仅展示轻巧的引用标签,不挤占编辑视线;点击发送时,标签自动展开为完整的标题、正文、分支信息及 URL,确保大模型获得精确且完整的上下文。 输入框中只显示一个紧凑的 Issue 引用标签和发送按钮 快速上手 1. 新建会话: 在 DeepSeek Harness 中打开任一 Git 工作区并开启会话。 2. 选择模式: 在输入框上方根据任务需要选择 Local 或 New worktree。 3. 开发与评审: 通过 GitHub 按钮引用 Issue,通过侧边栏徽章跟踪进度,点击 ± 细致评审代码改动。 4. 一键交付: 在差异面板内直接完成提交、推送或创建 Pull Request。 安装 通过 npm 一行命令安装: dsh plugin --profile web add @ds-hu/dsh-better-workspaces 安装后重启一次 dsh --profile web 即可生效。 也可以直接在 DSH Web 界面中安装: 1. 打开侧栏的 插件 页面。 2. 点击 添加插件。 3. 输入 @ds-hu/dsh-better-workspaces,安装源选择 npm 官方源。 4. 点击 安装;安装完成后点击 立即启用。如界面提示需要重启,请重启一次 dsh --profile web。 环境要求 - DeepSeek Harness: ≥ 0.2.0 - Node.js: ≥ 20.19 - 依赖工具: git、pnpm(均需在 PATH 中可用) - GitHub CLI(可选): 若配置了已登录的 gh,可使用 PR 与 Issue 快速检索和引用功能;未安装时,Worktree、侧边栏徽章和差异评审等全部核心功能均可正常使用。 说明 - 兼容 Linux、macOS 13+ 及 Windows 10+。 - 所有流程均在当前浏览器标签页内完成,无需额外开启客户端或切换应用。 文档 - docs/TECHNICAL.md — 架构解析、安全边界、升级说明与手动维护操作。 - docs/adr/ — 详细架构决策记录(ADR)。 许可证 MIT。第三方组件声明见 NOTICE 与 LICENSES/。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
ds-hu/dsh-better-workspaces
在 DeepSeek Harness Web GUI 中原生集成 Git Worktree、文件差异对比、GitHub…
相关插件 · 浏览器
智能体插件框架deepseek-ai/deepseek-harness
DeepSeek Harnessdsh是由 DeepSeek AI 开发的开源 agent harness智能体框架。
★ 266,913已汉化DSH
71.8
多设备 Agent 看板YaoApp/yao
✨ 所有 Agent 和工作区集中管理,覆盖你的每一台设备。任务看板追踪进度,桌面端、移动端、浏览器、API…
★ 8,147已汉化DSH
71.2
可扩展侧边栏工作台omdsh-dev/DSH-better-sidebar
DSH 的双工作台:原生右侧栏 + 自绘底部面板,并把 ctx.betterSidebar 服务开放给所有插件
★ 4,761已汉化DSH
71.1
浏览器自动化桥Tencent/BrowserSkill
你的 Agent。你的浏览器。连接,就能协作。
★ 9,848已汉化DSH
71
AI 小说创作工作台EthanYoQ/AI-Novel-Writer
AI 小说作家 / AI Novel Writer
★ 1,591已汉化DSH
70.7
智能体浏览器引擎platonai/Browser4
DeepSeek Harness 集成
★ 1,171已汉化DSH
70.4