DeepSeek Harness(DSH)遵循“一切皆插件”的理念,旨在通过可插拔的方式扩展功能。dsh-greater-clarity 是一个 Web 客户端插件,主要解决会话信息杂乱、历史记录难以快速定位、以及导出内容不规整的问题。它通过在会话头部提供四个核心入口,帮助开发者更高效地管理对话上下文。
核心功能¶
1. 全局折叠与展开¶
在会话头部提供开关,用于控制 AI 的“思考链路”与“工具调用”的显示。
* 折叠状态:仅保留每轮对话的最终回答文本。
* 展开状态:显示完整的推理过程与工具调用记录。
* 该开关状态会持久化保存。
2. 历史快速定位面板¶
点击会话头部的“历史”按钮,会在按钮正下方弹出快速定位面板。
* 功能:支持搜索与点击跳转,跳转后定位到该输入的第一行。
* 显示:每条记录带有“第 N 轮”的序号徽章。
* 提示:若会话存在未加载完全的更早历史,面板顶部会显示“历史未加载完全”提示。
3. 对话导出¶
提供一键导出当前会话为 Markdown 的功能。
* 生成方式:采用“客户端直出”策略,直接使用浏览器内存中的会话快照生成,响应极快。若快照异常,会自动回退到服务端路径。
* 内容过滤:
* 仅导出用户的输入文本与 AI 的最终回答文本。
* 附件文件以文件名指代。
* 保留代码块、表格、列表等结构。
* 文本转义:
* 用户输入:经过严格转义(反斜杠、实体化、行首标记),防止 Markdown 结构注入与裸 HTML 注入。
* AI 回复:保持原样不转义。
* 文件名规则:
* 格式:时间戳_会话标题.md(或 未加载完全历史对话_时间戳_会话标题.md)。
* 时间戳格式为点分日期(如 2026.9.15)。
4. 设置与头像管理¶
通过设置弹窗配置插件行为。
* 头像展示:AI 回复左侧显示头像,下方附带轮次标签。
* 头像自定义:支持上传自定义头像,调整大小(16–128px),或控制显隐。
* 路径白名单:上传的头像文件路径必须位于 $DSH_HOME/greater-clarity/ 目录下,外部路径会静默回退。
安装¶
通过 DSH CLI 安装到 Web Profile:
dsh plugin --profile web add github:Baisbt/dsh-GreaterClarity-plugin
使用方法¶
- 导出对话:点击会话头部的“导出”按钮,浏览器会自动下载排版清晰的 Markdown 文件。
- 快速定位:点击“历史”按钮,在弹出的面板中输入关键词搜索,或点击列表项跳转到对应的历史输入。
- 调整设置:点击“设置”按钮,上传本地图片作为 AI 头像,或调整导出按钮的显示状态。
设置与数据持久化¶
插件的数据存储在宿主目录下:
* 设置文件:$DSH_HOME/greater-clarity/settings.json
* 头像文件:$DSH_HOME/greater-clarity/avatar.<ext>
插件提供了三种卸载/停用粒度:
* 临时停用:在设置弹窗中关闭“启用 GreaterClarity”开关,刷新后保持停用状态。
* 软卸载:在设置弹窗底部点击“卸载插件…”,会清空 $DSH_HOME/greater-clarity/ 目录并写入标记文件,跨重启生效。
* 彻底移除:运行 dsh plugin --profile web remove @dsh-external/dsh-greater-clarity,从 Profile 组合中移除插件。
已知限制¶
- 导出路径限制:受浏览器安全限制,导出文件仅支持默认下载目录,无法自定义路径。
- 依赖契约:插件依赖 DSH 当前的稳定契约,包括
webServer、slots、sessionQuery、DOM 属性(如data-chat-flow-kind、data-variant="think")以及 Buttons 注入的 props。DSH 升级后需回归验证。 - 转义副作用:用户输入经过严格转义后,导出文档源码中会出现
\-、\*等序列与<等实体,但不影响渲染显示。 - 快照依赖:客户端直出依赖
chat.order/chat.nodes结构,若 DSH 升级导致快照结构变更,需回归修复。 - 头像路径:设置中的
avatarPath仅接受$DSH_HOME/greater-clarity/目录内的图片。 - 文件名语义:仅在客户端直出路径下,若历史未加载完全,文件名才会带有“未加载完全历史对话”前缀;服务端兜底路径则无此前缀。
- 并发模型:单页面内 load/save 请求采用序号守卫,仅采纳最新响应;多开标签页时采用“最后写赢”策略。
构建与目录结构¶
插件采用 ESM 架构,分为 Host(服务端逻辑)与 Client(浏览器 UI)。
目录结构¶
dsh-GreaterClarity-plugin/
├── src/
│ ├── index.ts # HOST:webServer 路由 + 设置持久化
│ ├── pure/ # 双端共享纯函数(转义、导出构建、文件名净化)
│ └── client/ # CLIENT:样式、DOM 层装卸、面板组件
├── cordis.patch.yml # 插件挂载声明
└── scripts/build.sh # 构建脚本
构建命令¶
# 构建 Host
bash scripts/build.sh
# 打包 Client
npm run build:client
生态背景¶
该插件由社区开发者 Baisbt 维护。DSH 的官方插件目录位于 skillhub.cn,与 DeepSeek 或幻方无官方从属关系。