安全扫描
OpenClaw
安全
high confidence技能实现与描述总体一致:它只是构建并输出用于“语义压缩”的提示词/工具,没有请求凭证或外部下载;存在少量文档/版本不一致但没有明显恶意行为。
评估建议
这个技能在安全面上没有明显恶意或不相称的要求,但请注意:
- 文档里提到的 python 脚本 (scripts/compress.py) 实际不存在,版本号在 registry (1.0.1) 与 package.json/index.js (1.0.0) 有不一致——属于文档/发布管理问题而非安全问题。建议在生产使用前修正这些不一致并测试。
- 该技能并不自带模型调用:它生成并返回用于压缩的 prompt。把提示词交给何种 LLM(第三方云服务或内部部署)由你决定;将敏感对话或机密数据发送到第三方 LLM 会产生数据外泄风险,使用前确认目标模型/服务的合规性与隐私策略。
- 声称“100% 保留关键信息、不降低准确度”的绝对保证在实践中可能不成立——在关键场景建议先做验证(用压缩前后能否回答关键问题的二次验证)。
如果你要安装:先在隔离环境中运行 scripts/compress.js 的命令行示例、调用 semanticCompress API 并检验输出是否满足你的准确性要求;如需自动化或在企业环境使用,建议将提示仅发往受控/内部模型。详细分析 ▾
✓ 用途与能力
技能名称、描述、SKILL.md、代码和提示词都围绕“用大模型做语义压缩”展开;所需资源为零,和声明的用途相符。
ℹ 指令范围
运行时指令和代码仅生成压缩用的提示词(COMPRESSION_PROMPT)并返回/写入文件,不包含发送到任何外部端点或读取除指定输入文件外的系统路径。注意文档提到 'python scripts/compress.py',但仓库中没有该脚本——文档与实现有不一致。
✓ 安装机制
无安装规范(instruction-only + 小量本地 JS 脚本),package.json 无依赖,未从不明 URL 下载或提取任何内容,风险很低。
✓ 凭证需求
不请求任何环境变量、凭证或配置路径。代码不会尝试读取未声明的凭证或访问外部服务。
✓ 持久化与权限
flags 显示 always:false,技能无自动持久化或修改其他技能配置的行为;它不会自动运行任何网络/系统级动作。
安全有层次,运行前请审查代码。
运行时依赖
无特殊依赖
版本
latestv1.0.12026/4/10
- Adjusted documentation by removing the security disclaimer about the absence of malicious code and data collection modules. - No functional or code changes; only SKILL.md content was updated for clarity and conciseness.
● 无害
安装命令 点击复制
官方npx clawhub@latest install semantic-compress
镜像加速npx clawhub@latest install semantic-compress --registry https://cn.clawhub-mirror.com
技能文档
在不降低准确度的前提下,大幅减少token消耗(通常减少 50%-70%)
核心思想
Token 浪费的主要原因是文本冗余:
- 对话历史中大量客套话、重复确认、过程性描述
- 长文章中大量修饰性、铺垫性话语
- 重复说明相同的背景信息
语义压缩不是简单摘要,而是提取完整语义骨架,保留所有关键信息,只去除冗余废话。因此不会降低准确度,只是让文本更紧凑。
什么时候用
- ✅ 长对话历史上下文压缩
- ✅ 长文章/文档总结但保留全部要点
- ✅ 多轮对话后清理上下文,节省token
- ✅ 保存历史对话到长期记忆时压缩
- ✅ 批量处理文本减少prompt体积
什么时候不用
- ❌ 原文已经很精简(<500 token)
- ❌ 需要保留原始完整文本供后续查阅
- ❌ 诗歌、文学作品等需要保留原文修辞
压缩原则(不降低准确度)
- 保留所有关键信息:论点、结论、决策、数据、关键事实都必须完整保留
- 去除所有冗余:客套话、重复说明、过程性废话、修饰性铺垫都删掉
- 保持逻辑连贯:压缩后仍然是完整可理解的文本,逻辑关系不变
- 分层压缩:最新对话完整保留,历史对话只压缩保留结论
使用方式
命令行调用
node scripts/compress.js input.txt [output.txt]
# 或者
python scripts/compress.py input.txt
API 调用
const { semanticCompress } = require('./index.js');
const result = semanticCompress(text, {
targetCompression: 0.5, // 目标压缩率(保留原体积的百分比)
preserveAccuracy: true // 是否强制保证准确度
});
console.log(result.compressed);
console.log(压缩率: ${result.compressedLength / result.originalLength * 100}%);
效果示例
| 原始token | 压缩后token | 压缩率 | 准确度 |
|---|---|---|---|
| 2000 | 600 | 30% | 完整保留 |
| 10000 | 3000 | 30% | 完整保留 |
| 5000 | 2000 | 40% | 完整保留 |
优势对比
| 方法 | Token减少 | 准确度保留 | 推荐度 |
|---|---|---|---|
| 全文保留 | 0% | ✅ 100% | 不推荐(浪费token) |
| 摘要总结 | 70%-90% | ❌ 丢失细节 | 不适合需要准确度的场景 |
| 关键词提取 | 80% | ❌ 丢失逻辑关联 | 不推荐 |
| 语义压缩 | 50%-70% | ✅ 完整保留关键信息 | 推荐 |
实现原理
- 使用大模型作为压缩器
- 系统提示词明确要求"保留全部关键信息,只删冗余"
- 输出结构化压缩文本
- 可选择二次验证:压缩后的文本能否回答原文本能回答的问题
分层压缩策略(对话历史)
对于多轮对话:
- 最近 3-5轮:完整保留,不压缩(保证当前对话连贯性)
- 更早的对话:只压缩保留 关键结论、决策、重要信息,过程性对话删除
这样既保证当前对话流畅,又大幅减少总token消耗。
数据来源:ClawHub ↗ · 中文优化:龙虾技能库
OpenClaw 技能定制 / 插件定制 / 私有工作流定制
免费技能或插件可能存在安全风险,如需更匹配、更安全的方案,建议联系付费定制