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

会话压缩按钮 liutian11451-png/dsh-plugin-compact-button

DeepSeek 客户端
liutian11451-png52 天前有提交已提供中文文档扫描:含敏感能力兼容 / 相关生态

在模型选择器旁一键压缩当前会话上下文

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

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

相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/liutian11451-png/dsh-plugin-compact-button.git

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
生态插件
可安装,未声明 dsh 能力
装得上吗
静态安装检查有提示项,装前建议看一眼 README
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 52 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意

未发布到 npm registry,仅可从源码安装

展开查看检查明细 ↓

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

✗npm 包dsh-plugin-compact-button(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/9/22 03:53:41

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

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

读写/删除本地文件
查看扫描证据(共 1 处,展示前 1 条)
  • 读取本地文件
    smoke.mjs:27
    const source = readFileSync(new URL('./lib/client.js', import.meta.url), 'utf8')
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 一键压缩会话上下文
  • 模型选择器旁按钮

DeepSeek Harness 网页界面里的 Composer 紧凑控制:模型选择器旁边一个按钮,直接跑部署自带的 /compact 命令。

README

由 DeepSeek 最新模型翻译生成
dsh-plugin-compact-button AI 生成代码。 本包由 AI 智能体(DeepSeek Harness,模型 deepseek-flash)在人类主导的会话中编写,并由运行它的人发布。安装前请先审阅代码,尤其在你允许它的 prepare 脚本于自己机器上执行之前。哪些验证过、哪些没有,见 AI 生成声明。 DeepSeek Harness Web 输入框的压缩控件:一个按钮,就坐在模型选择器左边,点一下执行当前部署自己的 /compact 命令。 它做什么 点它就压缩当前会话。按钮通过 Session 的命令通道提交裸 /compact 行,也就是说:持久化的尝试记录、压缩锁、摘要路由,以及 Chat 视图本来就渲染的那个流程节点,全都保持 /compact 自己那套。这个插件只贡献手势和它的本地化拒绝提示 —— 绝不另开一条压缩路径。 - 空会话 —— 不渲染;没有历史可压。 - 智能体运行中 —— 变灰、不可点击,但保持普通标签。手动压缩要求智能体空闲,可不是本控件发起的回合不该声称自己在压缩。 - 压缩中 —— 从手势起读作 压缩中…,直到压缩那个回合结束才回到普通标签。这段窗口是一个三步闩锁:手势置位 → 观察到回合启动 → 回合结束释放。
展开完整文档(README 剩余 1 节)
dsh-plugin-compact-button

AI 生成代码。 本包由 AI 智能体(DeepSeek Harness,模型 deepseek-flash)在人类主导的会话中编写,并由运行它的人发布。安装前请先审阅代码,尤其在你允许它的 prepare 脚本于自己机器上执行之前。哪些验证过、哪些没有,见 AI 生成声明。

DeepSeek Harness Web 输入框的压缩控件:一个按钮,就坐在模型选择器左边,点一下执行当前部署自己的 /compact 命令。

它做什么

点它就压缩当前会话。按钮通过 Session 的命令通道提交裸 /compact 行,也就是说:持久化的尝试记录、压缩锁、摘要路由,以及 Chat 视图本来就渲染的那个流程节点,全都保持 /compact 自己那套。这个插件只贡献手势和它的本地化拒绝提示 —— 绝不另开一条压缩路径。

- 空会话 —— 不渲染;没有历史可压。
- 智能体运行中 —— 变灰、不可点击,但保持普通标签。手动压缩要求智能体空闲,可不是本控件发起的回合不该声称自己在压缩。
- 压缩中 —— 从手势起读作 压缩中…,直到压缩那个回合结束才回到普通标签。这段窗口是一个三步闩锁:手势置位 → 观察到回合启动 → 回合结束释放。只看运行状态是不够的 —— 在智能体本来就在运行时被准入的压缩,控件永远看不到「回合启动」这一步,这正是曾经导致压缩结束后标签卡在「压缩中」的情形。
- 被拒绝 —— 在输入框上方显示一行内联原因。传输失败显示宿主自己的消息;没有 /compact 命令的部署会被明确报为「能力缺失」,而不是看起来成功了。

安装

dsh plugin --profile web add dsh-plugin-compact-button

如果你用的 profile 不叫 web,换成你自己的名字。这个包声明了 dsh.bundle,所以 dsh plugin 会自动把它的 patch 层注册进 profile。重启 dsh web 并刷新页面;构建载荷是在启动时组合的,所以第一次光刷新不够。

从 GitHub 检出安装

dsh plugin --profile web add github:liutian11451-png/dsh-plugin-compact-button

Git 安装拉的是源码而不是构建产物,所以这个包带了一个 prepare 脚本,用普通 tsdown 从 src/ 构建 lib/ —— 不需要同级仓库,也不做类型检查。pnpm ≥10 会拒绝执行 Git 依赖的 prepare,直到你显式允许,所以第一次 add 会以 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 失败,并打印出该加的确切 key。Git 安装的 key 指向解析出来的 tarball,而不是光秃秃的包名:

allowBuilds:
dsh-plugin-compact-button@https://codeload.github.com/liutian11451-png/dsh-plugin-compact-button/tar.gz/: true

把 pnpm 打印出的那一行原样抄进去(它带着本次安装解析到的提交号),然后重新 add。注意:这条允许等于「准许在安装时于你机器上执行这个包的代码」,要把它当成这个意思看待。请固定到具体提交(github:liutian11451-png/dsh-plugin-compact-button#),免得以后一次 push 就悄悄换掉实际运行的代码。

一个换装时的坑:如果这个插件之前是从本地目录装的,请先移除。profile 的 node_modules 里残留的链接会和随后进来的 Git 安装冲突,pnpm 会在导入阶段以 EPERM 软链错误失败。

如果不想让使用者做这个允许,就发 npm,或者用 pnpm pack 出 tarball —— 这两种都不需要任何构建权限。

本地目录

dsh plugin --profile web add /absolute/path/to/dsh-plugin-compact-button

前提

部署必须挂载压缩能力 —— dsh-command-compact 加一个压缩后端。两者都在标准 preset 里。没有该命令时按钮仍会渲染,点击会返回明确的「能力不可用」原因;客户端事先无法知道宿主的命令目录。

目录结构

package.json # dsh.bundle + dsh.client 清单 cordis.patch.yml # 插入本包的加载器行 src/index.ts # 根半(空实现) src/client/index.ts # 浏览器半:注册座位 src/client/CompactButton.tsx # 控件本体 src/client/locales.ts # 中英字典 src/client/CompactButton.module.css # 芯片外观与拒绝提示条 tsdown.config.ts # 消费侧构建 smoke.mjs # 加载器契约冒烟测试

根半是刻意留空的。harness 的客户端模块注册表是遍历宿主 Loader 的行来发现 dsh.client 包的,所以这个包需要一行已挂载的行作为载体 —— 那行的全部作用就是这个。

开发

pnpm install
pnpm build # 产出 lib/index.js 和 lib/client.js
pnpm typecheck
node smoke.mjs # 用桩 shell 求值构建出的浏览器半

smoke.mjs 检查两条容易写坏、且要到启动才暴露的契约:产物必须接受 window.__ModuleLoader__.load({ id, factory }) 交接并返回 module.exports;apply() 必须注册恰好一个 conversation.input.right 条目,其注入的动词提交 /compact 并把三种准入结果都折叠成文案。

两条构建契约

浏览器包不是普通的 ESM 构建。shell 会抓取 lib/client.js 并求值它,所以这个文件必须是 CommonJS 闭包工厂 —— 这就是 tsdown.config.ts 里 banner、intro、footer 的由来。ESM 或没有这层包装的产物会在启动时抛错。

shell 模块表能回答的标识符(react、react/jsx-runtime、cordis、共享的 UI primitives 与 store)保持 require(...) 调用;其余全部内联。模块表回答不了的 require 是必然的运行时抛错,所以构建配置里的 external 列表是显式写死的,而不是从包的依赖里推导。

已知限制

- 手势的可用性取决于命令 —— 没有 dsh-command-compact 的部署会渲染按钮,点击后给出「能力不可用」的原因。
- 准入不等于完成 —— 命令 RPC 在宿主准入该行时就返回,所以 压缩中… 覆盖的是「从手势到压缩回合结束」这段窗口。由自动策略发起的压缩、或任何别的回合,都不会改这个标签;控件在该回合运行期间只是变灰。
- 忙碌标签是有界的,不是精确的 —— 被准入、却始终没有可观察回合的尝试,会在 8 秒宽限期后释放,因为客户端拿不到可以等待的压缩生命周期。若压缩比这更晚才开始,控件会提前显示为空闲。
- 不能选区 —— 控件总是提交无参数形式,压的是后端自己认定的范围,永远不是手挑的片段。
- 仅空闲智能体 —— 智能体运行时变灰不可点,与 compactNow 的要求一致;它不是回合中途强制压缩的手段。
- 仅 Web profile —— 声明了 platform: web;没有终端界面上的等价物。

AI 生成声明

本包由 AI 智能体编写,不是人类逐字敲出来的。它由 DeepSeek Harness 驱动 deepseek-flash 模型,在其人类发布者(@liutian11451-png)主导的会话中于 2026-09-12 产出。人类负责选择功能、确认方案、运行程序并反馈实际表现;本仓库中的源码、测试、构建配置与文档由智能体编写。同一份声明也以机器可读形式记录在 package.json 的 aiDisclosure 字段里。

请据此对待这份代码:安装前先读一遍;Git 安装向你索要的 allowBuilds 许可,请当成「准许在你自己机器上运行未经人工审阅的生成代码」来对待。

已验证的部分

- pnpm test —— 8 项组件测试全绿,其中包含针对一个实际使用中发现的「忙碌标签闩锁」缺陷的回归测试
- pnpm typecheck —— 干净
- node smoke.mjs —— 针对构建产物的 21 项加载器契约断言:闭包工厂交接、导出的 apply/inject 面、注册的座位与顺序,以及三种准入结果的折叠
- 本仓库的 GitHub Actions 工作流在每次 push 时跑上述四步,且已通过
- 插件已装进一个真实运行的 web profile 并在其中使用;上面描述的行为是实际观察到的
- GitHub 安装(dsh plugin add github:…)完整走过一遍,包括消费者侧的 prepare 构建

未验证的部分

- 没有人工逐行审阅。 发布者在运行中的应用里验证了行为,没有验证源码。
- 没有安全审计。 除测试覆盖和上述行为描述之外,没有对恶意或疏忽行为做过检查。
- 只有一台机器、一个平台。 开发、测试与实机使用都发生在 Windows + Node 24 + pnpm 11 上。CI 工作流跑在 Linux 上,所以构建在两个平台上被检验过,但界面只在一个平台上被看过。
- 没有干净机器的安装测试。 发布机器的 profile 里本来就有该插件的安装;在一个从未装过它的 profile 上安装没有被检验。
- 没有在缺少 /compact 的部署上实测按钮 —— 只有测试里桩化的 matched: false 路径。

许可证

MIT
预览分享卡片长什么样 ↓liutian11451-png/dsh-plugin-compact-button
分享 · DeepSeek Harness Hub
liutian11451-png/dsh-plugin-compact-button

在模型选择器旁一键压缩当前会话上下文

这是你的仓库?认领条目

回到顶部