@yfwu2020/dsh-full-view
完整视图中保留原会话为可拖动、缩放的聊天小窗,退出时恢复分栏 用于优化多任务分屏体验。适合需要一边全屏阅读参考资料、一边继续与Agent沟通的用户。
Install
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:yfwu2020/dsh-full-viewREADME
Read the full README ↗完整视图 · 悬浮聊天
把空间留给文件和网页,同时继续和 Agent 对话。
这是 DeepSeek Harness 的界面插件。点击右侧文件或浏览器面板的「全屏」,工作内容展开到主工作区,当前聊天变成右下角的紧凑输入条。点击输入条外缘,即可展开聊天小窗。你可以一边看预览、一边继续发消息;退出全屏后,聊天回到原来的分栏位置。

本文配图均为 DeepSeek Harness 实际界面截图。0.1.5 交互一节的局部截图来自当前 macOS Desktop 实测;其余分栏与完整视图图片来自 0.1.1,使用公开示例网页,并收起左侧导航。0.1.4 默认显示紧凑输入条,旧图中的标题栏收起状态已被输入条替代。
它能做什么
- 展开工作内容:让右侧文件、编辑器或网页预览获得更大的显示空间。
- 继续原来的对话:小窗使用当前会话,保留消息、输入草稿和宿主的聊天操作。
- 移动与调整大小:拖动输入条外缘或展开后的标题栏移动,展开后拖动右下角调整尺寸。
- 紧凑条外缘用抓手光标表示可拖动,拖动时变为握紧的抓手;操作按钮保持点击手形,左右缩放边缘使用尺寸调整光标。
- 临时收起聊天:收成紧凑输入条,仍可输入和发送;点击外缘展开聊天。
- 一键回到分栏:聊天、文件和网页继续使用原来的内容实例。
这个插件只改变完整视图中的呈现方式。左侧导航栏的展开与收起仍由 Harness 管理。
0.1.5 交互
以下交互从 0.1.5 起提供。Esc 与解读小窗的配合需要同时升级 @yfwu2020/dsh-selection-explain 到 0.9.1。文中的旧版截图保留用于说明位置关系,局部图片均为真实 Harness 界面。
- 完整视图中隐藏
dsh-selection-explain的常驻胶囊和悬浮球,避免与鲸鱼球重叠;划词解读 / 引用按钮及解读小窗仍可使用,退出后胶囊恢复。 - 打开解读小窗、点击正文或输入追问,聊天小窗保持展开;关闭解读也不会联动收起聊天。官方共享浮层仍在工作面板和聊天小窗上方,空白区域可操作网页。
- 完整小窗标题右侧的图钉可固定展开。图钉高亮时,点击空白、侧栏或网页不会收起聊天,再点一次解除固定。「−」、外缘、Esc 和返回分栏仍可手动操作;退出完整视图或切换会话后清除固定。
- macOS 下完整视图的首列标签栏随左侧边栏切换留白:侧栏展开时去掉多余空白,收起时避开红黄绿窗口按钮;系统原生全屏和普通分栏遵循 DSH 原有间距。
- 输入框获得焦点时直接展开完整聊天小窗,包含消息、标题和操作栏;没有只展开标题栏的中间模式。点击工作内容或在聊天里按 Esc 收回简洁输入条,鼠标悬停不会展开。
- 点击紧凑输入条上边缘中间的小横条,可主动收成鲸鱼球;不占输入区宽度,没有悬停文字。展开小窗后横条隐藏,继续使用标题栏「−」。等待回应或输入法组词时暂停这个入口。
- 紧凑输入条默认闲置 **90 秒(1 分 30 秒)**后自动收成鲸鱼尾巴小球;在输入条上移动鼠标、点击、输入或滚动会重新计时。菜单打开、拖动、中文输入法组合和待办确认期间暂停回收;展开的完整小窗不自动隐藏。
- 标题栏除操作按钮外都可直接拖动,移除单独的拖拽图标;标题没有悬停背景或拖动阴影,单击不切换形态。点击外缘查看完整聊天;未固定时点击工作内容,或在聊天里按 Esc,可收回输入条。原生菜单打开和中文输入法组合过程中不会误收起。
- 与解读小窗同时打开时,Esc 优先退出最后点击或操作的展开小窗。点标题、消息文字或窗内空白都能激活该小窗,不要求点中输入框;聊天收回紧凑条,解读按设置下拉 / 设置 / 录音 / 面板逐层退出。点击两窗外会清除活动归属,此时先退解读,再按一次收起聊天。每次只退一层,无需重新点击;原生菜单和输入法优先。需要完整视图 0.1.5 与解读插件 0.9.1 配合。
- 点击左上角「−」隐藏整个小窗,只保留无文字的鲸鱼尾巴小球;点击小球直接恢复完整小窗、原草稿和输入焦点,小球也可拖动。
- 输入条统一圆角,模型入口使用脑形图标;点击仍打开 Harness 原有的模型与推理等级菜单。
- 输入框底部的轮数、步数、速度、token、缓存和上下文统计,在完整视图中始终隐藏;回到普通分栏后恢复宿主显示。
- 添加的附件保持在输入框上方,紧凑条、完整小窗和窄窗口都遵循原有排列;删除附件后恢复紧凑高度。
- 小窗内的聊天和长草稿滚动条隐藏,保留滚动能力;取消滚动条预留宽度,紧凑条与完整小窗之间切换时输入框不再横向挪动。
- 完整小窗和紧凑条收成鲸鱼球时使用「连续缩入」:内容先淡出,外框向右下角缩成球,鱼尾在末段出现;点击球反向恢复。原文字不被压缩或重新换行,中途也可恢复。系统启用“减少动态效果”时直接切换。
- 紧凑条上下抓握区各 12px,包含边缘外侧,按住可移动位置;左右端部各有 8px 宽、覆盖整条高度的缩放区,鼠标变成横向双箭头后拖动即可调整宽度。增加部分位于条外,保留输入和按钮操作。悬停在拖动区时紧凑条阴影平滑加深,移开后恢复。展开后可拖动四边和四角缩放。靠近工作区边缘松手会吸附;拖动时按 Esc 取消。角落保持没有角标,双击仍可恢复默认尺寸。
- 运行时在输入框的占位文字位置显示“已处理 23 秒”等真实回合耗时,与按钮同一行,不增加输入条高度。输入草稿时优先显示草稿;不再弹出“有新内容 · 查看”。如果宿主暂未提供开始时间,显示“处理中…”。
- 隐藏后的鲸鱼尾巴使用 Harness 思考时自带的图标和动画;空闲、完成或等待确认时使用 DSH 原生 SVG 静止图,避免高分屏放大动画首帧导致模糊。鱼尾右上角加上与工作区标题一致的状态点:运行时只播放鱼尾动画,不显示小点,完成且未查看时为成功色(通常绿色),点开会话后消失,需要回答、审批或确认计划为提醒色(通常橙色),空闲为宿主空闲色。已收成鲸鱼球时,待办保持球形提醒;点击球展开原待办。紧凑条出现待办仍自动展开,处理后回到之前的形态。
- 窄窗口改用两行输入排列,保留附件、权限、模型和发送按钮。支持键盘移动 / 缩放和系统减少动态效果设置。
开始时只显示输入条,闲置后变成鲸鱼球:圆角边缘和脑形模型入口如下。图片直接裁自真实 Harness 窗口,没有重新绘制界面。

90 秒(1 分 30 秒)没有操作输入条,自动回收:只留下原生鲸鱼尾巴,点击它直接恢复完整聊天小窗。下图是此前在 Harness 中截取的回收后外观;当前默认等待时间已延长为 90 秒。

看小点就知道会话状态:小点位于鲸鱼球内、鱼尾右上角,颜色随 Harness 主题同步。运行时播放宿主鱼尾动画、不显示小点,完成或等待你回应时停止;等待回应优先于运行和完成。完成小点只作未读提醒:点开会话后清除,再收成鲸鱼球不会重复出现;新回合完成会再次提醒。聊天展开时完成视为已查看。下面的历史实机截图展示完成点的外观。

| 会话状态 | 状态点 | 点击鲸鱼球 |
|---|---|---|
| 正在运行 | 不显示小点,鱼尾动画播放 | 恢复完整聊天 |
| 完成且未查看 | 与标题完成标识同色,鱼尾静止 | 查看回复并清除完成点 |
| 已查看的完成结果 | 完成点不显示,鱼尾静止 | 继续原来的对话 |
| 等待回答、审批或计划确认 | 与标题提醒标识同色,鱼尾静止 | 展开原问题或确认控件 |
| 空闲 | 与标题空闲标识同色,鱼尾静止 | 恢复输入 |
连续缩入鲸鱼球:点击「−」时,小窗外框连续缩到同一右下角的鲸鱼球,鱼尾随后出现;不再先塌成输入条。紧凑条点击上边缘横条主动收起、闲置自动回收也使用同一套动画。下图是本次真实 Harness 缩入完成后的局部截图,静态图片只展示结果状态。

聚焦时直接展开完整小窗:消息区和顶部操作栏同时出现。左侧「−」隐藏小窗;按住标题栏的非按钮区域拖动位置,外缘收回输入条;右侧图钉固定展开,分栏图标退出完整视图。下图是此前截取的顶部局部实机截图,其中的点状拖拽图标已在 0.1.5 移除。

展开后输入框也不显示底部数字:下图裁自同一个完整小窗的底部,保留原输入控件,隐藏轮数、步数、速度和用量统计。

切换时输入框保持对齐:聊天和长草稿的滚动条不显示,仍可以用鼠标或触控板滚动。下面两张图裁自同一位置的真实 Harness 窗口,分别为紧凑条和完整小窗底部;输入框和按钮的横向位置一致。


处理状态与输入同一行:运行且输入为空时,原占位文字的位置显示“已处理…”和当前回合耗时。开始输入便显示草稿,清空草稿后继续显示耗时;任务完成或等待确认时恢复原占位文字。最终占位布局已通过自动检查,暂未取得这次布局调整后的运行截图,以上输入条截图来自真实空闲状态。
隐藏后保留原生鲸鱼尾巴:小球没有文字,点击恢复聊天;运行时播放 Harness 思考时的原生动画,空闲时静止。下图裁自真实 Harness 的空闲界面;静态图片展示图形,运行状态的动画在实际界面中播放。

已在真实 macOS Harness 窗口中复测主要交互,并修复其他插件的隐藏设置框阻止 Esc / 外部点击收起的问题。实测范围见 验证记录,详细操作与 DSH 适配见 交互设计说明。0.1.5 的 Esc 活动窗口规则另经独立预览验证,实机验收由用户完成。
安装
通过 Harness 插件管理页安装
-
打开 Harness 左侧的 插件 页面,点击 添加插件。
-
填写 npm 包名,完成安装:
@yfwu2020/dsh-full-view需要固定版本时填写
@yfwu2020/dsh-full-view@0.1.6。也可以使用 GitHub 上的 0.1.6 安装包地址:https://github.com/yfwu2020/dsh-full-view/releases/download/v0.1.6/yfwu2020-dsh-full-view-0.1.6.tgz -
在已安装列表中找到
@yfwu2020/dsh-full-view,打开开关。 -
回到会话,打开一个右侧文件或浏览器面板,点击面板上的 全屏。

图中的插件开关处于关闭状态。安装后请将这一行的开关打开,再进入右侧面板的「全屏」。
也可以在「添加插件」中填写指定版本的源码地址:
github:yfwu2020/dsh-full-view#v0.1.6
仓库和安装包都带有构建好的插件文件,使用者不需要自行编译。如果 GitHub 直链无法访问,可以先从 Releases 下载 .tgz,解压后在「添加插件」中填写包含插件 package.json 的目录绝对路径。
兼容范围
已在 macOS Desktop 上验证,内置的 dsh-client-ui-layout 和 dsh-client-ui-sidebar-right 版本为 0.2.0-rc.2。需要宿主提供新版右面板及完整视图布局。
旧版 Harness,以及旧源码中使用 details 布局的界面,暂未支持。其他系统和其他版本尚未完成完整验证。
怎么用
1. 先打开右侧面板
正常状态下,聊天和文件或网页预览并排显示。先在 Harness 中打开需要查看的文件或网页,再点击右面板的 全屏。

2. 在完整视图里继续聊天
进入完整视图后,预览占据主工作区,右下角默认只显示约 48px 高的紧凑输入条。附件、权限、模型和发送按钮继续使用 Harness 原有控件。多行草稿、附件或必要提示可让输入条自动增高。点击外缘展开后,显示聊天内容和标题栏。左侧导航若已展开,会继续保留。输入框中原有的草稿继续保留,可以接着编辑和发送。

截图来自 0.1.1,用于说明预览与聊天的位置关系。0.1.4 已改为单行胶囊输入框,右下角无角标。
| 小窗上的位置 | 操作 | 结果 |
|---|---|---|
| 紧凑输入条上边缘中间的小横条(0.1.5) | 单击或键盘 Enter / 空格 | 连续缩入鲸鱼球;点击球恢复完整小窗 |
| 输入条或小窗外缘 | 单击 | 展开聊天或收起为输入条 |
| 输入条或小窗外缘 | 按住并拖动 | 移动位置,拖动不会触发切换 |
| 展开后的顶部标题栏 | 按住并拖动 | 移动聊天小窗;0.1.5 中单击不切换形态 |
| 紧凑输入条(0.1.5) | 闲置 90 秒(1 分 30 秒) | 自动收成鲸鱼球;点击小球恢复完整小窗 |
| 右下角 | 按住并拖动 | 调整小窗大小 |
| 右下角 | 双击 | 恢复默认尺寸,保留当前位置 |
| 标题栏减号 | 点击 | 0.1.5:隐藏小窗,保留恢复入口;0.1.4:收起为输入条 |
| 标题栏分栏图标 | 点击 | 退出完整视图,回到分栏 |
| 顶部标题栏 | 双击 | 恢复默认尺寸和右下角位置 |
展开后的聊天小窗默认宽 400px、高 540px,会根据可见工作区限制尺寸。默认会记住你调整后的位置和大小。
右下角不显示角标,将鼠标移到那里可拖动缩放;双击则恢复默认尺寸。若已自定义初始尺寸,会恢复为该配置。空间不足时会自动限制尺寸,并调整位置以保持小窗可见。
3. 需要更多空间时,收起聊天
单击小窗最外侧的边缘,即可收起为紧凑输入条,草稿和后台回复保留。0.1.5 中点击或键盘聚焦输入框会直接展开完整小窗,点击外缘也可以展开。输入框底部的统计数字在完整视图中始终隐藏。已发布的 0.1.4 则仍保持点击输入区不切换,展开后显示下方统计。
已发布的 0.1.4 也可用标题栏减号收成输入条。0.1.5 中「−」改为隐藏整个小窗,紧凑输入条可以点击上边缘中间的小横条主动收成鲸鱼球,闲置 90 秒(1 分 30 秒)也会自动回收。点击小球即可恢复完整小窗;标题用于拖动位置,外缘负责展开、收起。
旧版收起状态如下。0.1.4 已改为可继续输入的紧凑输入条。

4. 回到原来的分栏
点击小窗的 分栏图标,或者右面板原有的 退出全屏。聊天回到原位置,已有草稿、文件和网页内容继续保留。插件切换布局时不会主动重新加载网页。
使用键盘时,将焦点移到外缘切换按钮后,按 Enter 或空格可展开、收起。展开后可将焦点移到小窗右下角的调整大小手柄,再用方向键改变尺寸;按住 Shift 可加大步长。已发布的 0.1.4 不另外注册 Esc;0.1.5 的 Esc 优先退出最后点击或操作的展开小窗,点击两窗外后先退解读、再收起聊天,并让原生菜单和输入法优先处理。
关闭和卸载
暂时不用:在 Harness 的插件管理页关闭 @yfwu2020/dsh-full-view 的开关。悬浮聊天扩展会停止,面板恢复宿主的显示方式。关闭插件与退出面板全屏是两个独立操作。
彻底移除:打开这个插件的详情,在管理页中卸载。当前版本的启用与停用统一跟随 Harness 的插件开关。
如果你是用仓库中的本地安装脚本安装的,也可以在插件目录执行:
node scripts/uninstall-local.mjs desktop
这个脚本删除对应的本地依赖、启用选择和链接,保留其他插件的设置。
常见问题
已经安装,为什么没有小窗?
确认插件开关已打开,并且已经进入右侧文件或浏览器面板的「全屏」。普通分栏时不会出现小窗。如果安装后界面尚未加载新插件,重新打开 Harness。仍无效时,请检查上述版本兼容范围。
我关闭了插件,面板为什么还在全屏?
插件开关控制悬浮聊天功能;面板的全屏状态由 Harness 自己管理。点击面板的「退出全屏」即可回到分栏。
开关显示关闭,但小窗仍在,怎么办?
0.1.1 修复了初版本地安装脚本导致的启停不一致。通过管理页安装的用户可更新到 0.1.1。如果曾用 0.1.0 的 scripts/install-local.mjs 安装,请先将 0.1.1 文件更新到原来的本地插件目录,保持目录路径不变,再在该目录重新运行:
node scripts/install-local.mjs desktop
脚本会迁移旧的直接加载条目,保留你当前的开关选择,并备份修改前的配置。迁移后重新检查管理页和界面。
会保存我的聊天或网页内容吗?
插件自身只记住小窗的位置和尺寸,不另外保存或上传会话、草稿及网页内容。原会话的数据处理和存储继续由 Harness 管理。
左侧栏收起后,为什么没有图标竖条?
当前已验证的 macOS Desktop 版本会将收起后的左侧栏完全隐藏,展开入口移到窗口左上方。这是宿主的布局行为;本插件不修改该逻辑。
如何反馈兼容问题?
请在 Issues 中说明系统、Harness 版本、是否已开启右侧全屏、复现步骤,并附上能说明布局问题的截图。截图前请遮盖私人会话和敏感内容。
更新记录
0.1.6:插件浮层共存与样式恢复
- 完整视图保留 Harness 公共浮层原来的顺序,解读小窗使用解读插件自己的浮层;最近会话列表保持在解读下面。
- 完整视图不再直接隐藏其他插件的胶囊,由解读插件自行处理完整视图中的隐藏与恢复。请同时升级划词解读到 0.10.2、最近会话到 0.2.3。
- 样式表明确归属本插件,避免其他插件重载时被误删;意外丢失时自动恢复,卸载后正常清理。
- 保留聊天与解读同时打开、最后操作小窗优先响应 Esc 的交互。
0.1.5:自动回收与标题拖动
- 紧凑条闲置 90 秒(1 分 30 秒)自动收成原生鲸鱼球,保留草稿和真实任务状态。回收时不抢走文件或网页的焦点。
- 标题单击不切换形态,按住直接拖动小窗;保留方向键移动和双击复位。
- 部署配置
compactIdleSeconds可调整回收秒数,设为0关闭自动回收;范围0–3600。
0.1.5:聊天浮窗交互
- 补齐紧凑操作栏、隐藏与恢复、外部点击 / Esc 收起。
- 补齐边缘与角落缩放、拖动取消、边缘吸附、视口与窄宽度适配。
- 保护 DSH 原生弹出菜单、审批、提问和计划确认,以及内嵌子会话。
- 区分单击和双击,保留角落双击复位;修复输入条按钮排布。
- 修复紧凑输入条的方形背景覆盖圆角,模型入口改为脑形图标;左上角「−」隐藏小窗并保留恢复入口。
- 移除操作栏右侧重复的「×」隐藏按钮,由左上角「−」统一执行隐藏。
- 主操作图标统一为 18px;聚焦输入框直接展开完整小窗,移除只有标题栏和输入条的中间形态。
- 完整视图隐藏输入框下方的统计数字;展开 / 收起与隐藏 / 恢复加入平滑过渡。
- 删除新内容提示,在输入框占位位置显示真实回合耗时;恢复入口改为无文字的 Harness 原生鲸鱼尾巴,运行时播放宿主动画。
- 固定展开图钉、原生鲸鱼状态提示、上边缘主动收球及连续缩入动画。
- 两窗共存时按最后点击或操作的小窗退出;点击两窗外后 Esc 优先退解读。
- 修复 macOS 收起左侧栏时首个标签遮住窗口控制按钮。
0.1.4
- 完整视图默认显示约 48px 高的紧凑输入条,展开后仍使用紧凑输入框。
- 单击外缘展开、收起;拖动外缘移动;支持键盘切换。
- 保留原编辑器、草稿、附件、菜单和发送操作,返回分栏清理所有临时样式。
0.1.3
- 支持双击小窗右下角恢复默认尺寸,并保留当前位置。
- 恢复后的尺寸会继续记忆,原会话和草稿保留。
0.1.2
- 移除聊天小窗右下角的角标,保留拖动调整大小功能。
- 正式 GitHub Release 自动构建、测试并发布到 npm。
0.1.1
- 修复本地安装后「管理页显示关闭、功能实际启用」的问题。
- 本地安装改为遵循 Harness 的标准启用列表。
- 重复安装和旧配置迁移保留用户的启停选择。
- 补充安装、迁移和卸载的回归测试。
0.1.0
- 支持完整视图中的原会话聊天小窗。
- 支持移动、调整大小、收起与展开、返回分栏,以及记忆位置和尺寸。
开发与本地演示
开发和测试使用 Node.js 24。
npm ci --ignore-scripts --legacy-peer-deps
npm run check
node scripts/preview.mjs
打开 http://127.0.0.1:4198 即可体验用于开发验证的独立演示页。它直接加载构建好的插件,演示消息不会发送给模型。演示服务器只监听本机地址。
需要将源码目录链接到本机 Desktop profile 时,可执行 node scripts/install-local.mjs desktop。首次安装会启用,重复执行会保留管理页的选择。使用 Harness CLI 安装 Desktop 插件时,请遵守 CLI 对退出应用的提示。
维护者发布新版本时,请参阅 发布指南。正式 GitHub Release 会触发 npm 发布;普通提交只运行检查。