skills-experimental/compact-service/SKILL.md
# Compact Service Skill 对话压缩服务核心逻辑 - 生成摘要保留recent history,PTL重试作为安全阀。 ## 功能概述 从Claude Code的compact.ts提取的对话压缩模式,用于OpenClaw的长对话管理。 ## 核心机制 ### 预处理 ```typescript stripImagesFromMessages(messages) // [image]/[document]标记 stripReinjectedAttachments(messages) // 移除skill_discovery/skill_listing ``` ### PTL Retry(Prompt Too Long Escape Hatch) CC-1180的最后防线 - 当compact请求本身超长时truncate最老内容: ```typescript truncateHeadForPTLRetry(messages, ptlResponse): // 按API-round分组 // 计算tokenGap从PTL error
npx skillsauth add bianhaifeng789-hue/openclaw-config skills-experimental/compact-serviceInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
对话压缩服务核心逻辑 - 生成摘要保留recent history,PTL重试作为安全阀。
从Claude Code的compact.ts提取的对话压缩模式,用于OpenClaw的长对话管理。
stripImagesFromMessages(messages) // [image]/[document]标记
stripReinjectedAttachments(messages) // 移除skill_discovery/skill_listing
CC-1180的最后防线 - 当compact请求本身超长时truncate最老内容:
truncateHeadForPTLRetry(messages, ptlResponse):
// 按API-round分组
// 计算tokenGap从PTL error
// 丢弃最老groups直到覆盖gap
// 最大3次retry
// 合成user marker: '[earlier conversation truncated for compaction retry]'
默认启用,98%命中率:
promptCacheSharingEnabled = getFeatureValue_CACHED_MAY_BE_STALE(
'tengu_compact_cache_prefix',
true
)
POST_COMPACT_MAX_FILES_TO_RESTORE = 5
POST_COMPACT_TOKEN_BUDGET = 50_000
POST_COMPACT_MAX_TOKENS_PER_FILE = 5_000
POST_COMPACT_MAX_TOKENS_PER_SKILL = 5_000
POST_COMPACT_SKILLS_TOKEN_BUDGET = 25_000
保留头部,标记截断:
SKILL_TRUNCATION_MARKER = '[... skill content truncated; use Read if needed]'
truncateToTokens(content, maxTokens) // ~4 chars/token估算
createCompactBoundaryMessage(trigger, preCompactTokens, lastUuid)
compactMetadata: {
preCompactDiscoveredTools: [...],
preservedSegment: { headUuid, anchorUuid, tailUuid }
}
'from': 从pivot向后摘要,保留前部(cache prefix保留)'up_to': 到pivot向前摘要,保留尾部(cache失效){
"preCompactTokens": 95000,
"threshold": 80000,
"trigger": "auto",
"filesRestored": ["MEMORY.md", "AGENTS.md"],
"ptlRetryCount": 0
}
autoCompact.ts中的熔断器 - 连续失败时暂停自动压缩。
重新注入:
services/compact/compact.tsbusiness
IAA 日报飞书输出能力。 支持把固定 CSV 模板一键转换成: - 中文运营结论 - 飞书卡片 JSON - 飞书发送载荷 Use when: - 需要把 IAA 日报直接发到飞书 - 需要从 CSV 一键生成运营日报
data-ai
IAA日报分析模型 功能: - 渠道日报自动分析 - 小时级+日级ROI联动判断 - 按地区输出加量/降量/停投建议 - 按产品类型输出阈值 - 自动识别利润区/观察区/止损区 Use when: - 分析每天投放数据 - 生成运营日报结论 - 判断是否加量/降量/停投 - 对比美加澳/日韩表现 Keywords: - 日报模型, 投放日报, 加量, 降量, 停投, ROI日报, 分地区分析
data-ai
IAA固定日报分析模板 功能: - 固定字段模板(可直接贴每天数据) - 自动输出总盘结论 - 自动输出美加澳/日韩结论 - 自动给出加量/降量/停投建议 - 适配文件修复/清理两类产品 Use when: - 需要固定日报格式 - 每天复盘渠道表现 - 给运营团队出统一结论 Keywords: - 固定模板, 日报模板, ROI模板, IAA日报, 运营模板
development
# HyperlinkPool Pattern Skill HyperlinkPool Pattern - HyperlinkPool class + strings array + stringMap + Index 0 no hyperlink + intern(hyperlink) + get(id) + undefined handling + 5-minute reset + OSC8 hyperlink interning。 ## 功能概述 从Claude Code的ink/screen.ts提取的HyperlinkPool模式,用于OpenClaw的OSC8超链接池管理。 ## 核心机制 ### HyperlinkPool Class ```typescript export class HyperlinkPool { private strings: string[] = [''] // Index 0 = no hyperlink private stringMap = new Map<string, number>() // strings