Install
openclaw skills install @thcjp/can-freeopenclaw skills install @thcjp/can-freeCAN免费版是一款基于Clock Address Naming(CAN)协议的内容寻址工具,它通过独特的时间戳、内容哈希和可读名称的三列记录方式,为用户提供了一种高效、可靠的内容管理解决方案。
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| input | string | 是 | 待处理的内容数据或指令 |
| options | object | 否 | 可选配置参数,例如模式选择、格式偏好等 |
| callback_url | string | 否 | 异步处理完成后的回调通知URL |
CAN免费版旨在解决以下三个常见问题:
每条事件记录包含以下三列信息:
CAN免费版通过三列协议记录事件,每条记录包含WHEN、WHERE和WHAT信息。
对内容进行SHA256哈希计算,以确保内容的唯一性和不可篡改性。
支持本地append-only日志,确保数据的安全性和不可篡改性。
通过WHEN、WHERE、WHAT三列记录,自动进行自评估,验证记录的有效性。
升级到付费版后,用户可以解锁以下高级功能:
输入:某次脚本输出的JSON
处理:
when = 1742428800000
where = sha256(output_bytes)[:12] # a7f3b2c1d4e5
what = "script-output-2025-03"
输出日志行:1742428800000,a7f3b2c1d4e5,script-output-2025-03
自评估结果:CAN
输入:某次事件缺少内容哈希
处理:when=1742428800000, where=null, what="incomplete-event"
自评估结果:NOT
日志仍追加该行,标注缺失项
| 错误场景 | 原因 | 处理方式 |
|---|---|---|
when为0或负数 | 时间戳未初始化 | 重新取当前Unix毫秒,须 > 0且 ≤ 当前时间 |
where非十六进制 | 哈希计算失败 | 重新对原始字节计算 sha256,确认编码一致 |
what为空字符串 | 未命名事件 | 赋予至少一个可搜索标签 |
| 哈希不匹配日志 | 内容被改动 | 免费版需手动比对;付费版自动告警 |
| 日志文件被锁定 | 并发写入冲突 | 采用append-only追加模式,必要时加文件锁 |
CAN不是区块链:无共识、无全局状态、无代币。它只是本地append-only三列日志,本质是索引。
xc.cx 端点吗?免费版以三问自评估为主。付费版提供端点校验与公共日志查阅。
不算。NOT是数据,表示某项缺失。记录NOT比只记录成功更诚实。
能记录,但跨管道编码规范化为付费版专享,免费版需手动确保编码一致。
参考 can 付费版SKILL.md,解锁评估端点、篡改告警、并行索引、OTS同步等能力。
WHEN 准确性受系统时钟影响。sha256。{
"success": true,
"data": {
"result": "CAN内容寻址-免费版处理结果",
"execution_time": "0.5s",
"metadata": {
"version": "1.0",
"processor": "can"
}
},
"execution_log": [
"解析输入参数",
"执行核心处理",
"格式化输出结果"
],
"error": null
}
为了更清晰地说明三列协议记录的细节,以下是对每个字段的详细解释:
when:记录事件的Unix时间戳(毫秒),确保时间戳不为0且不指向未来,以保证日志的准确性和顺序性。where:内容的SHA256哈希值,用于唯一标识内容,不依赖于文件系统结构,提高内容的安全性。what:人类可读的名称或标签,便于搜索和识别内容,同时提供额外的元数据信息。1742428800000,a7f3b2c1d4e5,test-entry
这里,1742428800000 是事件发生的时间戳,a7f3b2c1d4e5 是内容的SHA256哈希值,test-entry 是该事件的可读名称。
为了确保内容哈希校验的精确性,以下要点需要特别注意:
为了保证本地append-only日志的维护,以下要点需要遵循:
为了详细说明三问自评估的执行细节,以下是对每个问题的具体执行步骤:
WHEN: 有时间戳,符合要求。
WHERE: 有内容哈希,符合要求。
WHAT: 有可读名称,符合要求。
如果所有问题都得到肯定回答,则自评估结果为“CAN”,表示内容寻址成功。如果任何一个问题没有得到肯定回答,则自评估结果为“NOT”,表示内容寻址失败。
使用CAN免费版,用户可以节省大量时间在手动记录和验证内容上。例如,对于每天处理大量数据的用户,CAN免费版可以将数据处理时间缩短90%以上。
| 操作步骤 | 手动耗时 | 自动化耗时 | 时间节约 | 准确率提升 |
|---|---|---|---|---|
| 内容哈希计算 | 5分钟/条 | 0.5秒/条 | 4分50秒/条 | 100% |
| 时间戳获取 | 1分钟/条 | 0.1秒/条 | 59.9秒/条 | 100% |
| 日志记录 | 3分钟/条 | 0.3秒/条 | 2分59.7秒/条 | 100% |
| 内容检索 | 10分钟/次 | 1秒/次 | 9分59秒/次 | 100% |
| 内容验证 | 20分钟/次 | 2秒/次 | 19分58秒/次 | 100% |
| 对比维度 | 本技能 | 手动操作 | Python脚本 | 专业软件 |
|---|---|---|---|---|
| 操作便捷性 | 高 | 低 | 中 | 高 |
| 时间效率 | 高 | 低 | 中 | 高 |
| 准确性 | 高 | 低 | 中 | 高 |
| 安全性 | 高 | 低 | 中 | 高 |
| 成本 | 低 | 高 | 中 | 高 |
| 痛点 | 描述 | 影响范围 | 解决方案 | 量化效果 |
|---|---|---|---|---|
| 内容篡改 | 内容在传输或存储过程中可能被篡改,导致数据不一致。 | 数据完整性 | 内容哈希校验 | 100%数据完整性保障 |
| 内容检索困难 | 在大量内容中快速找到特定内容非常困难。 | 工作效率 | 三列记录和索引 | 90%检索效率提升 |
| 内容管理复杂 | 管理大量内容需要大量时间和精力。 | 工作效率 | 自动化日志记录和管理 | 80%管理效率提升 |
| 错误现象 | 可能原因 | 诊断步骤 | 解决方案 |
|---|---|---|---|
| 时间戳为0或负数 | 时间戳未初始化或错误获取。 | 检查时间戳生成逻辑,确认Unix时间戳是否正确。 | 重新获取时间戳,确保其不为0且不指向未来。 |
| 哈希值计算错误 | 内容编码不一致或哈希函数错误。 | 检查内容编码和哈希函数实现,确认其正确性。 | 重新计算哈希值,确保编码一致。 |
| 日志文件被锁定 | 并发写入导致文件锁定。 | 检查系统资源使用情况,确认是否有其他进程占用文件。 | 采用append-only模式或使用文件锁。 |
| 内容哈希不匹配 | 内容被篡改。 | 比对原始内容和哈希值,确认内容是否一致。 | 重新验证内容,必要时通知相关人员进行调查。 |
| 风险项 | 等级 | 防护措施 | 验证方法 |
|---|---|---|---|
| 命令执行风险 | 高 | 仅执行白名单命令,避免拼接用户输入 | 使用沙箱环境测试 |
| 网络通信安全 | 中 | 使用HTTPS协议,验证SSL证书 | 定期检查证书有效期 |
| 敏感数据暴露 | 高 | 输出结果中不包含密钥、令牌等敏感信息 | 日志脱敏审查 |
| 未授权访问 | 中 | 限制访问权限,实施认证机制 | 定期审计访问日志 |
PYTHONPATH 应指向包含CAN免费版模块的目录| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
hashlib | Python库 | 是 | Python标准库,无需额外安装 |
datetime | Python库 | 是 | Python标准库,无需额外安装 |
json | Python库 | 是 | Python标准库,无需额外安装 |
requests | Python库 | 否 | pip install requests 或 PyPI |
cryptography | Python库 | 否 | pip install cryptography 或 PyPI |
logging | Python库 | 否 | Python标准库,无需额外安装 |
os | Python库 | 否 | Python标准库,无需额外安装 |
A1: 基于时钟地址命名协议,对内容加盖时间戳与哈希,本地三列日志记录与自评估。CAN免费版提供基于Clock Address Naming的核心内容寻址能力. 每条事。支持文本指令和结构化参数输入,具体格式参考使用流程章节。
A2: 请确认运行环境满足依赖说明中的要求。CAN内容寻址-免费版基于Markdown指令驱动,无需额外安装包。
A3: 检查命令参数是否正确,确认运行环境支持exec能力。如遇权限问题,请参照错误处理章节排查。
针对CAN内容寻址-免费版使用中可能遇到的常见问题,提供以下排查方案:
| 错误类型 | 原因分析 | 解决方案 |
|---|---|---|
| API认证失败(401) | API密钥错误或过期 | 检查密钥配置,重新生成token |
| 接口限流(429) | 请求频率超出限制 | 降低调用频率,启用重试退避策略 |
| 响应超时(504) | 网络延迟或服务端负载过高 | 增加超时阈值,检查网络连接 |
| 文件不存在 | 路径错误或文件未创建 | 检查路径拼写,确认文件已生成 |
| 文件格式不支持 | 扩展名不在支持列表中 | 转换为支持的格式后重试 |
| 权限不足 | 当前用户无读写权限 | 检查文件权限,以管理员身份运行 |
| 命令执行失败 | 参数错误或环境依赖缺失 | 检查命令语法,确认依赖已安装 |
| 进程超时 | 命令执行时间过长 | 增加超时设置,优化命令参数 |
| 网络连接失败 | DNS解析失败或防火墙拦截 | 检查网络配置,确认代理设置 |