Install
openclaw skills install @thcjp/can-bus-toolkitopenclaw skills install @thcjp/can-bus-toolkit处理: 按照skill规范执行OTS外部时间戳同步操作,遵循单一意图原则。 输出: 返回OTS外部时间戳同步的执行结果,包含操作状态和输出数据。### 并行索引与批量验证
输入: 用户提供并行索引与批量验证所需的指令和必要参数。 处理: 按照skill规范执行并行索引与批量验证操作,遵循单一意图原则。 输出: 返回并行索引与批量验证的执行结果,包含操作状态和输出数据。### 篡改检测告警
输入: 用户提供多传输协议适配器所需的指令和必要参数。 处理: 按照skill规范执行多传输协议适配器操作,遵循单一意图原则。 输出: 返回多传输协议适配器的执行结果,包含操作状态和输出数据。### 审计报表与可视化
输入: 用户提供审计报表与可视化所需的指令和必要参数。 处理: 按照skill规范执行审计报表与可视化操作,遵循单一意图原则。### 增量同步与版本对比
输入: 用户提供增量同步与版本对比所需的指令和必要参数。 处理: 按照skill规范执行增量同步与版本对比操作,遵循单一意图原则。 输出: 返回增量同步与版本对比的执行结果,包含操作状态和输出数据。
解析用户指令,执行核心操作并返回处理结果。
输入: 用户提供操作指令和必要参数。
输出: 返回操作执行的结果。
指令解析与执行操作,处理输入数据并返回结果指令解析与执行相关配置参数进行设置| 组件 | 说明 | 关键参数 |
|---|---|---|
parser | 解析输入指令 | format, encoding |
processor | 执行核心处理逻辑 | mode, timeout |
output | 格式化输出结果 | format, encoding |
本skill还覆盖以下能力场景: 企业级数据溯源平、多传输协议适配与、总线工具包专业版、是一款面向团队与、企业的数据溯源平、在免费版三列协议、基础上、并行索引构建、与审计报表导出等、高级能力、核心能力、提升时间戳可信度、并行索引构建与批、支持百万级记录快、速检索、自动通知、审计报表导出、支持按时间与名称。这些能力在上述核心功能中均有对应处理逻辑。
金融场景要求每笔交易记录的时间戳由可信第三方背书。专业版将每条记录的WHEN提交到OTS服务,锚定到比特币区块链。审计时任何人可通过OTS验证工具独立确认时间戳的真实性。
数据湖中存储了数百万份文件,需要按内容查找特定版本。专业版构建哈希倒排索引后,查找时间从分钟级降至毫秒级。新增文件时增量更新索引,无需停机重建。
关键数据被意外或恶意修改后,业务方希望优秀时间感知。专业版定时全量校验哈希一致性,发现不匹配立即通过webhook推送告警到企业微信或Slack,并记录篡改详情供事后追溯。
多个Agent通过MCP工具协议协作处理数据。专业版的MCP工具适配器为每次流转的数据自动打戳,形成完整的溯源链条。事后可通过日志追溯任意一段数据在哪个Agent、何时、以什么内容流转。
季度审计时需要向审计团队提交数据流转记录。专业版导出HTML格式审计报表,包含CAN/NOT统计、时间线图表与异常事件列表,审计团队无需理解协议细节即可审阅。
预计上手时间:约120秒。
# 初始化索引数据库
python scripts/init_index.py --db can_index.db
# 创建配置文件
cat > config.yaml << 'EOF'
ots:
enabled: true
server: "https://a.pool.opentimestamps.org"
timeout: 30000
index:
dbPath: "can_index.db"
parallel: 4
increment: true
tamper:
checkInterval: 3600
alertWebhook: "${ALERT_WEBHOOK_URL}"
autoSnapshot: true
adapters:
- type: mcp
enabled: true
- type: http
enabled: true
port: 9100
report:
outputDir: "./reports"
formats: ["csv", "json", "html"]
EOF
python scripts/can_service.py --config config.yaml
# 为某条记录提交OTS时间戳
python scripts/ots_stamp.py --when 1742428800000 --where a7f3b2c1d4e5
# 验证OTS时间戳
python scripts/ots_verify.py --when 1742428800000 --where a7f3b2c1d4e5
# 全量构建索引
python scripts/build_index.py --log can.log --db can_index.db --parallel 4
# 按哈希查找
python scripts/lookup.py --where a7f3b2c1d4e5
# 导出HTML报表
python scripts/export_report.py --format html --range 2024-01-01:2024-03-31 --output ./reports/q1_audit.html
-events: 命令参数,用于指定操作选项--config: 命令参数,用于指定操作选项--range: 命令参数,用于指定操作选项| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| content | string | 是 | 相关说明 |
| content | string | 否 | 相关说明, 默认: 全部维度 |
| strict_level | string | 否 | 审查严格度, 可选: strict/normal/loose, 默认: normal |
{
"success": true,
"data": {
"overall_grade": "A",
"total_score": 92,
"max_score": 100,
"summary": "处理完成",
"details": [
{
"item": "代码风格",
"status": "pass",
"score": 95,
"comment": "符合规范"
},
{
"item": "安全合规",
"status": "warn",
"score": 80,
"comment": "符合规范"
}
],
"improvements": [
{
"priority": "high",
"suggestion": "建议优化",
"expected_gain": "+5分"
},
{
"priority": "medium",
"suggestion": "建议优化",
"expected_gain": "+3分"
}
]
},
"error": null
}
| 错误场景 | 原因 | 处理方式 |
|---|---|---|
| 配置错误 | 参数缺失或格式错误 | 检查依赖说明中的配置要求 |
| 运行时错误 | 运行环境不满足 | 确认运行环境符合依赖说明 |
| 网络错误 | 连接超时或不可达 | 执行ping命令测试网络连通性,检查防火墙和代理设置连接后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令,参考国内替代方案 |
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| Python | 运行时 | 必需 | python.org官方下载 |
| sha256sum | 系统命令 | 必需 | 操作系统内置 |
| OpenTimestamps | Python库 | 可选 | pip install opentimestamps-client |
| SQLite | 数据库 | 必需 | Python内置sqlite3模块 |
| LLM API | API | 必需 | 由Agent内置LLM提供 |
核心协议零外部依赖。OTS同步与并行索引为可选功能,按需安装依赖。
ALERT_WEBHOOK_URL环境变量注入ots:
enabled: true
server: "https://a.pool.opentimestamps.org"
fallback: "https://b.pool.opentimestamps.org"
timeout: 30000
retry: 3
batchSize: 100
tamper:
checkInterval: 3600
alertWebhook: "${ALERT_WEBHOOK_URL}"
alertEmail: "security@example.com"
autoSnapshot: true
snapshotDir: "./snapshots"
maxSnapshots: 30
adapters:
- type: mcp
enabled: true
autoStamp: true
- type: a2a
enabled: true
autoStamp: true
- type: http
enabled: true
port: 9100
endpoints: ["/api/v1/data"]
- type: mq
enabled: false
broker: "kafka://localhost:9092"
topic: "data-events"
| 参数 | 默认值 | 说明 |
|---|---|---|
index.dbPath | can_index.db | 索引数据库路径 |
index.parallel | 4 | 并行构建线程数 |
index.increment | true | 是否增量更新 |
index.cacheSize | 10000 | 内存缓存条目数 |
OTS服务偶尔不可用。配置中设置了fallback服务器与重试机制。若所有OTS服务器都不可用,记录会标记为"OTS待提交",后续可批量补提交。
调整index.parallel参数降低并行度。百万级记录建议parallel设为4-8,避免内存溢出。构建期间建议在低峰期执行。
首先确认是真篡改还是误报(如文件被正常更新但未重新打戳)。真篡改时查看快照回滚,误报时为更新后的数据重新打戳。
适配器拦截MCP工具协议的数据流转,在数据从一个MCP工具传递到另一个时自动计算哈希、记录时间戳并追加到日志,无需修改现有MCP工具代码。
使用scripts/merge_logs.py工具,按WHEN列排序合并多个日志文件,并重建索引。合并时自动去重(相同WHEN+WHERE视为重复)。
不需要。OTS验证只需下载对应的区块链头信息(约50MB),无需运行全节点。验证工具会自动从可信节点获取所需信息。
NOT比例高说明打戳流程不完整。检查数据生产环节,确认是否所有数据都经过三列打戳。可能是某条流水线遗漏了哈希计算或命名步骤。
可以。HTTP适配器可接收现有日志系统的webhook推送,自动为每条日志打戳。也可通过消息队列适配器消费现有日志流。
| 错误场景 | 原因 | 处理方式 |
|---|---|---|
| LLM响应超时或无响应 | 网络延迟或模型负载过高 | 执行ping命令测试网络连通性,检查防火墙和代理设置连接,执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令请求;确认Agent平台LLM服务正常 |
| 输入内容格式不正确 | 用户输入不符合skill预期格式 | 检查输入是否符合skill使用说明中的格式要求,参考示例章节 |
| 执行结果与预期不符 | 指令描述不够明确或上下文不足 | 提供更详细的指令描述,补充必要的上下文信息 |
| 命令执行失败 | 运行环境不满足要求或权限不足 | 确认运行环境符合依赖说明中的要求;检查命令权限设置 |