DeepSeek Harness Hub
← 返回列表

侧边栏工作台wannanbigpig/dsh-sidebar

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

在原生侧栏内编辑文件、审查 Git 并开终端

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

一个为 DeepSeek Harness 最新源码补齐工程能力的外置插件(Bundle),无需修改宿主源码。插件直接融合进宿主原生 Right Sidebar、文件资源标签和底部 Dock:复用宿主已有的文件树、标签页、拆分/悬浮布局,只补充可编辑高亮、Git Review/提交、Worktree 和交互式 PTY。所有项目操作以当前 Session 的 cwd 为边界

综合分
29.9
GitHub 分
29.9
用户评分
★ Stars
0
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add wannanbigpig/dsh-sidebar
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/dsh-util-workspace-path@deepseek-ai/cordis@deepseek-ai/dsh-api-remotes@deepseek-ai/dsh-api-session-controller@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-ui-conversation@deepseek-ai/dsh-client-ui-layout@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-client-ui-renderer@deepseek-ai/dsh-client-ui-session@deepseek-ai/dsh-client-ui-sidebar-right
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

DSH 侧边栏工作台

一个为 DeepSeek Harness 最新源码补齐工程能力的外置插件(Bundle),无需修改宿主源码。插件直接融合进宿主原生 Right Sidebar、文件资源标签和底部 Dock:复用宿主已有的文件树、标签页、拆分/悬浮布局,只补充可编辑高亮、Git Review/提交、Worktree 和交互式 PTY。所有项目操作以当前 Session 的 cwd 为边界。

npm 包名:@wannanbigpig/dsh-sidebar。

界面预览

以下截图展示插件在示例项目中的实际界面;图中的项目名、文件内容、分支和改动统计仅为演示。

原生工作台入口:Files 与 Terminal 由宿主提供,插件只把 Review 加入宿主 Guide,不额外提供第二套工作台或侧栏。
Git 工具卡:在当前会话列查看改动行数、工作树与分支,并进入审查或提交/推送流程。

代码审查:支持范围选择、逐文件增删统计、行级 diff、上下文折叠和文件树筛选定位。
文件浏览与编辑:从宿主 Files 打开文件,在原生标签中获得路径面包屑、CodeMirror 6 编辑和未保存状态提示。

交互式终端:终端在对话输入框下方打开,与对话区域同步平滑伸缩,并支持多标签和高度调整。

功能

- 原生工作台融合:宿主负责 Right Sidebar、Files、原生 Terminal、资源地址、标签页以及拆分/悬浮布局;插件不再提供第二套侧栏、起始页、通用文件树或工作台开关,只把宿主没有的 Review 加入 + 打开的 Guide。
- 文件编辑:宿主 Files 与插件编辑器统一使用宿主公共 FileTypeIcon;从 Files、聊天文件链接或工具结果打开文本/代码文件时,由插件的原生资源查看器提供 CodeMirror 6 编辑、语法高亮、行号、路径面包屑、独立撤销历史和 Cmd/Ctrl+S;未保存文件在原生标签图标前显示圆点,图片和 PDF 保留宿主原生预览,草稿按原生标签隔离并使用版本令牌保存,避免覆盖其他写入者的更新。
- Git 审查:支持未提交、未暂存、已暂存、指定提交和分支范围;逐文件 diff、增删行统计、可折叠的上下文及可筛选的变更文件树;“已提交”菜单可按提交信息或哈希搜索当前分支相对基准的提交,支持方向键导航与 Escape 返回。
- Git 操作:工具卡显示当前分支与工作区改动;分支菜单支持创建或切换分支,提交弹窗支持提交、提交并推送、推送及模型生成提交信息;分支切换失败会显示原因,提交成功但推送失败后可直接重试推送。
- Worktree:工具卡的“本地”菜单列出主工作树、有效的链接工作树和失效记录;可选择已有工作树、返回主工作树或新建工作树,并按目标 cwd 复用已有 Session(没有时创建新 Session)。
- 终端:输入框下方的 Dock 使用 xterm.js 连接持久 zsh PTY,打开和关闭时与对话区域同步平滑伸缩;支持输入、粘贴、控制键及 ANSI/256 色/True Color。宿主终端提供者支持时同步实际行列尺寸,输出受字节上限保护。
- 宿主打开方式:复用宿主顶部统一的 Open In 应用选择,不重复探测或展示另一套文件管理器、终端和编辑器菜单;插件编辑器仍保留“在宿主预览中打开”的只读查看入口。
- 主题与语言:界面、编辑器和终端跟随宿主明暗主题,提供中英文文案。

安装

前提

先确认本机已经安装 DeepSeek Harness,并且下面的命令能正常输出版本号:

dsh --version

本插件要求 DSH >= 0.1.6-alpha.1。npm 包已经包含编译结果,普通用户不需要克隆本仓库,也不需要执行 npm install 或 npm run build。

第一步:安装插件

把插件安装到 DSH 自带的网页 Profile:

dsh plugin --profile web add @wannanbigpig/dsh-sidebar
web 是 DSH 网页界面使用的 Profile,首次使用时宿主会自动初始化。不要随意改成一个新的 Profile 名称,否则新 Profile 可能只有基础服务,无法打开完整的网页工作台。

如果 dsh web 正在运行,请先停止并重新启动,让宿主加载新安装的插件。

第二步:在项目中启动

进入需要操作的项目目录,然后启动 DSH:

cd /path/to/your/git-project
dsh web

浏览器打开后,进入或创建当前项目的会话即可使用插件。

第三步:开始使用

1. 从宿主 Right Sidebar 的“文件”入口浏览和编辑项目文件。
2. 点击标签栏的 +,可以打开宿主 Files、原生 Terminal 或插件 Review。
3. 会话右上角的 Git 工具可以查看改动、切换分支、管理 Worktree,以及提交或推送代码。
4. Terminal 会显示在对话输入框下方,可拖动调整高度,也可以创建多个终端标签。

安装后没有看到插件

先打印 web Profile 的最终配置:

dsh web --dump-config

输出中包含 # == @wannanbigpig/dsh-sidebar,表示插件已经注册。若插件刚安装或更新,请确认旧的 dsh web 进程已经完全退出,然后重新启动。

更新或卸载

更新到 npm 上的最新版本:

dsh plugin --profile web add @wannanbigpig/dsh-sidebar@latest

卸载插件:

dsh plugin --profile web remove @wannanbigpig/dsh-sidebar

更新或卸载后,同样需要重新启动 dsh web。

使用须知与已知限制

文件与编辑

- 只允许读取和保存已存在的普通文件;不提供删除、重命名、创建文件,也不提供 git reset、git checkout -- 或强制切换分支。
- 未配置语言模式的文件回退为纯文本;文件大小默认上限 8,000,000 字节(可通过 maxFileBytes 配置),超过 400,000 字符时跳过语法解析以避免大文件卡顿。当前未接入语言服务补全、诊断或代码折叠。

Git 与 Worktree

- 审查的“分支”范围以工作树与所选基准(含未提交/未跟踪文件)对比,参数契约以当前核对的最新宿主为准。
- 新建 worktree 以 Git 主工作树为基准,在仓库同级创建持久目录和独立分支;插件不自动删除、prune 或清理它们。
- Session 的 cwd 是不可变元数据。切换工作树会打开目标路径已有 Session 或创建新 Session;未提交更改保留在原工作树,不会自动 stash 或搬运。
- Git 工具卡和分支菜单依赖宿主公开的 Git 状态接口;工作区不可读时会显示错误而不是空白。

终端与宿主打开方式

- PTY 使用宿主公开的持久终端原语;宿主不支持 resize 时终端仍可用,但依赖动态行列的全屏 TUI(如 vim、htop)可能无法正确重排。
- 终端跟随宿主明暗主题;插件无法读取 Terminal.app 或 iTerm 的私有主题配置,prompt 与输出中的 ANSI 颜色原样保留。
- 顶部 Open In 菜单由宿主统一提供并作用于 Session 工作区;插件不再提供直接用外部应用打开当前文件的第二套菜单。

宿主版本

- 当前代码只面向核对基线 0d1f50007f9bca3f52b06e1c3074fa14d5fb0720(0.1.6-alpha.1)的最新宿主源码,不保留旧版宿主兼容分支,也不替换宿主 Right Sidebar、Files 或原生 Terminal 组件。Git 浮层使用 Portal,并按当前会话区域重新计算锚点。
- 宿主 + 的公开契约固定新建 Guide,插件不拦截或重写该按钮;插件只注册 Review 条目,Files 与 Terminal 直接使用宿主内置条目。插件独有的终端 Dock 仍从会话标题栏、编辑器和 Review 中打开。
- 宿主已公开统一的 FileTypeIcon 并在 Files 内原生使用;插件直接复用该组件,不再通过 data-files- 选择器隐藏或覆盖宿主图标。图片和 PDF 由宿主原生 document preview 呈现,插件只接管可编辑的文本/代码资源。
- 插件自带预构建 Typert 描述符;运行时仅使用宿主公开的 Right Sidebar、Slot、Session、Remote、fs、subprocess 与 Client Module API。宿主缺少这些必需服务时插件不会激活。

本地开发

此开发目录假设它与宿主源码相邻:

openSource/
├── deepseek-harness/
└── dsh-sidebar/

构建复用相邻宿主已安装的 TypeScript、tsdown 和公开类型,只在本仓库 lib/ 写入产物,不要对宿主源码执行该构建:

npm install
npm run build
npm test

实时调试时,先启动持续构建器把 src/ 的每次保存编译到 lib/:

npm run dev

首次调试把本地目录加入 web profile(目录安装建立 link: 依赖后无需重复执行):

dsh plugin --profile web add .

再另开一个终端,从需要测试的 Git 项目目录启动 Web:

cd /path/to/your/git-project
DSH_SIDEBAR_ROOT=/path/to/dsh-sidebar \
dsh web --patch /path/to/dsh-sidebar/dev/host-hmr.patch.yml --no-open

- 修改 src/client/*:Client HMR 约 500ms 后自动更新页面,无需刷新。
- 修改 Host 侧代码(src/index.ts、src/remote.ts、src/contribution.ts):通过 dev/host-hmr.patch.yml 监视 lib/ 并重载 Host 插件,浏览器保持打开即可。
- 只调 UI 用 npm run dev:client;只调 Host 用 npm run dev:host。
- 不带 --patch 启动时,Host 修改需要重启 dsh web,客户端修改需要硬刷新浏览器。
- 当 dsh web 不可用时,可用已构建的宿主 CLI 代替:node ../deepseek-harness/apps/cli/lib/bin.js web …。

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

同作者(wannanbigpig)的其他插件

💬 加入 DPharness 群聊

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

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