记录所有工具调用(执行前后),用于审计、调试、统计和错误追踪,并对敏感数据脱敏。
审计日志钩 - 工具调用审计
功能概述
审计日志钩 - 工具调用审计是一项面向实际任务的技能,主要用于通过前 too call和后 too call hooks 记录所有工具调用, 用于:. 安全审计;Usage 统计。
核心要点
- 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
- 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
- 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。
使用与执行
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
结果检查与注意事项
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
审计日志钩子 — 工具调用审计
目的
通过 before_tool_call 和 after_tool_call 钩子记录所有工具调用,用于:
- 安全审计
- 问题调试
- 使用情况统计
- 错误追踪
实现方式
在插件中注册钩子:
// 审计日志文件路径
const AUDIT_LOG = path.join(process.env.OPENCLAW_STATE_DIR || '~/.openclaw', 'audit.log');
api.registerHook("before_tool_call", async ({ event, ctx }) => {
const entry = {
ts: new Date().toISOString(),
event: "before_tool_call",
tool: event.tool.name,
params: JSON.stringify(event.tool.params).slice(0, 500),
session: ctx.sessionKey,
user: ctx.session?.senderId || 'unknown'
};
console.log("[AUDIT]", JSON.stringify(entry));
return {};
});
api.registerHook("after_tool_call", async ({ event, ctx }) => {
const entry = {
ts: new Date().toISOString(),
event: "after_tool_call",
tool: event.tool.name,
result: String(event.result).slice(0, 200),
error: event.error?.message || null,
duration: event.durationMs,
session: ctx.sessionKey
};
console.log("[AUDIT]", JSON.stringify(entry));
return {};
});
日志格式
{"ts":"2026-04-01T23:00:00.000Z","event":"before_tool_call","tool":"exec","params":"{\"command\":\"ls -la\"}","session":"agent:main:feishu:direct:ou_xxx","user":"ou_xxx"}
{"ts":"2026-04-01T23:00:00.050Z","event":"after_tool_call","tool":"exec","result":"total 8\n\ndrwxr-xr-x 12 dc staff 384 Apr 1 23:00","error":null,"duration":50,"session":"agent:main:feishu:direct:ou_xxx"}
敏感数据处理
自动脱敏敏感字段:
function redactSensitive(obj) {
const sensitive = ['apiKey', 'token', 'password', 'secret'];
for (const key of Object.keys(obj)) {
if (sensitive.some(s => key.toLowerCase().includes(s))) {
obj[key] = '[REDACTED]';
}
}
return obj;
}
统计分析
定期分析 audit.log:
# 统计工具调用次数 grep "before_tool_call" audit.log | jq -r .tool | sort | uniq -c | sort -rn # 统计错误次数 grep "after_tool_call" audit.log | jq -r '.error' | grep -v null | wc -l # 统计会话数 grep "before_tool_call" audit.log | jq -r .session | sort -u | wc -l
热门AI工具
相关专题
AionClaw专题整理AI智能体与电脑自动化相关功能使用教程,涵盖安装部署、AI任务执行、Skills技能、文件处理、浏览器控制、电脑操作、持久记忆、聊天工具连接以及办公、编程和内容创作等功能,帮助用户快速掌握AionClaw的实际使用方法。
0
2026.09.20
PHP中文网特设OpenClaw免费大模型专区,提供详尽调用指南。涵盖免费API申请、模型配置及本地部署教程,助您零成本畅享AI智能体验。无论是新手入门还是进阶应用,这里都有实用干货,轻松跨越创作门槛,开启高效智能办公新方式。
79
2026.06.29
本专题专为零基础用户设计,带你从环境搭建到实战应用,系统掌握开源AI Agent OpenClaw。内容涵盖Node.js/Docker安装、API配置、Skills技能扩展及多平台集成,通过整理文件、自动化办公等真实案例,助你快速上手。无论你是想提升效率的职场人还是技术爱好者,都能在此找到从入门到精通的完整路径,打造专属的本地化AI助手。
302
2026.05.06
《OpenClawAI硬件指南最新版》合集聚焦AI硬件入门与进阶,从核心组件解析到实战搭建,系统讲解算力配置、设备选型与优化方案。内容通俗易懂,适合开发者与科技爱好者快速掌握AI硬件要点,构建高效稳定的智能计算环境。
308
2026.03.20
围绕龙虾OpenClawAI使用中的安全风险,本合集系统梳理常见漏洞与隐患,提供实用防护方法与最新安全指南,帮助用户在稳定运行的同时规避风险,提升整体使用安全性与体验。
89
2026.03.20
OpenClawAI Skills 是 OpenClaw 智能体的核心功能模块,用于定义和管理 AI 可执行的具体能力,如查询天气、发送消息、操作文件等。通过技能系统,用户可灵活扩展智能体功能,实现高度定制化的自动化任务。
338
2026.03.20
《OpenClawAI初学者教程:如何使用和设置》是一套面向新手的入门指南,涵盖环境搭建、基础配置、模型加载及简单推理操作。通过本教程,你将快速掌握OpenClawAI的核心功能,轻松开启AI开发之旅。
61
2026.03.19
本合集涵盖2026最新版OpenClaw(小龙虾)本地部署全流程,适用于Windows系统,包含环境配置、模型接入、Web界面启动及飞书/Telegram/QQ等多平台对接。无论你是小白还是开发者,10分钟内即可完成安装,快速体验AI智能体“长手干活”的强大能力!
101
2026.03.19
《OpenClaw如何卸载?OpenClawAI小龙虾安全卸载最新指南》为您提供详尽、安全的卸载步骤,帮助用户彻底移除OpenClaw及其相关组件。本指南针对Windows与macOS系统分别说明操作流程,涵盖停止后台进程、清除配置文件、删除残留数据等关键环节,确保无痕卸载,避免系统冲突或隐私泄露。无论您是因更换工具、解决兼容问题,还是出于安全考虑,本文都将助您高效、安心地完成卸载操作。请务必按照最新版本指引执行,以保障设备稳定与数据安
60
2026.03.19
热门下载
相关下载
精品课程
共1课时 | 164人学习
共0课时 | 0人学习
共1课时 | 205人学习
最新文章