Token导航 LogoToken导航TokenDH.com
研究检索需要联网clawhub未标认证来源可访问clear审计通过

tool-result-size-controller工具结果尺寸控制器

Agent Skill

tool-result-size-controller 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

3,421

周安装

144

GitHub Stars

公开资料未说明

下载量

1,198
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:tool-result-size-controller(工具结果尺寸控制器)
来源仓库:https://github.com/suda6632/tool-result-size-controller
安装命令:
openclaw skills install tool-result-size-controller
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install tool-result-size-controller

简介

自动判断工具结果大小,超阈值时gzip压缩落盘并返回文件元数据,保护对话上下文窗口免受大数据干扰

SKILL.md

Tool Result Size Controller

大结果自动落盘,保护上下文窗口 参考Claude Code的maxResultSizeChars机制

背景问题

原生OpenClaw工具返回大结果时:

  • 直接回显到对话上下文
  • 大JSON数据导致token爆炸
  • 影响后续对话质量

根因:缺乏Claude Code的maxResultSizeChars保护机制

解决方案

自动落盘机制

from tool_result_size_controller import maybe_spill, ToolResultWrapper

# 方式1:便捷函数
result = maybe_spill(large_data, tool_name="search_results", threshold=10000)
# 如果结果>10000字符,自动写入磁盘,返回文件路径

# 方式2:装饰器
@ToolResultWrapper("my_tool", threshold=5000)
def my_tool_func(*args, **kwargs):
    return large_result

返回格式

小结果(≤阈值):直接返回原数据

{"key": "value"}  # 直接返回

大结果(>阈值):返回元数据

{
  "spilled": true,
  "file_path": "/path/to/result-20260403-a1b2c3d4.json.gz",
  "size_chars": 15000,
  "size_bytes": 4500,
  "content_hash": "a1b2c3d4",
  "preview": "前500字符预览..."
}

智能压缩

  • 大结果自动gzip压缩(>10KB)
  • 节省磁盘空间
  • 透明解压读取

配置参数

参数默认值说明
DEFAULT_THRESHOLD10000字符阈值,超过则落盘
MAX_AGE_DAYS7结果文件保留天数
RESULTS_DIRtmp/tool-results/落盘目录

使用方式

Python API

from tool_result_size_controller import (
    maybe_spill,
    load_spilled_result,
    cleanup_old_results
)

# 1. 包装结果(自动判断是否落盘)
result = maybe_spill(large_data, "my_tool", threshold=8000)

# 2. 读取落盘结果
if result.get("spilled"):
    data = load_spilled_result(result["file_path"])
    
# 3. 清理过期文件(cron定期执行)
deleted = cleanup_old_results(max_age_days=7)

Skill集成

在SKILL.md中声明:

whenToUse: |
  工具返回大结果可能超过10000字符时
  使用本技能自动落盘,保护上下文窗口
permissions:
  - file:write (tmp/tool-results目录)
  - file:read (读取落盘结果)

日志审计

落盘日志 (logs/tool-size.log)

[2026-04-03 15:20:00] search_results: spilled=15000_chars >> tmp/tool-results/...
[2026-04-03 15:20:01] small_query: direct_return (500_chars)
[2026-04-03 15:20:02] cleanup: deleted 3 old files

最佳实践

  1. 默认使用:大多数返回不确定大小数据的工具
  2. 阈值调整

- 快速查询:5000字符 - 标准工具:10000字符 - 大文件处理:50000字符

  1. 定期清理:cron任务每日清理过期结果
  2. 预览友好:始终返回前500字符预览,便于快速判断

关联

  • 架构设计:memory/learnings/claude-code-architecture-2026-04-03.md
  • 并发安全:skills/agent-concurrency-controller/
  • 安全编辑:skills/safe-file-editor/

版本

  • v1.0.0 (2026-04-03): 初始实现,参考Claude Code maxResultSizeChars

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

73.45%
按下载量换算880

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills