boogoo619/dsh-focus-overlay 预览 preview

boogoo619/dsh-focus-overlay

专注模式 / Focus mode for DeepSeek Harness (DSH):全屏阅读视图,折叠 AI 工具调用为摘要。

Project Overview项目介绍

This is a native focus mode plugin built exclusively for DeepSeek Harness (DSH) Web GUI. It adds a full-screen reading overlay that hides non-essential UI elements to maximize space for AI conversation content. To install the plugin, you need DSH CLI version 0.1.2-rc.1 or newer and Node.js version 22.19.0 or higher. The recommended installation method is running dsh plugin --profile web add dsh-focus-overlay via the DSH CLI, then restarting dsh web to activate the plugin. You can also install it directly from the GitHub repository by running dsh plugin --profile web add github:boogoo619/dsh-focus-overlay, which pulls the source code and builds it locally on your machine.

This plugin is designed for users who want to focus on reading long AI conversations, especially users on small screen devices needing more vertical space for content. After installation, you can enter focus mode at any time by pressing the F key on any interface, or by clicking the dedicated "Focus" button in the title bar. All UI interactions are optimized for focus reading: you can navigate between conversation turns via the right-side navigation bar, adjust the text width by dragging the handles on either side, and reply to AI directly from the compact input dock at the bottom. When you need to exit, press Esc to exit layer by layer, returning you to your original position in the normal chat view.

This plugin is released under the open-source MIT license, so you can use it for free for any personal or commercial purpose. It automatically adapts to DSH versions older than 0.1.2 by falling back to a legacy compatibility mode, so it will not crash on older DSH installations. It also works seamlessly with the DSH-better-sidebar plugin, automatically hiding its panels when entering focus mode to free up layout space and restoring the original state when exiting. All plugin settings are configurable via the DSH settings panel under "Plugins > Plugin Configuration", and your preferences are persisted locally in your browser's localStorage.

这是一款专为DeepSeek Harness(DSH)Web GUI打造的原生专注模式插件,可一键开启全屏阅读遮罩,隐藏标题区、输入区与侧栏,将AI工具调用过程折叠为官方风格的计数摘要,仅保留用户与AI的对话内容,所有UI元素均复用或复刻官方组件,观感与原生聊天视图完全一致。

适合需要聚焦阅读AI长对话的用户,尤其是小屏幕设备用户。用户可以按F键一键进入专注模式,支持Esc逐层退出,自带轮次导航条、宽度拖拽调节、底部输入坞、自动提醒等功能,全程无需退出专注即可完成提问、作答等交互操作。

需要DSH CLI版本不低于0.1.2-rc.1,Node版本不低于22.19.0,可通过dsh plugin命令从npm或GitHub源码安装,安装后重启dsh web即可生效。项目采用MIT许可证开源,完全免费使用,同时兼容DSH-better-sidebar插件。

Pre-install check安装前体检Compatibility · Security兼容性 · 安全性 1 warning1 项注意
  • Only 3 stars - very few users, little community feedback星标只有 3,几乎没人在用,遇到问题缺少社区反馈
DSH walks through these 9 checksDSH 会逐条核对这 9 项

Compatibility兼容性

  • DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
  • External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
  • Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册

Security安全性

  • Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
  • Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
  • curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
  • Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
  • Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
  • Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式

Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。

Or use CLI install (for developers)或使用命令行安装(适合开发者)

CLI Install命令行安装

dsh plugin --profile web add dsh-focus-overlay

把 boogoo619/dsh-focus-overlay 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

dsh-focus-overlay

中文 | English

为 DeepSeek Harness(DSH)Web GUI 提供的专注模式:一键进入全屏阅读遮罩,隐藏标题区、输入区与侧栏,把 AI 的工具调用过程折叠成官方样式的计数摘要,只保留「你与 AI 的对话」本身。
文本、图片、导航条、宽度调节与答题卡均复用或 1:1 复刻官方组件,观感与聊天视图一致。

npm version npm downloads (monthly) license: MIT dsh version awesome dsh plugin

功能

  • 全屏阅读 —— 经 shell.overlay 以纯增量方式注册的遮罩,覆盖标题区 / 输入区 / 侧栏,纵向空间尽给对话
  • 折叠工具调用 —— 一轮 AI 回复折叠成一行官方 TurnProcess 风格的计数摘要,可点击展开完整工作明细
  • 轮次导航条 —— 右侧导航条 1:1 复刻官方 TurnNavigator:每个回合一个刻度、悬停预览、点击跳转
  • 底部输入坞 —— 回到最底部出现精简输入条,与主输入框共享同一份草稿;AI 提问 / 审批时原地展开答题卡,作答无需退出专注
  • 自动专注与提醒 —— 回复正常完成后可自动进入专注并定位到你的提问;专注中收到新回复、或 AI 等待你回答时弹出提醒
  • 宽度调节 —— 正文两侧的拖拽把手(官方 WidthHandle 复刻),实时拖动阅读列宽并持久化
  • 快捷键 F —— 任意界面按 F 一键进入专注模式,可在设置中关闭;输入框内打字不会误触发
  • 专注计数 —— 设置卡片最底部累计展示你进入专注模式的次数;超过 100 次后出现 GitHub Star 引导,点过一次即被记住,之后提供「前往 GitHub 项目页面」直达按钮

这些功能专为小屏幕提供更多内容呈现空间:收起常驻的标题 / 输入区与工具步骤,让有限的屏幕尽可能多地展示对话。

效果

关闭 —— 普通聊天视图

关闭:普通聊天视图

开启 —— 专注模式

开启:专注模式

进入专注后,一轮 AI 回复不再逐个展示步骤,而是折叠成一行官方样式的计数摘要:

12 次工具调用 · 4 条消息 · 1 个 subagent

点击摘要可展开该轮的完整工作明细(命令、编辑、搜索、读取等按类计数的一行式摘要)。

能力

功能 说明
全屏专注遮罩 经 shell.overlay 注册(纯增量、replaceRisk: none),覆盖标题区 / 输入区 / 侧栏;顶部只留会话标题与「退出专注」按钮
官方渲染原语 AI 文本走官方 MarkdownText(GFM + 代码高亮 + TeX + 代码复制按钮 + 脚注),用户消息走官方 projectUserText 投影;按钮、模态、图标均为官方原语
图片解析 assistant 的 image 块经 uiConversation.imageUrl(dsh 0.1.2+ 的会话授权图片缓存)解析,旧版 dsh 自动回退到 legacy 解析器
工具调用折叠 遵循官方「对话显示」偏好(normal / compact);compact 模式把每轮的工作部分折叠成「N 次工具调用 · M 条消息 · K 个 subagent」披露行(无内容时显示「已思考」),点击可展开完整明细;steering 消息始终独立成行不被折叠;流式中的最后一轮保持展开直到结束
分类摘要明细 展开后按工具类别计数:命令 / 编辑 / 搜索 / 读取 / 列目录 / 子代理 / 待办 / 目标 / 工作流 / 技能 / 提问 / 计划 / 后台任务 / 上下文注入
完整历史加载 dsh 0.1.2 按回合分页,打开专注时自动驱动 loadOlder 翻页到会话开头(有上限、卸载即中止),保证全量阅读视图
精确保留位置 进入专注时定位到聊天视图中正在阅读的消息(按 chat anchor key → seq 对齐);历史分页与前插造成的漂移由防漂移校正器自动回稳
轮次导航条(TurnRail) 1:1 复刻官方 TurnNavigator:每个回合一个刻度、激活刻度随滚动跟随、悬停 / 键盘聚焦弹出预览卡(1 行提问 + 3 行回复)、点击平滑跳转、两端 24px 渐隐、prefers-reduced-motion 适配;少于 2 个回合自动隐藏
宽度调节(WidthHandle) 正文两侧各一条拖拽把手,1:1 复刻官方 WidthHandle:双侧等比(外拖 2×)、rAF 节流实时跟手、指针辉光指示、松手提交并持久化;640px 下限 + 两侧各 88px 边缘预算
回到最新 无草稿且离开底部时,底部居中显示「↓」悬浮按钮
底部输入坞 五种互斥形态由纯函数统一裁决:答题卡 / 等待提示 / 输入条 / 折叠圆钮 / 回到底部;滚到底部(48px 滞回区间)自动展开精简输入条
共享草稿 输入条接官方 per-session 输入机(conversation.input.for):进专注前在主输入框打的字已在条内,专注内打的字离开后仍在主输入框;无输入服务的旧版 dsh 回退到插件本地草稿
输入条细节 Enter 发送(queue 投递,AI 忙时自动排队并显示「已排队 N」)、Shift+Enter 换行、输入法组词中不触发、自动增高;发送失败显示错误行;草稿含引用 / 命令时提示「建议退出专注模式编辑」;有草稿点击对话区自动收起为带蓝点的圆钮,一键展开且光标就位
发送自动上滚 在底部发送长消息后自动上滚刚好一段,让刚发出的消息完整露出、不被输入坞遮挡;在历史区发送绝不拉动视图
答题卡(pending interaction) dsh 0.1.2 uiSession 待交互服务:提问卡复刻官方 QuestionComposer(单选编号 / 多选勾选、「推荐」徽章、自定义答案、整批一次提交、未答完提示),审批卡复刻 PlanReviewPanel 警示条样式(允许 / 拒绝,展示工具名与理由);被拒绝时错误留在卡上;旧版 dsh 经 legacy 适配器回退
自动进入专注 回复正常完成后自动打开专注并定位到本轮你的提问;异常结束(停止 / 报错 / 超 token / 打断)不触发——判定要求快照稳定(流式尾部排空)后才下结论
回复 / 等待提醒 专注中回复完成弹「新回复已生成 + 查看」(6 秒自动消失,一次性);AI 提问 / 审批等待时弹「AI 正在等待你的回复 + 去回答」,按钮原地展开答题卡,作答后自动消失——全程无需退出专注
F 键快捷键 任意界面按 F 立即进入专注(默认开,可在设置中关闭);输入框 / 可编辑元素内打字不触发,忽略修饰键与长按自动重复
专注计数 设置卡片最底部一行累计进入专注模式的次数(含自动进入),持久化到 localStorage;超过 100 次出现 Star 引导按钮,点击前往仓库页面并记住状态,之后改为「前往 GitHub 项目页面」直达按钮
Esc 逐层退出 答题卡 → 输入条 → 专注模式,一层一层退;输入法组词中的 Esc 优先取消组词
i18n 中 / 英文案,注册到 focus 命名空间,跟随界面语言
插件配置卡片 dsh 0.2 起在侧栏「Plugins」页面打开本插件详情页,配置直接渲染在包描述与组件列表之间(plugins.bundle.config);dsh ≤ 0.1.x 仍为「设置 → 插件 → 插件配置」中的可折叠卡片(settings.plugin.item)。偏好持久化到 localStorage;Node 半区以 schemastery schema 注册同名设置 namespace
首次引导 首次安装后欢迎页弹出一次「专注模式」引导(功能一览 + 就地配置),settings.onboarding 步骤自带已读标记与版本号;「打开设置」按当前 dsh 版本跳到对应配置页
官方偏好联动 读取官方「对话显示」偏好(dsh ≤ 0.1.x:normal / compact;dsh 0.2:compact / standard / detailed / verbose),切换即时生效
渲染错误兜底 遮罩内容包裹错误边界:一次渲染崩溃不会永久打死「专注」按钮,下次打开自动重试
兼容 DSH-better-sidebar 进入专注时在 <body> 打标记,样式层自动隐藏其右上角的收放面板按钮与已开启的右侧 / 底部面板,并释放被挤压的布局;退出专注后按原状态还原
旧版兼容模式 dsh < 0.1.2 缺少新服务时降级运行(legacy 快照适配),控制台一次性提示,不会崩溃
跨版本构件兼容 图标等官方构件在两个大版本间改名时按可用性回退(dsh 0.2 移除了 …14 / …16 定尺图标,改用 …Regular + size),不会因为 undefined 组件触发 React #130

Showing the opening section of the README — the full document lives in the repository以上为 README 开头摘要,完整文档在仓库内 · View the full README on GitHub →在 GitHub 查看完整 README →

← 上一个 Prev dsh-icon-console 下一个 Next archgraph →