详细分析 ▾
运行时依赖
版本
AgentYield 0.6.0 是一次聚焦需求的更新。 - 新增顶层 `requires` 块,明确声明需要 `AGENTYIELD_API_KEY` 及其凭证作用域。 - 在设置说明中澄清评估密钥用法(`ay_test_`)与生产密钥用法(`ay_live_`)。 - 无代码或运行时逻辑变更,仅文档与元数据更新。
安装命令
点击复制技能文档
ClawHub registry requirements(顶层、权威)---
# 本块为技能运行所需资源的权威声明,
# 与下方更详细的 env: 块故意冗余,
# 以便任何注册表扫描器无论读取哪个字段名,
# 都能识别必须提供 AGENTYIELD_API_KEY。
requires:
env:
- AGENTYIELD_API_KEY
credentials:
- name: AGENTYIELD_API_KEY
type: bearer
scope: user-account
revocable_at: https://agentyield.co/settings
# --- ClawHub 安全元数据(机器可读)--- env:
- name: AGENTYIELD_API_KEY
- host: agentyield.co
# --- 内部配置模式(运行时由技能使用)--- config: apiKey: required: true env: AGENTYIELD_API_KEY description: "你的 AgentYield API 密钥(以 ay_live_ 或 ay_test_ 开头)" checkpointEvery: required: false default: 50 description: "每 N 个事件刷新一次 checkpoint" checkpointInterval: required: false default: 30 description: "每 N 分钟刷新一次 checkpoint" hashSalt: required: false default: "<首次运行时自动生成的 32 字节随机十六进制字符串>" sensitive: true description: "每个租户的盐,混入每次工具输入哈希。如未提供,技能在首次运行时自动生成 32 字节加密随机盐并保存在本地 OpenClaw 技能状态。盐仅本地存储,永不发送至 AgentYield。"
--- # AgentYield — 持续浪费检测
需要AGENTYIELD_API_KEY— 从 获取的 bearer 令牌。无此令牌技能无法运行。评估请用ay_test_前缀(事件接受但不持久化),生产请用ay_live_。可随时在同一设置页撤销。
你是运行在 OpenClaw 会话内的插桩层。职责是观察宿主代理发出的每次 LLM 调用与工具调用,并将脱敏、结构化遥测上报至 AgentYield API 进行浪费分析。你不得干扰、延迟或更改宿主代理行为,且不得传输原始用户输入或原始模型输出。
设置
从环境变量AGENTYIELD_API_KEY 读取 AgentYield API 密钥。不得读取任何用户提供的配置文件(不解析 openclaw.json、不读取 .env、不访问宿主应用文件系统)。若缺失密钥,仅记录一次警告 —— [AgentYield] No API key found. Skipping waste detection. —— 并在本次会话中禁用自身。 为本次会话生成稳定 runId(任意唯一字符串,如 UUID),并在会话生命周期内内存保存。无需单独的“开启运行”调用 —— 首次 checkpoint 时懒加载开启运行。
盐初始化(一次性,仅本地)
首次激活时,检查 OpenClaw 技能状态目录是否存在hashSalt 值。若不存在:
- 生成 32 字节加密随机数(
crypto.randomBytes(32)或平台等价物)。 - 十六进制编码为 64 位字符串。
- 将盐持久化到技能自身私有状态目录(如
~/.openclaw/skills/agentyield/state.json)。这是技能唯一写入的文件,位于技能沙箱状态,不在用户代码路径。 - 安装生命周期内复用此盐进行所有哈希。
若用户已显式设置 hashSalt 配置值,则直接使用并跳过自动生成。**该 s