@aparte/plugin-compaction

中文文档
0.32.1发布于 2026/11/02MITTypeScriptES Module零依赖构建来源已验证近 30 天下载 5136

分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分.

中文使用文档

@ aparte/ plugin- compaction (帮助)

对话 压缩 页:1 独立: 当谈话 打开模型的窗口 总结模型的更古老的转弯 逐字记录——不删除任何内容。 核心紧凑物中没有任何东西——没有UI工具包 每个SDK特工都把它当作一个选入舱载运——所以这里就是它居住的地方.

npm install @aparte/plugin-compaction @aparte/core
import { setupCompaction } from '@aparte/plugin-compaction';

const compaction = setupCompaction();   // the global config, the current model's window

这就是整条线。 插件将自己注册为配置的压缩器,并决定 其自己的:在经过80%的窗口后离开对话(threshold),以及 在请求不合要求的发送之前(转弯等待,停止同时取消) 模式拒绝一个请求,如其窗口(它紧凑并再次发出转弯).

收缩目标 下级 阈值,而不是它: 模型之后读取的历史 大约在陆地上 threshold − 0.2 ,减去固定成本(系统提示、工具、 因此,一个摘要买几个回合而不是被问到 下一场之后的又一次 选择是在模型自己的符号(字符)中完成的 heuristic的低分数从最后的回覆中校正,如上下文测量)并离开 准备的转弯空间, 所以一个长的面条是空间。 A 类 selector 属于你自己 与信息单独通话 并保持原样。 每个聊天契约单独:摘要 被写给一个人 并不会阻碍另一个。 恢复取消仍在编写的摘要 用于聊天(与 listen: false,它听到没有窗口事件,摘要被拒绝当它 并且停止取消它.

收缩 写一个检查点, 它不删除任何内容。摘要在第一个回合 保留 -- contextSummary: { summary, count, createdAt },通过对话——和 该模型从那里开始的历史,摘要首先。 每个消息都留在屏幕上 在存储中; 气泡在转弯处上方绘制一个分隔符 (“ 12 个消息摘要用于 model","显示摘要","还原","还原"再次向模型发送原始消息.

await compaction.compact('main-chat');   // on demand; returns the outcome, never throws
compaction.abort();                      // the summary in flight; the conversation is untouched
compaction.running;                      // true meanwhile
compaction.dispose();                    // remove the listeners and the compactor

总结 通过配置的传输要求当前模型:流出,带有 maxTokens 把答案放在窗内 _meta: { compaction: true },所以一个 后端可以通向更便宜的模型. 默认提示请求在 对话的语言; 第二次压缩更新摘要而不是概括 摘要; 第一个请求是逐字保存的。 长度限制的简要剪接,结束 在错误中,或不会少于它所取代的,被拒绝,对话将保持不变 对 与 没有 窗口(没有) contextWindow 无法说出适合什么,所以 默认跳过 'no-window'。 。 。 .

选项 —— 说 auto (默认) true· ; false 实值 仅手动:只有一个人的请求契约—— 现在收紧,重试, compact(), (中文(简体) ), aparte-compact 无论是后转、前发还是后发 溢出尝试,所以一个模型的溢出错误和插件之前一样存在;所以 已经 listen: false, (中文(简体) ), threshold (默认) 0.8, (中文(简体) ), contextWindow (当模型宣布无时的窗口), selector (你自己的) (messages) => { keep, drop }· ; createCompactionSelector 构建 预算意识一), prompt, (中文(简体) ), keyResolver, (中文(简体) ), summarize (替换模型调用:你的终点,a 更便宜的模型, resolveTarget (商店的笔录: { getMessages, updateMessage }, (中文(简体) ), scopeToTargetId (在多聊天页面上每聊天一次设置), keepWithoutWindow, (中文(简体) ), listen编辑 配置是最后一个,像每一个 setup*数字 : setupCompaction(options, config)。 。 。 .

活动打开 window,每个指定聊天和检查点所坐的信息: aparte-compact-start, (中文(简体) ), aparte-compact-done (单位:千美元){ summary, kept, dropped, count }, (中文(简体) ), { skipped: true, reason } —— 说 empty, (中文(简体) ), nothing-to-drop, (中文(简体) ), running, (中文(简体) ), streaming, (中文(简体) ), no-window -或者说 { restored: true }, (中文(简体) ), aparte-compact-error (单位:千美元){ error }) (中文(简体) ).

预算,为想要数字的主机导出 : computeHistoryBudget, (中文(简体) ), splitHistoryBudget, (中文(简体) ), estimateTokens, (中文(简体) ), estimateTokensJson, (中文(简体) ), DEFAULT_COMPACTION_CONFIG; 和 : transcriptForSummary 编号 : messageText 编号 : DEFAULT_COMPACTION_PROMPT (单位:千美元) summarize 您的电话 自己想要同样的记录.

@aparte/core 是唯一一个 同伴依赖。没有元素,导入时没有DOM:同一条目 为浏览器和节点服务.

仅限无害环境管理。 离相单相.

版本与发布记录

@aparte/plugin-compaction 共发布 46 个版本,首次发布于 2026/08/30;过去 12 个月发布了 46 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.32.1latest2026/11/024 天前
0.32.02026/11/024 天前
0.31.02026/11/024 天前
0.30.12026/11/014 天前
0.30.02026/11/014 天前
0.29.42026/11/015 天前

其他发布通道:alpha → 0.17.0。

关于 @aparte/plugin-compaction 的常见问题

@aparte/plugin-compaction 是什么?

分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分.

如何安装 @aparte/plugin-compaction?

在项目目录运行 npm install @aparte/plugin-compaction,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@aparte/core(>=0.32.1 <1.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@aparte/plugin-compaction 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@aparte/plugin-compaction 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@aparte/plugin-compaction 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=18。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@aparte/plugin-compaction 可以商用吗?

@aparte/plugin-compaction 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@aparte/plugin-compaction 的下载量有多少?

根据 npm 官方下载统计,@aparte/plugin-compaction 在 2026/10/06 – 2026/11/04 这 30 天内被下载 5,136 次,日均约 171 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@aparte/plugin-compaction 还在维护吗?

最新版本 0.32.1 发布于 2026/11/02(4 天前);至今共发布 46 个版本,其中过去 12 个月发布了 46 个;首次发布于 2026/08/30。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。