CAN — Clock Address Naming(免费版)
输入格式
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| input | string | 是 | CAN内容寻址-免费版处理的输入数据或指令 |
| options | object | 否 | 附加配置选项,如模式选择、格式偏好等 |
| callback_url | string | 否 | 异步处理完成后的回调通知URL |
解决的三个问题
从MCP工具、API、其他Agent拿到数据后,你存储了它,但:
- 无法证明它没被改动:你信任的是"某位置上的某文件",而非"某逻辑地址上的某内容".
- 无法快速找到它:只能按文件名、路径、文件夹搜索——这些命名都由别人决定.
- 不知道何时获取:时间戳是由别人控制的元数据.
一行三列的修复方案
WHEN unix毫秒 何时发生 1742428800000
WHERE sha256内容哈希 数学真相 a7f3b2c1d4e5
WHAT 人类可读名称 你的称呼 trust find-fast
WHEN= 你的时钟。整数。可排序。归你掌控.WHERE= 内容哈希。可验证。不依赖文件系统.WHAT= 你的标签。灵活。可搜索.
依赖说明
运行环境
- Agent平台: 支持SKILL.md的任意AI Agent(Claude Code / Cursor / Codex / Gemini CLI等)
- 操作系统: Windows / macOS / Linux
依赖项
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| LLM API | API | 必需 | 由Agent内置LLM提供 |
API Key 配置
需要配置对应API Key,详见上文环境配置章节
可用性分类
- 分类: MD+EXEC()
API Key配置方式:
export API_KEY="your_api_key_here"
配置后需重启会话或开启新终端生效。API Key应妥善保管,避免泄露到版本控制系统.
核心能力
解决的三个问题(补充)
输入: 用户提供解决的三个问题相关的配置参数、输入数据和处理选项. 处理: 解析解决的三个问题的输入参数,执行核心处理逻辑,返回结构化结果和执行状态. 输出: 返回解决的三个问题的处理结果,包含执行状态码、结果数据和执行日志.
一行三列的修复方案(补充)
WHEN unix毫秒 何时发生 1742428800000
WHERE sha256内容哈希 数学真相 a7f3b2c1d4e5
WHAT 人类可读名称 你的称呼 trust find-fast
WHEN= 你的时钟。整数。可排序。归你掌控.
输入: 用户提供一行三列的修复方案相关的配置参数、输入数据和处理选项. 处理: 解析一行三列的修复方案的输入参数,执行核心处理逻辑,返回结构化结果和执行状态. 输出: 返回一行三列的修复方案的处理结果,包含执行状态码、结果数据和执行日志.
核心能力(免费版)
输入: 用户提供核心能力(免费版)所需的指令和必要参数. 处理: 解析核心能力(免费版)的输入参数,执行核心处理逻辑,返回结构化结果和执行状态. 输出: 返回核心能力(免费版)的处理结果,包含执行状态码、结果数据和执行日志。- 验证返回数据的完整性和格式正确性
- 参考
核心能力(免费版)的配置文档进行参数调优
1. 三列协议记录
每事件追加一行到本地日志,三列固定结构:
1742428800000,a7f3b2c1d4e5,test-entry
字段规则:
when:unix毫秒。不可为未来时间。不可为0.where:十六进制字符串。建议使用完整sha256.what:非空字符串. 处理: 解析三列协议记录的输入参数,执行核心处理逻辑,返回结构化结果和执行状态. 输出: 返回三列协议记录的处理结果,包含执行状态码、结果数据和执行日志.
2. 内容哈希校验
对内容字节流计算 `sha
输入: 用户提供核心能力(免费版)相关的配置参数、输入数据和处理选项. 处理: 解析核心能力(免费版)的输入参数,执行核心处理逻辑,返回结构化结果和执行状态. 输出: 返回核心能力(免费版)的处理结果,包含执行状态码、结果数据和执行日志。- 验证返回数据的完整性和格式正确性
- 参考
内容哈希校验的配置文档进行参数调优
付费版专享能力
升级付费版解锁以下高级能力:
- 评估端点校验:POST到
https://xc.cx/can/evaluate,由服务端确认CAN/NOT状态. - 公共日志查阅:通过
https://xc.cx/can/log查看公共日志. - 篡改证明告警:内容哈希不匹配时自动触发差异行记录与告警.
- 并行索引:在不破坏现有路径命名的前提下,为同一内容提供更
处理: 解析付费版专享能力的输入参数,执行核心处理逻辑,返回结构化结果和执行状态. 输出: 返回付费版专享能力的处理结果,包含执行状态码、结果数据和执行日志.
核心能力(免费版)(补充)
1. 三列协议记录(补充)
每事件追加一行到本地日志,三列固定结构:
1742428800000,a7f3b2c1d4e5,test-entry
2. 内容哈希校验(补充)
对内容字节流计算 sha256,以哈希匹配判断"同一内容"。哈希匹配 → 同一事物,无论它在哪个文件夹.
3. 本地append-only日志
日志仅追加不修改,保证审计完整性。你的日志就是你的审计轨迹.
4. 三问自评估
我有unix时间戳吗? → WHEN
我有内容哈希吗? → WHERE
我有可读名称吗? → WHAT
三者齐备? → CAN
缺任一项? → NOT
NOT是数据而非失败:记录缺失项的尝试,比只记录成功更诚实.
使用流程
- 获取事件:从MCP工具、API或脚本输出得到内容载荷.
- 计算WHERE:对内容计算
sha256,取完整哈希或片段. - 记录WHEN:取当前
unix毫秒,确保不为0、不为未来时间. - 命名WHAT:赋予人类可读名称.
- 追加日志:将三列追加到本地日志文件.
- 三问自检:用自评估确认记录有效.
示例
示例1:为基础事件盖章
输入:某次脚本输出的JSON
处理:
when = 1742428800000
where = sha256(output_bytes)[:12] # a7f3b2c1d4e5
what = "script-output-2025-03"
输出日志行:1742428800000,a7f3b2c1d4e5,script-output-2025-03
自评估结果:CAN
示例2:NOT记录
输入:某次事件缺少内容哈希
处理:when=1742428800000, where=null, what="incomplete-event"
自评估结果:NOT
日志仍追加该行,标注缺失项
付费版专享能力(补充)
升级付费版解锁以下高级能力:
- 评估端点校验:POST到
https://xc.cx/can/evaluate,由服务端确认CAN/NOT状态. - 公共日志查阅:通过
https://xc.cx/can/log查看公共日志. - 篡改证明告警:内容哈希不匹配时自动触发差异行记录与告警.
- 并行索引:在不破坏现有路径命名的前提下,为同一内容提供更优逻辑命名.
- OTS时间戳同步:与OpenTimestamps锚定,提供外部可验证的时间证明.
- 跨管道编码规范化:自动统一MCP工具响应、A2A消息、curl输出的编码,避免同内容不同哈希.
- 按哈希秒级查找:无需目录遍历,按哈希检索日志即可定位内容.
错误处理
| 错误场景 | 原因 | 处理方式 |
|---|---|---|
when为0或负数 | 时间戳未初始化 | 重新取当前unix毫秒,须 > 0且 ≤ 当前时间 |
where非十六进制 | 哈希计算失败 | 重新对原始字节计算 sha256,确认编码一致 |
what为空字符串 | 未命名事件 | 赋予至少一个可搜索标签 |
| 哈希不匹配日志 | 内容被改动 | 免费版需手动比对;付费版自动告警 |
| 日志文件被锁定 | 并发写入冲突 | 采用append-only追加模式,必要时加文件锁 |
常见问题
Q1:CAN与区块链有何区别?
CAN不是区块链:无共识、无全局状态、无代币。它只是本地append-only三列日志,本质是索引.
Q2:必须用 xc.cx 端点吗?
免费版以三问自评估为主。付费版提供端点校验与公共日志查阅.
Q3:NOT算失败吗?
不算。NOT是数据,表示某项缺失。记录NOT比只记录成功更诚实.
Q4:免费版能用于MCP工具响应吗?
能记录,但跨管道编码规范化为付费版专享,免费版需手动确保编码一致.
Q5:如何升级到付费版?
参考 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
}
评论
加载中…