DeepSeek Harness Hub
← 返回列表

lyuwen/dsh-thinking-summary

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

为 DeepSeek Harness 提供的可读思考展示:

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/27 · 已提供中文文档

DeepSeek Harness 的可读思考显示

综合分
28.5
GitHub 分
28.5
用户评分
★ Stars
1
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add lyuwen/dsh-thinking-summary
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/18(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-client-connection@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-conversation@deepseek-ai/dsh-invariants@deepseek-ai/dsh-llm@deepseek-ai/dsh-typert-protocol
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-thinking-summary

为 DeepSeek Harness 提供的可读思考展示:
当模型思考时,推理流会被捕获并逐段总结,摘要会显示在聊天历史记录内部,
即原本内置“Think”行的位置。摘要模型在设置 → 通用中选择,并且
调用时禁用思考。

安装

该仓库是一个 Harness bundle:一个包,其 dsh.bundle.patch 添加了一个
双面行(一个 Host ThinkingSummaryService 加上浏览器端部分)。使用 dsh plugin
将其安装到某个 profile 中:

从本仓库的检出目录
dsh plugin --profile web add .

直接从 GitHub
dsh plugin --profile web add git+https://github.com/lyuwen/dsh-thinking-summary.git
或简写:dsh plugin --profile web add github:lyuwen/dsh-thinking-summary

然后重启 dsh web。lib/ 构建产物已提交,因此安装时不会运行构建步骤
(该仓库没有 prepare 脚本;pnpm build 仅供维护者从源码重新构建时使用)。

使用 dsh plugin --profile web remove dsh-thinking-summary 移除(然后重启)。

要求

- Harness web profile(浏览器界面);Host 端需要 llm
service(例如 llm-deepseek),并且可选需要 agent-default-model。
- 可与已发布的 @deepseek-ai/ 包(0.1.1-rc.1+)配合使用。

功能说明

内置的“Think”行只显示一条流式行,展开时则显示大量原始
文本。该插件替换了 assistant-step 渲染器,使每个推理块
在消息中实时变成一个包含三个阶段的展开项:

| 阶段 | 显示内容 |
| --- | --- |
| 0 — 折叠 | 一行:最后一个已完成段落的摘要(当第一个段落仍在进行时,实时显示“Thinking…”) |
| 1 — 首次展开 | 思考流:每个段落的摘要串联在一条垂直轨道上,并带有一个“Show raw thinking”链接 |
| 2 — 完全展开 | 原始思考文本 |

点击行标题只会打开/关闭阶段 1;完全展开的原始视图可通过阶段 1 内的
“Show raw thinking”链接进入,而“Show summaries”会从阶段 2 返回。

段落分组

摘要按以空行分隔的段落计算,但低于阈值的
片段会向前合并:已完成的片段会持续累积为一个单元,
直到达到约 160 个字符,因此即使模型将推理拆分成
许多很小的段落,也不会每个片段生成一个摘要。低于阈值的
剩余部分会并入流式尾部,并且仅在尾部完成时才会被总结;
已稳定的消息总会将其最终剩余部分作为一个单元输出。

旧思考与新思考

只有插件在流式过程中观察到的推理才会被总结。当其行挂载时已经稳定的历史
推理不会被重新总结:它会保留普通的原始思考展开项(折叠 = 第一行,展开 = 完整
文本)——除非 Host 已经为其段落缓存了摘要,在这种情况下,这些摘要会通过 lookup Remote 复用。

架构

- Host(src/index.ts)——ThinkingSummaryService,一个由 API 网关在 /api/thinkingSummary/ 提供的 TypertRemoteService(源模式发现;无生成的描述符)。方法:
- listModels → 提供商/模型目录 + 当前选择。
- setModel → 在插件的生命周期内记住用户的摘要模型。
- lookup → 已确定段落的缓存摘要。
- summarize → 使用所选模型调用 llm.stream(),reasoningEffort: 'off'(在传输中禁用思考),低温度,以及一个简洁的单句系统提示;没有推理表面的模型会拒绝 'off',此时会在不带该参数的情况下重试调用。结果会被清理,并按文本哈希进行 LRU 缓存。
- Browser(src/client/)——注册 settings.general.item(“Thinking summary model”)以及 conversation.chat.node 键 assistant-step。它从节点自身的 data.blocks 中监视实时推理文本,将其拆分为以空行分隔的段落,并通过 Host Remotes 一次一个地总结已完成的段落。文本块由轻量级 GFM 风格 markdown 渲染器渲染;图像通过产品的 conversation.message.images 插槽处理;工具调用行保留在 ui-tool 上。客户端 bundle 是自包含的(不导入产品组件),因此它仅针对已发布的包进行构建。

开发

pnpm install
pnpm build        # tsdown → lib/index.js (host) + lib/client.js (browser)

已知限制

- 答案文本由轻量级 markdown 子集渲染(不支持数学公式、脚注或文件提及芯片);支持代码、表格、列表和链接。
- 摘要按已完成的段落计算;进行中的尾部段落会显示“Thinking…”,直到其完成。
- 摘要模型的选择在插件的生命周期内保存在 host 内存中;重启会将其重置为默认值(DeepSeek-V4-Flash,或部署的默认模型)。
- 历史推理不会被总结(见上文);摘要缓存保存在 host 内存中。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群