Token Saver Skill

智能压缩对话上下文,降低 AI 令牌消耗 50%-80%,保持响应质量。

已扫描
适合谁
开发者与技术人员、长期使用 AI 的研究者
不适合谁
短对话用户、对响应质量要求极高的实时交互场景
国内可用性
需网络配置。可能需要网络配置或第三方服务可访问。
安装难度
新手友好(★☆☆)。基于终端操作、依赖、API Key 和本地环境要求的初步判断。

安装与下载

openclaw skills install @jzming9/token-saver-skill

Skill 说明

命令、参数、文件名以原文为准

TokenSaver

一个用于优化 AI 令牌使用成本的技能,可在不牺牲响应质量的前提下帮助您节省 50%-80% 的令牌消耗。

何时使用

在以下情况使用 TokenSaver:

  • 长对话导致令牌消耗过高
  • 希望降低 AI API 使用成本
  • 处理技术性讨论,上下文信息持续累积
  • 发现长时间会话中令牌用量快速增长

核心功能

1. 智能上下文压缩

根据消息重要性自动压缩对话历史。

工作原理:

  • 最近 3-5 条消息完整保留
  • 旧消息按重要性评分进行摘要
  • 代码块和关键决策内容从不压缩

节省效果: 上下文令牌减少 50%-70%

2. 语义缓存

缓存相似查询的响应结果,避免重复处理。

工作原理:

  • L1:完全匹配查询 → 节省 100%
  • L2:语义相似度 > 85% → 节省 80%
  • L3:模式匹配 → 节省 50%

3. 自适应优化

根据令牌压力自动调整压缩程度。

阶段划分:

  • < 3K 令牌:不压缩
  • 3K–6K 令牌:轻度压缩
  • 6K–10K 令牌:中度压缩
  • > 10K 令牌:重度压缩 + 建议开启新对话

自然语言指令

当用户以自然语言询问 TokenSaver 时,系统将解析并执行相应操作:

设置与配置

用户说: "配置 TokenSaver" / "TokenSaver 设置" / "设置 TokenSaver"

动作: 显示当前配置及可选项

当前 TokenSaver 设置:
- 模式:自适应(根据令牌压力自动调整)
- 压缩级别:平衡
- 缓存:已启用
- 质量阈值:85%

可切换模式:
- /tokensave - 极端节省模式(最大节省)
- /tokenbalance - 平衡模式(默认)
- /tokenquality - 质量优先模式(最小压缩)

用户说: "使用极端节省模式" / "最大化节省" / "设为节省模式"

动作: 执行 /tokensave 命令

响应: "✅ TokenSaver 已切换至极端节省模式。可实现最高 80% 的令牌节省,轻微影响质量。"

用户说: "使用平衡模式" / "默认设置" / "设为平衡"

动作: 执行 /tokenbalance 命令

响应: "✅ TokenSaver 已切换至平衡模式。节省 50%-70%,同时保持响应质量。"

用户说: "优先质量" / "保留完整上下文" / "设为质量模式"

动作: 执行 /tokenquality 命令

响应: "✅ TokenSaver 已切换至质量优先模式。最小化压缩,最大限度保留上下文,适用于精度要求高的任务。"

用户说: "禁用 TokenSaver" / "关闭令牌节省" / "停止 TokenSaver"

动作: 执行 /tokenoff 命令

响应: "⏸️ TokenSaver 已临时禁用。随时可通过 /tokens 或请求重新启用。"

使用报告与分析

用户说: "给我看令牌使用报告" / "TokenSaver 统计数据" / "令牌报告"

动作: 执行 /tokenreport 命令

响应格式:

📈 TokenSaver 使用报告
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
本会话:
• 原始总令牌数:12,450
• 优化后总令牌数:4,358
• 节省令牌数:8,092(65%)
• 预估节省费用:$0.016
• 缓存命中次数:5
• 应用压缩次数:12

主要节省来源:
1. 上下文压缩:-6,200 令牌
2. 语义缓存:-1,500 令牌
3. 响应优化:-392 令牌

用户说: "TokenSaver 状态" / "我节省了多少?" / "令牌状态"

动作: 执行 /tokens 命令

响应格式:

💰 TokenSaver 状态
━━━━━━━━━━━━━━━━━━━━
当前会话:
• 节省比例:65%
• 原始令牌数:12,450
• 优化后令牌数:4,358
• 缓存命中次数:5

当前模式:平衡(自适应)
• 当前处于第 3 级压缩
• 质量评分:95%

用户说: "清除令牌缓存" / "重置缓存" / "清除 TokenSaver 缓存"

动作: 执行 /tokencache clear 命令

响应: "✅ TokenSaver 缓存已清除。后续查询将生成全新响应。"

解释与帮助

用户说: "什么是 TokenSaver" / "令牌节省如何工作?" / "解释 TokenSaver"

响应:

TokenSaver 是一项智能令牌成本优化技能,可帮助您节省 50%-80% 的 AI 令牌使用量。

核心功能:
1. 智能上下文压缩 - 对旧对话进行摘要,同时保留最新消息
2. 语义缓存 - 重用相似问题的响应结果
3. 自适应优化 - 根据对话长度自动调节压缩强度
4. 质量保障 - 不压缩代码、错误或关键信息

优势:
• 降低 50%-80% 的令牌成本
• 缓存加速响应速度
• 关键内容无质量损失
• 自动运行,无需手动干预

用户说: "TokenSaver 未生效" / "为何没有节省?" / "TokenSaver 未节省"

响应:

TokenSaver 可能未显示节省效果的原因包括:
1. 对话过短(< 3000 令牌)——压缩从 3K 开始触发
2. 当前处于质量优先模式——可通过 /tokensave 切换
3. 首次查询——缓存需随时间积累
4. 代码密集型对话——代码块从不压缩

建议开启更长的技术讨论,以观察显著节省效果!

最佳实践

用户说: "TokenSaver 最佳实践" / "如何有效使用 TokenSaver?" / "TokenSaver 使用技巧"

响应:

TokenSaver 最佳实践:

1. 用于调试/代码审查:
   使用 /tokenquality 模式以保留完整上下文

2. 用于研究/探索性讨论:
   使用 /tokensave 模式以实现最大节省(最高可达 80%)

3. 用于一般聊天:
   平衡模式(默认)最为合适

4. 何时开启新对话:
   若切换主题,建议新建对话以获得更好压缩效果

5. 监控建议:
   /tokens - 快速查看状态
   /tokenreport - 获取详细分析报告

斜杠命令

用于直接调用功能:

/tokens

显示当前状态与统计数据

会话节省率:65%
原始令牌数:12,450
优化后令牌数:4,358
缓存命中次数:3

/tokensave

启用激进保存模式

  • 最大化压缩
  • 适用于非常长的技术讨论
  • 可能存在轻微质量损失

/tokenbalance

平衡模式(默认)

  • 在保持质量的前提下实现良好节省
  • 适用于大多数使用场景

/tokenquality

优先质量模式

  • 压缩最小化
  • 最大化上下文保留
  • 当精度至关重要时使用

/tokenreport

生成详细的使用报告

已节省令牌数:8,092
预计节省成本:$0.016
应用压缩次数:12
缓存命中次数:5

/tokencache clear

清除所有缓存的回复

/tokenoff

临时禁用优化功能

使用示例

示例 1:长时间编程会话

用户:[20 轮关于 Python 的讨论]
TokenSaver:优化后从 15K 降至 4.5K 令牌(节省 70%)

示例 2:重复提问

用户:如何在 Python 中写入文件?
用户:Python 文件写入方法?
TokenSaver:L2 缓存命中 - 立即响应,消耗 0 令牌

示例 3:话题切换

用户:从讨论 Python 切换到 JavaScript...
TokenSaver:“检测到话题变更。是否开启新对话以保持上下文清晰?”
[是] [否]

安全特性

TokenSaver 永远不会压缩以下内容:

  • 代码块(始终完整保留)
  • 错误信息和堆栈跟踪
  • 用户标记为重要的消息
  • 高交叉引用的消息

质量保护机制:

  • 若质量下降超过 15%,自动回滚
  • 一键恢复至未压缩版本
  • 每次压缩均生成快照

配置

默认配置:

{
  "mode": "adaptive",
  "compression": "balanced",
  "cache": true,
  "qualityThreshold": 0.85
}

预期效果

对话类型节省令牌数质量影响
技术讨论(50 轮)70%极小
代码审查80%
非正式聊天75%
快速问答30-50%

局限性

  • 对话需超过 3000 令牌才开始压缩
  • 首次查询无法被缓存
  • 极短对话(少于 10 条消息)节省效果有限
  • 代码密集型对话最受益于智能引用机制

相关技能

  • shieldclaw:用于安全扫描
  • browser_visible:用于网页浏览
  • file_reader:用于读取本地文件
J
@jzming9

已收录 1 个 Skill

相关推荐