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

会话列表缓存 SolidiFact/dsh-session-list-cache

DeepSeek Harness
SolidiFact29 天前有提交已提供中文文档扫描:未发现敏感能力

复用未变会话的列表行,降低网页 CPU 占用

30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add SolidiFact/dsh-session-list-cache
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

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

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 复用未变会话列表行
  • 降低网页CPU占用

dsh web 插件:别让打开的页面每 5 秒重建一遍所有已存会话的列表行

README

由 DeepSeek 最新模型翻译生成
dsh-session-list-cache 一个很小的 DeepSeek Harness (dsh) Web 插件,让打开的 dsh 网页不再持续占用一截 CPU 核心。 来自 SolidiFact 的社区插件。不是 DeepSeek 官方产品。 问题 dsh 网页打开期间,每 5 秒刷新一次会话列表。每次刷新都会把你保留过的每个会话的列表行,从它存储的记录重新构建一遍,并重新校验每个存储的值。这些会话其实什么都没变,但工作照样重做一遍,而且你保留的会话越多,开销越大。 在一台存有 763 个会话的机器上实测(dsh 0.1.7-rc.2,Apple M4): | | 打开一个 dsh 页面、没有任务运行时的处理器占用 | | 不用这个插件 | 单核的 15.2% | | 用这个插件 | 单核的 8.1% | 每个数字都是 dsh Web 进程两分钟内的 CPU 时间,两次测量方式相同,连接的页面也相同。剩下那部分开销是 dsh 从磁盘读取会话头,这个插件不改动它。 它做什么 已存储(「冷」)会话的行由两部分构建:它的头和它在 dsh 投影缓存里的记录。dsh 从不原地修改已存储的记录;每次写入都存成新对象。所以只要头没变,记录的内容又和上次是同一批存储对象,行就不可能变,于是直接复用上次构建好的行。 三重保障: - 任何行最多保留一分钟。
展开完整文档(README 剩余 1 节)
dsh-session-list-cache

一个很小的 DeepSeek Harness (dsh) Web 插件,让打开的 dsh 网页不再持续占用一截 CPU 核心。

来自 SolidiFact 的社区插件。不是 DeepSeek 官方产品。

问题

dsh 网页打开期间,每 5 秒刷新一次会话列表。每次刷新都会把你保留过的每个会话的列表行,从它存储的记录重新构建一遍,并重新校验每个存储的值。这些会话其实什么都没变,但工作照样重做一遍,而且你保留的会话越多,开销越大。

在一台存有 763 个会话的机器上实测(dsh 0.1.7-rc.2,Apple M4):

| | 打开一个 dsh 页面、没有任务运行时的处理器占用 |
| 不用这个插件 | 单核的 15.2% |
| 用这个插件 | 单核的 8.1% |

每个数字都是 dsh Web 进程两分钟内的 CPU 时间,两次测量方式相同,连接的页面也相同。剩下那部分开销是 dsh 从磁盘读取会话头,这个插件不改动它。

它做什么

已存储(「冷」)会话的行由两部分构建:它的头和它在 dsh 投影缓存里的记录。dsh 从不原地修改已存储的记录;每次写入都存成新对象。所以只要头没变,记录的内容又和上次是同一批存储对象,行就不可能变,于是直接复用上次构建好的行。

三重保障:

- 任何行最多保留一分钟。 行的一部分由运行中的 dsh 算出,而不是来自存储的记录(图片上限,以及每个工具由哪个插件提供)。dsh 刚启动时,插件还在陆续就位,那时构建的行可能和之后的不一样。每分钟至少重建每行一次,就能把这种偏差限制住,同时仍然跳过每 12 次重建中的 11 次。
- 它会自查。 每 100 个复用的行里,有 1 个照样重建并比对。发现差异就计数,改用新构建的行,并记录前三次。每 100 次列表请求,它记录一行汇总。测试机器上的第一条是: [session-list-cache] 100 list requests, 76500 rows: 92% reused, 6108 built; 9034 spot-checked, 84 differed; 765 rows kept (抽查次数比平时多,因为测试时每一行都被检查了一分钟;84 处差异全部来自启动后的第一分钟,那时插件还在加载,之后对每一行做的一分钟检查没有发现任何差异)。
- 它安全失败。 它挂接 dsh 的一个内部类。如果 dsh 升级挪走了它需要的东西,它就记录一条警告,不动 dsh。读不了的记录永不缓存。已附加(打开且活跃)的会话永不缓存。

它和 @michengai/dsh-archive-manager 一起用或单独用都行,后者包装的是同一个投影缓存。

安装

已在 dsh 0.1.7-rc.2 上测试。
1. 把 index.mjs 复制到 dsh web 配置档文件夹,命名为 session-list-cache.mjs (例如 ~/.dsh/profiles/web/session-list-cache.mjs)。
2. 把它加进该配置档的 cordis.patch.yml:

- insert:
- id: session-list-cache
name: './session-list-cache.mjs'

3. 重启 dsh web。日志里应该出现 [session-list-cache] unchanged cold sessions reuse their session-list row。

要移除它,删掉这段 insert 再重启即可。

调优

createCache() 接受 checkEvery(默认 100)、reportEvery(100 次列表请求)和
maxAgeMs(60000)。上面的数字就是用这些默认值测出来的。

测试

node --test

测试覆盖了开发过程中弄坏过早期版本的几种情况:一张表每次读取都返回新的包装对象,以及一行数据的实时部分变了、存储的记录却没变。

许可证

Copyright 2026 SolidiFact. Licensed under the Apache License, Version 2.0; see LICENSE.
预览分享卡片长什么样 ↓SolidiFact/dsh-session-list-cache
分享 · DeepSeek Harness Hub
SolidiFact/dsh-session-list-cache

复用未变会话的列表行,降低网页 CPU 占用

这是你的仓库?认领条目

回到顶部