🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

整洁显示 drscrewdriver/dsh-tidy-display

DeepSeek Harnessv0.3.1
drscrewdriver17 天前有提交已提供中文文档扫描:含敏感能力

整洁显示 Tidy Display:为 DeepSeek Harness 0.1.7 提供阅读视图和消息栏,由 dsh-better-display 与 dsh-tidychat 合并而来

30.7/100
综合分
1
GitHub 星标
2,865
npm 周下载
—/5
用户评分

数据截至 2026/10/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-tidy-display
npm 源 · dsh-tidy-display 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · chat
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 17 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-tidy-display @ 0.3.1
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/13 04:28:53

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件写入剪贴板(不计风险)
查看扫描证据(共 22 处,展示前 22 条)
  • 读取本地文件
    lib/dsh-tidy-display.js:94
    if (existsSync(join(current, ".git"))) return current;
  • 读取本地文件
    lib/dsh-tidy-display.js:103
    entries = await readdir(rootPath, { withFileTypes: true });
  • 读取本地文件
    lib/dsh-tidy-display.js:111
    await access(join(rootPath, entry.name, "SKILL.md"));
  • 读取本地文件
    lib/dsh-tidy-display.js:127
    ].find((path) => existsSync(join(path, "SKILL.md")));
  • 执行外部命令固定命令
    lib/dsh-tidy-display.js:280
    if (process.platform === "darwin") spawn("open", ["-R", targetPath], {
  • 执行外部命令固定命令
    lib/dsh-tidy-display.js:284
    else if (process.platform === "win32") spawn("explorer.exe", [`/select,${targetPath}`], {
  • 执行外部命令固定命令
    lib/dsh-tidy-display.js:288
    else spawn("xdg-open", [targetPath], {
  • 写入剪贴板
    lib/types/client/McpAppFrame.js:38
    void navigator.clipboard?.writeText(prompt);
  • 执行外部命令固定命令
    lib/types/dsh-tidy-display.js:48
    spawn('open', ['-R', targetPath], { detached: true, stdio: 'ignore' });
  • 执行外部命令固定命令
    lib/types/dsh-tidy-display.js:52
    spawn('explorer.exe', [`/select,${targetPath}`], { detached: true, stdio: 'ignore' });
  • 执行外部命令固定命令
    lib/types/dsh-tidy-display.js:55
    spawn('xdg-open', [targetPath], { detached: true, stdio: 'ignore' });
  • 读取本地文件
    lib/types/skill-roots.js:41
    if (existsSync(join(current, '.git')))
  • 读取本地文件
    lib/types/skill-roots.js:52
    entries = await readdir(rootPath, { withFileTypes: true });
  • 读取本地文件
    lib/types/skill-roots.js:64
    await access(join(rootPath, entry.name, 'SKILL.md'));
  • 读取本地文件
    lib/types/skill-roots.js:84
    return candidates.find(path => existsSync(join(path, 'SKILL.md')));
  • 执行外部命令固定命令
    src/dsh-tidy-display.ts:69
    spawn('open', ['-R', targetPath], { detached: true, stdio: 'ignore' });
  • 执行外部命令固定命令
    src/dsh-tidy-display.ts:72
    spawn('explorer.exe', [`/select,${targetPath}`], { detached: true, stdio: 'ignore' });
  • 执行外部命令固定命令
    src/dsh-tidy-display.ts:74
    spawn('xdg-open', [targetPath], { detached: true, stdio: 'ignore' });
  • 读取本地文件
    src/skill-roots.ts:54
    if (existsSync(join(current, '.git'))) return current;
  • 读取本地文件
    src/skill-roots.ts:64
    entries = await readdir(rootPath, { withFileTypes: true });
  • 读取本地文件
    src/skill-roots.ts:73
    await access(join(rootPath, entry.name, 'SKILL.md'));
  • 读取本地文件
    src/skill-roots.ts:92
    return candidates.find(path => existsSync(join(path, 'SKILL.md')));
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-api-remotes@deepseek-ai/dsh-api-session-controller@deepseek-ai/dsh-attachment@deepseek-ai/dsh-client-connection@deepseek-ai/dsh-client-store@deepseek-ai/dsh-client-ui-chat@deepseek-ai/dsh-client-ui-conversation@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-client-ui-renderer@deepseek-ai/dsh-client-ui-session@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-client-ui-tool
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 阅读视图
  • 消息侧栏
v0.1.0-dsh0.1.12026-10-22
· v0.1.0-dsh0.1.1 feat(compat/0.1.1):为 DSH 0.1.0-rc.7 ~ 0.1.2-alpha.1 提供旧版兼容线 _这个版本没找到 CHANGELOG 段落,说明由 tag 提交信息自动生成。_ --- _2026-10-22 依据 git tag 和 CHANGELOG 历史补录的发布记录。_
v0.1.0-dsh0.1.22026-10-22
· v0.1.0-dsh0.1.2 fix(settings-seat):把卡片注册到带键的 settings.plugin.item 位置 _这个版本没找到 CHANGELOG 段落,说明由标签提交信息自动生成。_ --- _2026-10-22 依据 git 标签和 CHANGELOG 历史回填发布记录。_
v0.1.0-dsh0.1.52026-10-22
· v0.1.0-dsh0.1.5 fix(settings-seat):把卡片注册到带键的 settings.plugin.item 座位 _这个版本没找到 CHANGELOG 段落,说明由标签提交信息自动生成。_ --- _2026-10-22 依据 git 标签和 CHANGELOG 历史回填发布记录。_
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。

README

由 DeepSeek 最新模型翻译生成
dsh-tidy-display 整洁显示 —— DeepSeek Harness(DSH)0.1.0–0.2.0 的社区插件:把「阅读视图」与「消息轨」缝合成一个插件,长会话可扫读、可定位、可续聊。 本项目由两个广受欢迎的 DSH 插件合并而来: dsh-better-display(阅读视图,经 fork 维护)× dsh-tidychat(消息轨 / 智能加载)。 合并消除了两者因 DOM 契约产生的冲突,并向两者致敬。 - 支持的 DSH 宿主: 0.1.0-rc.2 0.1.0-rc.3 0.1.0-rc.6 0.1.0-rc.7 0.1.0-rc.8 0.1.1-rc.1 0.1.1-rc.2 0.1.2-rc.1 0.1.5-rc.1 0.1.5-rc.2 0.1.5-rc.3 0.1.7-rc.1 0.1.7-rc.2 0.2.0-rc.1 0.2.0-rc.2 0.2.1-rc.1(覆盖 0.1.0 / 0.1.1 / 0.1.2 / 0.1.5 / 0.1.7 / 0.2.0 / 0.2.1 七条线共 16 个 rc) 来源与致谢(如实说明) 实时显示(流式阅读) 来自 dsh-better-display 阅读视图:上游 aa2246740 的流式渲染、过程折叠编排、官方桥接,经 drscrewdriver fork 增强。
展开完整文档(README 剩余 1 节)
dsh-tidy-display

整洁显示 —— DeepSeek Harness(DSH)0.1.0–0.2.0 的社区插件:把「阅读视图」与「消息轨」缝合成一个插件,长会话可扫读、可定位、可续聊。

本项目由两个广受欢迎的 DSH 插件合并而来: dsh-better-display(阅读视图,经 fork 维护)× dsh-tidychat(消息轨 / 智能加载)。
合并消除了两者因 DOM 契约产生的冲突,并向两者致敬。

- 支持的 DSH 宿主: 0.1.0-rc.2 0.1.0-rc.3 0.1.0-rc.6 0.1.0-rc.7 0.1.0-rc.8 0.1.1-rc.1 0.1.1-rc.2 0.1.2-rc.1 0.1.5-rc.1 0.1.5-rc.2 0.1.5-rc.3 0.1.7-rc.1 0.1.7-rc.2 0.2.0-rc.1 0.2.0-rc.2 0.2.1-rc.1(覆盖 0.1.0 / 0.1.1 / 0.1.2 / 0.1.5 / 0.1.7 / 0.2.0 / 0.2.1 七条线共 16 个 rc)

来源与致谢(如实说明)

实时显示(流式阅读) 来自 dsh-better-display 阅读视图:上游 aa2246740 的流式渲染、过程折叠编排、官方桥接,经 drscrewdriver fork 增强。本项目未重写其渲染与动效链路。

消息轨 来自 dsh-tidychat:canvas 轨、鱼眼悬停、配色链、智能加载均为移植,经 drscrewdriver compat 线增强(白色柔光、steering 同视、DOM 单一事实源)。

原版 better-display 的不足,与本项目 / fork 的修复

1. 消息与思考没有底框——最终回答与思考文字直接铺在页面背景上,换肤、壁纸、深色主题下可读性差。→ fork 为回答加上了官方 --dsw-alias-bg-layer-1 半透明气泡底,思考卡加同款衬底(fork 提交 fa3a795、94d59c7)。
2. 阅读视图丢弃宿主行级锚点——data-chat-anchor-key / data-chat-flow-kind 不随消息行输出,以该契约为事实源的第三方插件(如 tidychat 消息轨)在阅读视图下解析出 0 行、静默失效。→ 已向上游提交修复 PR aa2246740/dsh-better-display#41;合并项目内同样自带该修复。
3. 自带 TimelineRail 只有官方大纲一轨——无鱼眼摘要、无点击跳转、无配色能力。

原版 dsh-tidychat 的不足,与合并的动机

1. 折叠 / 分隔线是 DOM 手术,与宿主 0.1.2+ 的原生折叠功能重叠,需要用户手动二选一。
2. v0.2.10 及更早版本在 DSH 0.1.2 宿主上消息轨取数路径读错快照——解析出 0 轮、实际从未渲染(v0.3.0 修复,见其仓库 docs/RAIL-ROOT-CAUSE-ANALYSIS.md)。
3. 与 better-display 阅读视图双向冲突:tidychat 的手术作用不到阅读视图的行;阅读视图丢锚点又反过来废掉消息轨——这正是本项目合并的直接动机。

对两个上游与作者(aa2246740、BananaSoldier01)致谢——本项目站在它们肩上;上游后续改进若与本项目不冲突,会择机跟进。

宿主兼容性

| DSH 宿主 | 阅读视图 | 消息轨 | 设置入口 |
| 0.2.0-rc.1+(本线,compat/0.2.0) | ✅ | ✅(双视图) | 起子插件设置 → 整洁显示 |
| 0.1.7-rc.1+(main 线) | ✅ | ✅(双视图) | 起子插件设置 → 整洁显示 |
| 0.1.5-alpha.1 ~ 0.1.6(含 0.1.5) | ❌ | ✅(compat/0.1.5 线,tag v0.1.0-dsh0.1.5) | 插件配置卡片 |
| 0.1.2-alpha.2 ~ 0.1.4.x | ❌ | ✅(compat/0.1.2 线,tag v0.1.0-dsh0.1.2) | 插件配置卡片 |
| 0.1.0-rc.7 ~ 0.1.2-alpha.1(含 0.1.1) | ❌ | ✅(compat/0.1.1 线,tag v0.1.0-dsh0.1.1) | 插件配置卡片 |

- 阅读视图绑定宿主槽位契约,按线锁基线(本线 0.2.0-rc.2,main 线 0.1.7-rc.2;官方在 0.1.7-rc.1 → rc.2 → 0.2.0 之间都有契约漂移),不下放旧宿主。
- 旧宿主反向适配已实施:消息轨子集(轨 + 柔光 + 配色 + 智能加载)在三条兼容分支上发布,安装一行式形如 dsh plugin --profile web add github:drscrewdriver/dsh-tidy-display#v0.1.0-dsh0.1.5;npm 发布后补 dist-tag dsh-0.1.5 / dsh-0.1.2 / dsh-0.1.1。0.1.5 线的官方轨接管为待实测项;0.1.3 / 0.1.4 随 compat/0.1.2 线理论可用、未实测。
- 0.2.0 线(本分支):安装 dsh plugin --profile web add github:drscrewdriver/dsh-tidy-display#v0.2.0-dsh0.2.0;npm 发布后可用 dist-tag:dsh plugin --profile web add dsh-tidy-display@dsh-0.2.0。
- 0.1.0-rc.6 及更早不在支持范围(请使用 dsh-tidychat 0.1.0)。
- 矩阵截至 2026-09-30(tidy-display v0.2.0 / better-display 0.3.3-fork.5 / tidychat 0.3.4 线)。

功能

阅读视图(来自 better-display)

- 执行过程收拢为可展开的摘要,最终回答以消息气泡呈现(半透明底 + 可选毛玻璃,透出皮肤壁纸)
- 思考卡同款半透明衬底;流式思考可跟随滚动、可暂停、可展开全文
- 官方桥接:工具视图、反馈、产物卡片、turnTail 等经官方槽位渲染
- mcp-app 代码块渲染为沙箱交互卡片();技能包见 skills/generative-mcpapps/
- 交付物行、等待时钟、pending 回显;原版「对话 / 轨迹」、输入框、模型选择、工具和审批都还在

消息轨(来自 dsh-tidychat)

- 会话区边缘的 canvas 导航轨:鱼眼悬停 + 摘要卡、点击跳转、滚动时当前轮高亮
- 样式横线 / 圆点,位置左缘 / 右缘(镜像)
- 白色柔光外圈:当前轮与悬停轮标记底下垫一层柔光,复杂壁纸上也清晰
- 配色:标记色 / 强调色各自「自动(跟随主题,对比不足自动纠偏)/ 自定义(取色器 + HEX/RGB 文本 + 透明度滑杆)」
- 接管官方消息轨:隐藏官方右缘 TurnNavigator(隐藏而非卸载),只保留本轨
- 原生「对话」视图与「阅读」视图双视图都可用

设置

所有设置集中在 设置 → 起子插件设置 → 整洁显示:消息轨(开关 / 位置 / 样式 / 外圈柔光 / 接管 / 配色)+ 消息气泡 / 半透明毛玻璃 / 自动折叠 / 产物打开方式。配置持久化在 dsh.reader.v1。

安装

⚠️ 与 dsh-better-display、@bananasoldier01/dsh-tidychat 互斥:三者都会在 conversation.view 列表槽位注册 reader 视图(同 id 同优先级),同时启用会在激活期因重复注册直接失败(client 侧报 entry did not activate,页面卡在「插件加载失败」)。启用本插件前先卸载或禁用它们。

DSH Studio 桌面 App(推荐)

打开 设置 → 插件 → 添加插件,输入包名:

dsh-tidy-display

Web CLI

npm 已发布,直接用包名:

dsh plugin --profile web add dsh-tidy-display

GitHub 地址同样可用(旧宿主 compat 线按 tag 装,见上方兼容矩阵):

dsh plugin --profile web add github:drscrewdriver/dsh-tidy-display

本地目录 / tarball(开发 / 本地测试):

dsh plugin --profile web add ./dsh-tidy-display
dsh plugin --profile web add ./dsh-tidy-display-0.1.0.tgz

dsh.bundle 是开机捕获的:不要再往 profile 的 cordis.patch.yml 手写同一条 insert(会重复挂载);已装过的卸载用 dsh plugin --profile web remove dsh-tidy-display。对已经运行的 Web Host,安装后重开一次 Host 再刷新网页。

开发

pnpm install
npm run typecheck
npm run build # 产物 lib/(入库;check-harness-compat 门需要 Harness 源码检出)
npm test

面向 DeepSeek Harness 0.1.0–0.2.0 的全部 rc(枚举清单见上方 host-compat 管理块)。只改展示,不改 Agent 执行、SDK 或模型凭据。Node.js ^22.19.0 || >=24。新会话默认进阅读。

与原项目的关系

详见顶部「来源与致谢」——上游后续改进若与本项目不冲突会择机跟进。

许可

展示与 Markdown 部分来自 DeepSeek Harness(MIT)。动效参考 Transitions.dev。本仓库代码 MIT。
预览分享卡片长什么样 ↓drscrewdriver/dsh-tidy-display
分享 · DeepSeek Harness Hub
drscrewdriver/dsh-tidy-display

整洁显示 Tidy Display:为 DeepSeek Harness 0.1.7 提供阅读视图和消息栏,由 dsh-better-display 与 dsh-tidychat 合并而来

这是你的仓库?认领条目

回到顶部