dsh-sidecar
Resizable browser tabs, independent side conversations and split panes for DeepSeek Harness. 适合需要分屏对比、网页人工交接或多模型协同处理任务的复杂工作流。
Other repositories with this package name
Install
This plugin has no verified bundle, or compatibility checks failed. Read the repository notes first. Read the full README ↗
README
Read the full README ↗DSH Sidecar
简体中文 · English
v0.5.0-beta.1 预发布:新增 DSH 主控的多模型协作、网页人工交接、本机 Ollama 接口及可复制的提示词。下载预发布版 · 稳定版 v0.4.1。
API 协作使用你自己的接口与凭据;DeepSeek、豆包、Qwen、Kimi 网页成员需要在官网操作后粘贴回答。协议与本地交接已验证,真实供应商鉴权、在线推理及生图尚未验收。详见协作说明与免费资源方案。
给 DeepSeek Harness 加上独立侧聊、网页标签和可拖动分屏。 主任务继续执行,你可以在旁边解释报错、引用文件、核对反例,再选择将结论送回主任务。
Native DeepSeek Harness plugin for independent side chats, browser tabs, and resizable split panes.
适配 DSH 0.1.2-rc.1 · Node.js 22+ · MIT · 当前预发布 v0.5.0-beta.1。真实 DSH 界面验收在 Windows 完成;其他 DSH 版本尚未验证。
快速开始 · 提示词 · 功能 · 版本下载 · 验证记录 · 反馈问题

侧栏展开时,主页面同步收窄并居中;收起后恢复原宽度。每个网页和侧聊有自己的标签,分屏后上、下两组可独立切换。此前首页布局效果见 截图,各项功能的测试范围见 验证记录。
这是独立实现的 DSH 原生前后端插件,通过现有认证连接和 Session Controller 工作,复用 DSH 的模型配置。安装到现有 Web profile 后,仍可从原来的桌面快捷方式进入。更新记录记录各版本变化。
快速开始
先准备 Git、Node.js 22+,以及已配置好模型的 DeepSeek Harness 0.1.2-rc.1。在准备长期保留插件的位置执行,并把最后一行的示例路径改为你的工作区:
git clone --branch v0.5.0-beta.1 https://github.com/wangyili-1/dsh-sidecar.git
cd dsh-sidecar
npm ci
npm run build
npm run doctor
npm run install:dsh -- --workspace "C:\path\to\your-project"
保存 DSH 草稿、停止正在执行的任务后,重启 DSH 服务;只关闭浏览器窗口可能不会停止后台服务。重新打开 DSH,选择工作区,点击右上角开关展开侧栏,再从标签栏 + 打开 网页 / 侧聊 / 协作。侧栏左边缘调整宽度,分屏按钮切换上下布局。
插件按绝对路径加载,安装后请保留项目目录的位置。未自动找到 DSH、使用下载包或需要卸载时,见详细安装说明。
功能
- DSH 主控协作(Beta):让主会话拆分任务,调用已配置的文本或生图接口;任务状态、取消和结果集中显示在“协作”标签。先从提示词示例开始。
- 网页与本地资源(Beta):四个官网入口支持复制任务、人工回填与结果归档;本机 Ollama 支持无 Key 协议,需要自行安装模型。它们不替代主会话原有的 API 配置。
- 简洁黑灰界面:复用 DSH 的主题变量,减少重复标题和常驻说明。图标按钮提供悬停提示、键盘焦点及按下反馈;消息内容保留正常字号。
- 浏览器式标签:默认及新建网页直接打开百度首页,通过顶部 + 菜单新建网页、侧聊、协作或恢复标签;关闭侧聊标签不会删除 DSH 保存的会话记录。
- 拖动与上下分屏:把标签拖到标签栏内可排序,拖到内容区下方可组成上下两组;拖动中间分隔条调整比例,也可一键合并回单组。
- 侧栏与主页面联动:复用 DSH 的 0.3 秒缓动,侧栏滑入的同时预留实际布局宽度,不遮挡主输入框。收起保留侧聊草稿;系统设置减少动态效果时关闭过渡。
- 左右调整宽度:拖动侧栏左边缘,主页面同步收窄;宽度会记住,窗口变窄时自动限制。拖拽条支持左右方向键,双击恢复默认。
- 右上角插件入口:仅保留侧栏开关,功能统一从标签栏 + 打开。选好工作区后,尚未发送消息的首页也能使用。
- 独立侧聊:与选中的主会话关联,使用不同 Session ID。主任务和侧聊分别发送、停止、保存;关闭面板后恢复 DSH 原有工具详情。
- 侧聊输入框控制栏:权限、模型及可用推理等级绑定当前侧聊;上下文环和运行统计读取该侧聊的真实状态。点击输入框内的 + 引用工作区文本文件或粘贴文字,发送前可审阅、移除。
- 网页面板:默认把桌面页面缩放到侧栏宽度;可选 100% 横向滚动或响应式排版。拖宽与分屏保持页面实例。通过 URL 和显式粘贴的片段引用网页;不读取跨域 iframe 的内部内容。
- 侧聊整理:用第一条明确提问生成简短标题,不把系统提示或引用资料当名称;空白侧聊显示“新对话”。“继续侧聊”列表右侧的 × 持久移除条目,并归档保留原始聊天历史;正在运行时提示先停止。
- 回传主任务:先查看并编辑结论,再明确发送到主会话队列;不会自动把全部旁聊塞进主任务。
侧聊和主任务共享工作区,隔离的是会话状态、消息路由及取消操作,不是复制出两个文件系统。侧聊默认被要求只分析引用内容;这属于行为约定,模型工具权限仍由 DSH 管理。
标签与上下分屏
侧栏顶部的 + 菜单可以新建网页、新建侧聊、带入主任务上下文新建侧聊,或恢复已有标签和侧聊。每个网页保留自己的地址与页面状态,每个侧聊关联独立的 Session ID,草稿和待发引用分别保存在对应标签中。
| 操作 | 用法 |
|---|---|
| 切换或排序 | 点击顶部标签切换;拖到其他标签前后改变顺序 |
| 上下分屏 | 打开至少两个标签,将一个拖到内容区下方;也可点击分屏按钮,或在 + 菜单选择“移到下方” |
| 调整分屏 | 拖动两组之间的分隔条;分隔条获得焦点后也可按上下方向键 |
| 合并 | 点击“合并上下分屏”,两组标签回到同一栏 |
| 关闭与恢复 | 点击标签上的 ×;通过 + 菜单的“已关闭”重新打开,已有侧聊也可从“继续侧聊”打开 |
| 永久关闭侧聊 | 点击“继续侧聊”列表右侧的 ×;该条目及待发草稿从 Sidecar 移除,刷新和重启后不再出现,原始历史仍由 DSH 保留 |
| 左右调整侧栏 | 拖动侧栏左边缘;左右键每次 16px,按住 Shift 为 48px,双击恢复默认 420px |
同一页面内,切换、拖动和关闭后恢复标签会保留其内容实例;关闭侧栏也不会清空未发送草稿。关闭侧聊标签不等于停止正在运行的模型,需要停止时应在对应侧聊中操作。
网页地址栏可选择“适应宽度 / 100% / 响应式”。适应宽度使用至少 1280px 的桌面视口再缩放,窄侧栏里的文字会相应变小;拖宽侧栏可放大显示。100% 模式允许横向滚动,响应式模式由网站自身决定窄屏排版。网站拒绝嵌入时仍需使用外部浏览器。
标题在本机从首次提问提炼,不额外调用模型;已有数字标题会从可读取的原始用户消息恢复。尚未提问或历史无法读取时显示“新对话”,不会编造话题。
标签布局、网页状态、未发送草稿和待发引用属于当前 DSH 页面、当前主会话的缓存。刷新整个 DSH 页面、重新打开窗口或切换主会话会重置这些界面状态,不能据此恢复未发送内容;已发送的聊天历史仍由 DSH 保存。
侧聊输入框
输入框内的 + 用于引用工作区文件或文字;访问模式按钮修改该侧聊的工具权限,模型按钮选择模型及其支持的推理等级。模型选择遵循 DSH 原生行为:也会成为之后新建会话的默认模型,模型菜单中会明确提示这一点。
上下文环显示当前侧聊的上下文占用,点击可查看窗口和 token 用量。输入框下方显示该侧聊的轮次、步数和运行统计,点击可查看 LLM / 工具耗时、首 token 时间、生成速度及缓存命中;尚未运行或尚未采样时显示对应空状态。
安装到现有 DSH
首次安装按上方快速开始执行。也可以下载 Release 的源码 ZIP,解压后从 npm ci 开始;构建包 .tgz 已含 lib/,解压后运行 npm install --omit=dev,再执行诊断和安装命令。
未自动找到 DSH 时,给诊断和安装命令指定同一个 CLI 路径:
npm run doctor -- --dsh-cli "PATH/TO/@deepseek-ai/dsh/lib/bin.js"
npm run install:dsh -- --dsh-cli "PATH/TO/@deepseek-ai/dsh/lib/bin.js" --workspace "PATH/TO/your-project"
若 DSH 服务已运行,先保存草稿、停止任务并退出该服务,再用原启动方式启动;只关闭浏览器窗口可能不会停止后台服务。然后重新打开原来的 DeepSeek Harness 桌面快捷方式。首页右上角只保留侧栏开关:
| 按钮 | 操作 |
|---|---|
| 调节图标 | 展开或收起侧栏 |
侧栏默认显示百度首页,顶部标签栏的 + 用于添加网页、侧聊或协作,按需要保持单组或分成上下两组。先在 DSH 中选择工作区;当前主会话还没有消息时也能打开面板。如果当前没有主会话,插件会为所选工作区连接一个空会话,不自动调用模型。
主页右上角不再提供方框加号;标签栏的 + 和输入框内的引用 + 各自保留。前端更新可保存草稿后刷新;从 v0.4.1 或更早版本升级到本版,还需在任务停止后重启 DSH 服务,以加载协作后端和工具。
安装器向 DSH 的 Web profile(默认 ~/.dsh/profiles/web/cordis.patch.yml)添加一个插件条目,修改前保存原文件备份。重复安装相同路径不会重复添加,也不会覆盖已有 Sidecar 设置。插件以本项目的绝对路径加载,安装后请保留项目目录的位置;迁移目录时先卸载,再从新目录安装。
此方式不修改桌面快捷方式或 DSH 安装程序。本机的 DeepSeek Harness 快捷方式由第三方 Whale Girl 启动器打开官方 DSH Web 运行时;它并不是 DSH 官方桌面客户端。其他启动器只要使用同一 DSH home 和 web profile,也能加载该条目。
查看安装状态或卸载:
npm run status:dsh
npm run uninstall:dsh
卸载只移除 Sidecar 的插件条目及针对它的覆盖项,保留其他 profile 配置;卸载前同样保存备份。随后重新打开 DSH。安装、状态和卸载命令均支持 --dsh-home "PATH/TO/.dsh",安装另支持 --dsh-cli "PATH/TO/@deepseek-ai/dsh/lib/bin.js"。
单独启动(可选)
也可另起本机 DSH Web 实例用于调试,默认地址为 http://127.0.0.1:3082:
npm start -- --workspace "C:\path\to\your-project" --open
启动器复用已有模型配置。已经安装到 Web profile 时直接使用该插件条目,避免重复加载;尚未安装时使用一次性的插件配置覆盖层。若 profile 中相同插件 ID 指向其他目录,启动器会报告冲突,请先从旧目录卸载。
Windows 完成首次安装和构建后,可以双击 Start-Sidecar.cmd。也可指定工作区:
.\Start-Sidecar.cmd "C:\path\to\your-project"
启动窗口保持打开即可;关闭窗口或 Ctrl+C 会停止本实例。命令参数决定默认工作目录,在 DSH 界面仍需选择对应工作区和主会话。
若未自动找到 DSH,显式指定安装路径:
npm start -- --dsh-cli "PATH/TO/@deepseek-ai/dsh/lib/bin.js" --workspace "PATH/TO/project" --open
DSH_SIDECAR_CLI 也可指定同一路径。--port 4092 可更换端口;端口占用时启动器会报错,不会终止其他进程。保留终端运行,按 Ctrl+C 停止本实例。
Windows 下,如果通过本脚本启动的是桌面安装配置中同一套 Node、DSH、用户目录及地址端口,启动器会同步本次服务的本机登录状态,避免桌面快捷方式继续使用上次服务的过期链接。该状态只保存在本机安装目录;默认 3082 调试实例不会覆盖 3080 桌面实例。
引用与持久化
引用内容会显示来源,可在发送前查看和移除;只在你发送时进入对应对话。主会话上下文取已完成的消息摘录,不把仍在执行的工具调用复制成新会话的可执行历史。
侧聊关联数据写入 .local/state/,实际聊天历史由 DSH 保存。.local/、运行日志和依赖目录均被 Git 忽略。命令输出只在本次服务进程内保留;浏览器是否允许嵌入由目标网站决定,拒绝嵌入时应在外部浏览器打开。
文件读取限制在选中主会话的工作区,检查真实路径以阻止目录穿越与链接逃逸,并限制文件及输出大小。命令台只在你明确运行命令时执行,使用本机当前用户权限,不注册为模型工具。DSH 会话内的模型工具仍遵循 DSH 自身的权限策略。
开发与验证
npm test
npm run build
npm pack
src/host.mjs 注册已认证 RPC;src/service.mjs 管理会话、文件和命令;src/client.jsx 接入原生槽位;src/WorkspacePanel.jsx 与 src/workspace-tabs.mjs 管理标签、拖放和分屏;src/Panel.jsx 提供各类标签的内容界面。构建复用 DSH 提供的 React,不打包第二份 React。
src/ComposerBar.jsx 提供侧聊输入框控制栏。文件、命令面板及其引用接口仍保留在底层,新建标签菜单不提供这两类入口。
真实执行结果、已测试范围与限制记录在 VALIDATION.md。独立测试会话与本地日志不作为源码发布。
已在真实 DSH 中验证主任务与侧聊同时运行、单独停止侧聊及主任务继续完成,7 项检查全部通过;保留脱敏的 执行记录。属性测试报告中的大整数直接从 JSON 原文提取,避免把 9007199254740993 显示成另一个数。
许可
MIT。这是独立实现的 DSH 插件,不包含 Codex 的界面代码或资源。DSH 的接口与版本边界见 固定版本的官方源码。