Agent Skills
› ZJU-REAL/Easel
› text-condenser
text-condenser
GitHub将长文本压缩至指定字数,支持严格裁剪、摘要和金句提取三种模式。通过优先级分析筛选核心信息,利用脚本校验字数达标,适配微博等平台限制,保留关键内容并生成压缩报告。
Trigger Scenarios
裁到 140 字
压缩一下
太长了
摘要
精简
缩写
字数裁剪
帮我缩短
提炼要点
Install
npx skills add ZJU-REAL/Easel --skill text-condenser -g -y
SKILL.md
Frontmatter
{
"name": "text-condenser",
"layer": "produce",
"description": "字数裁剪\/摘要:把长文本压缩到指定字数,保留核心信息。支持硬裁剪(严格字数)、 摘要(保留要点)、金句提取(只保留最精华的句子)三种模式。 特别适合从长文生成平台适配的短文。 使用时机:用户说\"裁到 140 字\"、\"压缩一下\"、\"太长了\"、\"摘要\"、\"精简\"、 \"缩写\"、\"字数裁剪\"、\"帮我缩短\"、\"提炼要点\"。 和 text-polisher 的区别:polisher 润色文案不改长度,condenser 压缩篇幅不做质量提升。"
}
字数裁剪/摘要
把长文本压缩到指定字数,保留核心信息,适配不同平台的字数限制。
输入
| 字段 | 必填 | 说明 |
|---|---|---|
text |
是 | 待压缩的原文 |
target_length |
否 | 目标字数(如 140、280、500);不指定则自动压缩到原文 30%-50% |
mode |
否 | 压缩模式:strict / summary / extract(默认 summary) |
platform |
否 | 目标平台(自动设定字数限制):weibo(140) / twitter(280) / xiaohongshu(1000) / zhihu_answer(自由) |
preserve |
否 | 必须保留的关键信息/关键词列表 |
tone |
否 | 压缩后的语气倾向:neutral(默认)/ punchy(有力)/ soft(柔和) |
压缩模式说明
| 模式 | 行为 | 适用场景 |
|---|---|---|
strict |
严格控制在目标字数 ±5%,逐字斟酌 | 有硬性字数限制的平台(微博、Twitter) |
summary |
保留所有要点,允许字数浮动 ±15% | 生成摘要、文章导语 |
extract |
只提取原文中最精华的原句,不改写 | 金句提取、精华摘录 |
输出
- 压缩后的文案
- 压缩报告:原文字数、目标字数、实际字数、压缩率、保留的核心要点列表
- 写入
outputs/目录
执行步骤
字数以脚本为准:字数统计和达标判定一律用
skills/shared/scripts/wordcount.py, 不靠自己数。LLM 负责改写,脚本负责判定。 社媒计数口径(social_count)= 中文字符 + 英文单词 + 数字串 + 标点。
Step 1 — 原文分析
- 统计原文字数:
python3 skills/shared/scripts/wordcount.py count -f <原文>(或经 stdin 传入) - 提取核心信息结构:
- 中心论点 / 核心事实
- 关键论据 / 支撑数据
- 次要信息 / 补充说明
- 修饰性内容 / 过渡句
- 对每条信息标注优先级(P0 必留 / P1 尽量留 / P2 可删)
Step 2 — 裁剪策略
根据保留率(目标字数 / 原文字数)选择策略:
| 保留率 | 策略 | 说明 |
|---|---|---|
| > 70% | 轻度删减 | 删冗余修饰、合并重复表达 |
| 40%-70% | 中度压缩 | 删 P2 信息、精简句式、合并相似段落 |
| 20%-40% | 重度压缩 | 只留 P0/P1、改写为高密度表达 |
| < 20% | 极限压缩 | 只留 P0、一句话概括 |
Step 3 — 执行压缩
按 mode 执行:
strict 模式(脚本兜底,闭环调整):
- 先裁到目标字数的 120%
- 逐句精简,去掉每句中可删的词
- 调用脚本校验:
python3 skills/shared/scripts/wordcount.py check --target <N> -f <文件>(或经 stdin 传入)- 退出码 0 = 达标;非 0 = 未达标,脚本会给出「还需增/删 X 字」
- 平台硬限制默认 ±5%,可用
--tolerance调整(如--tolerance 0.1)
- 未达标则继续改写并重新 check,直到脚本判定 pass(退出码 0),不得凭感觉收尾
- 确认无断句、无残句
summary 模式:
- 按信息优先级筛选内容
- 用自己的话重写,不受原文句式约束
- 确保逻辑连贯、可独立阅读
extract 模式:
- 对每句打分(信息密度 x 表达质量)
- 按得分降序选句,直到接近目标字数
- 调整句序使其连贯
- 不改写原句(最多做衔接过渡)
Step 4 — 质量检查
- 字数是否达标:strict 模式必须以
wordcount.py check退出码 0 为准;其他模式用wordcount.py count核对是否落在容差范围 preserve中的关键信息是否全部保留- 压缩后是否可独立阅读(不需要看原文就能理解)
- 是否有信息失真(压缩导致意思改变)
- 句子是否完整(无残句、无悬空指代)
Step 5 — 输出压缩报告
压缩报告:
- 原文: 2,350 字
- 目标: 500 字
- 实际: 487 字 (压缩率 79.3%,压缩率 = 已删减比例 = 1 − 实际/原文)
- 模式: summary
- 保留要点:
1. [P0] 核心论点 — 已保留
2. [P0] 关键数据 — 已保留
3. [P1] 案例说明 — 已精简
4. [P2] 背景介绍 — 已删除
Profile 感知
- 有 Profile:从
style.md读取品牌调性,压缩时保持一致的语言风格;参考platforms.md中的平台偏好,自动匹配最常用平台的字数规范 - 无 Profile:按用户指定的参数压缩;未指定平台时默认
summary模式,压缩到原文 30%-50%
自研溯源与参考项目见同目录
EASEL-META.md。
Version History
- 69c5928 Current 2026-09-08 17:40


