dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
一个为 DeepSeek Harness 最新源码补齐工程能力的外置插件(Bundle),无需修改宿主源码。插件直接融合进宿主原生 Right Sidebar、文件资源标签和底部 Dock:复用宿主已有的文件树、标签页、拆分/悬浮布局,只补充可编辑高亮、Git Review/提交、Worktree 和交互式 PTY。所有项目操作以当前 Session 的 cwd 为边界
一个为 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 编辑和未保存状态提示。 |
交互式终端:终端在对话输入框下方打开,与对话区域同步平滑伸缩,并支持多标签和高度调整。 | |
+ 打开的 Guide。FileTypeIcon;从 Files、聊天文件链接或工具结果打开文本/代码文件时,由插件的原生资源查看器提供 CodeMirror 6 编辑、语法高亮、行号、路径面包屑、独立撤销历史和 Cmd/Ctrl+S;未保存文件在原生标签图标前显示圆点,图片和 PDF 保留宿主原生预览,草稿按原生标签隔离并使用版本令牌保存,避免覆盖其他写入者的更新。cwd 复用已有 Session(没有时创建新 Session)。zsh PTY,打开和关闭时与对话区域同步平滑伸缩;支持输入、粘贴、控制键及 ANSI/256 色/True Color。宿主终端提供者支持时同步实际行列尺寸,输出受字节上限保护。先确认本机已经安装 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
浏览器打开后,进入或创建当前项目的会话即可使用插件。
+,可以打开宿主 Files、原生 Terminal 或插件 Review。先打印 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 -- 或强制切换分支。maxFileBytes 配置),超过 400,000 字符时跳过语法解析以避免大文件卡顿。当前未接入语言服务补全、诊断或代码折叠。Git 与 Worktree
cwd 是不可变元数据。切换工作树会打开目标路径已有 Session 或创建新 Session;未提交更改保留在原工作树,不会自动 stash 或搬运。终端与宿主打开方式
resize 时终端仍可用,但依赖动态行列的全屏 TUI(如 vim、htop)可能无法正确重排。宿主版本
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 呈现,插件只接管可编辑的文本/代码资源。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 后自动更新页面,无需刷新。src/index.ts、src/remote.ts、src/contribution.ts):通过 dev/host-hmr.patch.yml 监视 lib/ 并重载 Host 插件,浏览器保持打开即可。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 …。