Back to home@Vinzelles

dsh-clearview

A calmer reading view for DeepSeek Harness: native process details, live reasoning, and clean final answers.

Stars
0
Language
TypeScript
Created
Sep 3, 2026
Updated
Sep 4, 2026
GitHub repo

Introduction

dsh-clearview

A modern reading view for DeepSeek Harness: native process details, live reasoning, smooth transition, and clean final answers.

全面美化DSH对话流,使界面看起来更美观、现代、流畅。插件为会话流提供一个独立的 「阅读」 页签:执行时按真实顺序呈现原生步骤、思考和进度;一轮成功结束后收起过程,只留下最终回答。原版「对话 / 轨迹」、输入框、模型选择、工具与审批系统全部保留。

本插件基于 https://github.com/aa2246740/dsh-better-display 改造,以前端工程师的理解进行重新优化。

comp_clean_text comparison_dark_off_on_clean

只改展示,不改 Agent、SDK、提示词、模型设置或会话记录。

功能亮点

  • 原生过程可见:思考、工具调用和中途说明保持源顺序;Skill / Read / Bash、上下文来源、文件路径和原始详情仍然可读。
  • 长思考卡片:原文放进带边缘淡出的轻卡片,rAF 连续跟随(EMA 速度匹配 + 比例项收敛,稳态零可见滞后);展开后继续跟随;滚动、聚焦或选字暂停,点击「回到最新」恢复并清除阅读器内选区/焦点。
  • 成功才收起:只有成功结束的整轮才折叠执行过程;错误、中断、审批和未知终止状态不会被当成成功隐藏。
  • 克制动效:忙碌态文字 shimmer,新文字按源顺序逐词渐显;历史不重新打字,遵守系统减少动态效果;liveFloor 分段窗口化让长段落每帧成本恒定(p50/p95 ≈13ms,零 longtask)。
  • 原生内容回退:保留 Markdown、代码、表格、公式、链接、图片与 DSH 原生工具结果组件;不执行模型生成的 HTML / JavaScript。
  • 兼容层内聚src/client/compat/):原 dsh-custom-patcher 的 13 个阅读视图配套补丁已全部并入——composer 可读性、轮次统计行、dsh-rewind 兼容桥、收尾总结防折叠、负载守卫 heavy 降级、离屏轮次 content-visibility 等,运行时经 <style id="dsh-clearview-compat"> 注入,挂插件 fiber 生命周期,可重入。

没有收到 reasoning 的消息不会被补写或推测思考;插件不翻译、摘要或重新解释原始 Think 文本。

安装(dsh-market / dsh plugin)

需要已安装、可正常工作的 DeepSeek Harness。在市场页面找到本插件,或直接执行:

dsh plugin --profile web add github:Vinzelles/dsh-clearview

也可以直接把这句话发给你的 DSH:

帮我安装 https://github.com/Vinzelles/dsh-clearview 这个插件

装完刷新或重新打开 Web 页面,在原有页签旁选择「阅读」。在当前 DSH 地址后加 ?reader=1 可单次进入阅读,不会覆盖之后主动选择的页签;新会话默认进入阅读。

老的 dsh-reader 试用插件应保持禁用:两者占用同一个原生「阅读」视图位置,不要同时启用。

从源码构建

Node.js 需要 ^22.19.0 || >=24。构建复用你明确指定的 Harness(DSHX_HARNESS)的现有依赖,不下载另一份宿主,也不改宿主源码。

# 1. 克隆并安装依赖
git clone https://github.com/Vinzelles/dsh-clearview.git
cd dsh-clearview
node scripts/link-harness-dependencies.mjs "$DSHX_HARNESS"

# 2. 测试与构建
npm test
npm run typecheck
DSHX_HARNESS=/absolute/path/to/deepseek-harness npm run build

# 3. 检查并激活(无需重启宿主,刷新页面即生效)
dshx check dsh-clearview --harness "$DSHX_HARNESS"
dshx activation-plan dsh-clearview --change new-client --harness "$DSHX_HARNESS"
dshx activate-new-client dsh-clearview --profile web --port "$DSH_WEB_PORT" --harness "$DSHX_HARNESS"

本地维护时,profile(~/.dsh/profiles/web)通过 link: 指向本仓库,deepseek-harness/my-plugins/dsh-clearview 是同一目录的 junction。激活命令接受插件名,不接受绝对源码路径。

更新与回退

更新已有客户端时,拉取源码、重新构建,用 dshx activation-plan --change client 核对更新方式,再验证实际页面。不要为客户端动效更新重启宿主。想立即对照原版,直接选择「对话」;记录、模型和输入框一直由 DSH 持有。

设计与安全边界

  • 基于公开会话投影的呈现层:不读取私有 provider 日志、不改写提示词、不篡改模型设置。
  • dsh-clearview.block 是供受信任插件使用的 chain slot,公开 owner 类型为 ReaderBlockOwner;未知内容有安全兜底和独立错误边界。这不是完整的 MCP Apps 或 Generative UI 实现;交互应用仍需单独的协议、沙箱和权限边界。
  • 本仓库不包含模型凭据、会话导出、用户截图、本机配置或试用环境。

设计约束见 DESIGN.md,版本说明见 CHANGELOG.md

测试

91 项单元测试覆盖:流式顺序与轮次边界、异常保留、长思考两行跟随、Unicode/组合 emoji、Markdown/GFM/公式、流式缓冲、阅读保护守卫(选区/焦点暂停与「回到最新」浮现)、dsh-rewind 隐藏契约、执行集群聚合与运行状态条派生、执行失败并入报错卡片(合并判定与退出码恢复)。安装后仍需在真实宿主验证,不能把单元测试通过当作页面已加载。

许可与致谢

本项目原创代码使用 MIT。原生展示与 Markdown 部分来自 DeepSeek Harness(MIT);动效参考 Jakub Antalik 的 Transitions.dev 免费 Streaming text、Thinking states 和 Reasoning stream 配方(未打包其演示库或 Pro 内容)。第三方代码保留各自许可,详见 THIRD_PARTY_NOTICES.md