OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  context-optimizer:具备自动压实功能的高级上下文管理工具

context-optimizer:具备自动压实功能的高级上下文管理工具

 
  runtime ·  2026-02-05 15:57:27 · 3 次点击  · 0 条评论  

名称: context-optimizer
描述: 为 DeepSeek 的 64k 上下文窗口提供高级上下文管理,具备自动压缩和动态上下文优化功能。特性包括智能压缩(合并、总结、提取)、查询感知相关性评分以及带上下文归档的分层记忆系统。优化事件会记录到聊天中。
主页: https://github.com/clawdbot/clawdbot
元数据:
clawdbot:
emoji: "🧠"
requires:
bins: []
npm: ["tiktoken", "@xenova/transformers"]
install:
- id: npm
kind: npm
label: 安装 Context Pruner 依赖
command: "cd ~/.clawdbot/skills/context-pruner && npm install"


上下文修剪器

专为 DeepSeek 的 64k 上下文窗口优化的高级上下文管理工具。提供智能修剪、压缩和令牌优化,防止上下文溢出,同时保留重要信息。

核心特性

  • DeepSeek 优化:专门针对 64k 上下文窗口调优
  • 自适应修剪:基于上下文使用情况的多种策略
  • 语义去重:移除冗余信息
  • 优先级感知:保留高价值消息
  • 令牌高效:最小化令牌开销
  • 实时监控:持续跟踪上下文健康状况

快速开始

使用动态上下文进行自动压缩:

import { createContextPruner } from './lib/index.js';

const pruner = createContextPruner({
  contextLimit: 64000, // DeepSeek 的限制
  autoCompact: true,    // 启用自动压缩
  dynamicContext: true, // 启用基于相关性的动态上下文
  strategies: ['semantic', 'temporal', 'extractive', 'adaptive'],
  queryAwareCompaction: true, // 基于当前查询相关性进行压缩
});

await pruner.initialize();

// 使用自动压缩和动态上下文处理消息
const processed = await pruner.processMessages(messages, currentQuery);

// 获取上下文健康状态
const status = pruner.getStatus();
console.log(`上下文健康度: ${status.health}, 相关性分数: ${status.relevanceScores}`);

// 需要时手动压缩
const compacted = await pruner.autoCompact(messages, currentQuery);

归档检索(分层记忆):

// 当信息不在当前上下文中时,搜索归档
const archiveResult = await pruner.retrieveFromArchive('关于先前对话的查询', {
  maxContextTokens: 1000,
  minRelevance: 0.4,
});

if (archiveResult.found) {
  // 将相关片段添加到当前上下文
  const archiveContext = archiveResult.snippets.join('\n\n');
  // 在提示中使用 archiveContext
  console.log(`找到 ${archiveResult.sources.length} 个相关来源`);
  console.log(`从归档中检索到 ${archiveResult.totalTokens} 个令牌`);
}

自动压缩策略

  1. 语义压缩:合并相似消息而非删除
  2. 时序压缩:按时间窗口总结较旧的对话
  3. 提取式压缩:从冗长消息中提取关键信息
  4. 自适应压缩:根据消息特征选择最佳策略
  5. 动态上下文:基于与当前查询的相关性过滤消息

动态上下文管理

  • 查询感知相关性:基于与当前查询的相似性为消息评分
  • 相关性衰减:较旧对话的相关性分数随时间衰减
  • 自适应过滤:自动过滤低相关性消息
  • 优先级整合:结合消息优先级与语义相关性

分层记忆系统

上下文归档提供类似 RAM 与存储的架构:

  • 当前上下文 (RAM):有限(64k 令牌),快速访问,自动压缩
  • 归档 (存储):更大(100MB),较慢但可搜索
  • 智能检索:当信息不在当前上下文时,高效搜索归档
  • 选择性加载:仅提取相关片段,而非整个文档
  • 自动存储:压缩后的内容自动存入归档

配置

{
  contextLimit: 64000, // DeepSeek 的上下文窗口
  autoCompact: true, // 启用自动压缩
  compactThreshold: 0.75, // 在 75% 使用率时开始压缩
  aggressiveCompactThreshold: 0.9, // 在 90% 时进行激进压缩

  dynamicContext: true, // 启用动态上下文管理
  relevanceDecay: 0.95, // 相关性每步衰减 5%
  minRelevanceScore: 0.3, // 保留的最小相关性分数
  queryAwareCompaction: true, // 基于当前查询相关性进行压缩

  strategies: ['semantic', 'temporal', 'extractive', 'adaptive'],
  preserveRecent: 10, // 始终保留最后 N 条消息
  preserveSystem: true, // 始终保留系统消息
  minSimilarity: 0.85, // 语义相似度阈值

  // 归档设置
  enableArchive: true, // 启用分层记忆系统
  archivePath: './context-archive',
  archiveSearchLimit: 10,
  archiveMaxSize: 100 * 1024 * 1024, // 100MB
  archiveIndexing: true,

  // 聊天日志
  logToChat: true, // 将优化事件记录到聊天
  chatLogLevel: 'brief', // 'brief'(简要)、'detailed'(详细)或 'none'(无)
  chatLogFormat: '📊 {action}: {details}', // 聊天消息格式

  // 性能
  batchSize: 5, // 批处理的消息数量
  maxCompactionRatio: 0.5, // 单次压缩的最大比例(50%)
}

聊天日志记录

上下文优化器可以将事件直接记录到聊天:

// 示例聊天日志消息:
// 📊 上下文已优化:将 15 条消息压缩为 8 条(减少 47%)
// 📊 归档搜索:找到 3 个相关片段(相似度 42%)
// 📊 动态上下文:过滤了 12 条低相关性消息

// 配置日志记录:
const pruner = createContextPruner({
  logToChat: true,
  chatLogLevel: 'brief', // 选项:'brief'、'detailed'、'none'
  chatLogFormat: '📊 {action}: {details}',

  // 自定义日志处理器(可选)
  onLog: (level, message, data) => {
    if (level === 'info' && data.action === 'compaction') {
      // 发送到聊天
      console.log(`🧠 上下文已优化:${message}`);
    }
  }
});

与 Clawdbot 集成

添加到你的 Clawdbot 配置:

skills:
  context-pruner:
    enabled: true
    config:
      contextLimit: 64000
      autoPrune: true

修剪器将自动监控上下文使用情况,并应用适当的修剪策略,以确保保持在 DeepSeek 的 64k 限制内。

3 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor